Skip to content

Commit 2a6ea57

Browse files
committed
move into if makro
1 parent 9932b75 commit 2a6ea57

File tree

2 files changed

+90
-90
lines changed

2 files changed

+90
-90
lines changed

cpp/tests/test_odesecirts.cpp

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,6 +1073,54 @@ TEST(TestOdeSECIRTS, model_initialization)
10731073
MatrixNear(print_wrap(expected_values), 1e-5, 1e-5));
10741074
}
10751075

1076+
TEST(TestOdeSECIRTS, set_vaccination_data_not_avail)
1077+
{
1078+
const auto num_age_groups = 2;
1079+
const auto num_days = 5;
1080+
mio::osecirts::Model<double> model(num_age_groups);
1081+
std::vector<mio::osecirts::Model<double>> model_vector = {model};
1082+
1083+
// Setup initial non-zero vaccination data
1084+
auto& params = model_vector[0].parameters;
1085+
params.get<mio::osecirts::DailyPartialVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1086+
params.get<mio::osecirts::DailyFullVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1087+
params.get<mio::osecirts::DailyBoosterVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1088+
1089+
const double initial_partial_vacc_val = 10.0;
1090+
const double initial_full_vacc_val = 5.0;
1091+
const double initial_booster_vacc_val = 2.0;
1092+
1093+
for (auto g = mio::AgeGroup(0); g < mio::AgeGroup(num_age_groups); ++g) {
1094+
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1095+
params.get<mio::osecirts::DailyPartialVaccinations<double>>()[{g, d}] = initial_partial_vacc_val;
1096+
params.get<mio::osecirts::DailyFullVaccinations<double>>()[{g, d}] = initial_full_vacc_val;
1097+
params.get<mio::osecirts::DailyBoosterVaccinations<double>>()[{g, d}] = initial_booster_vacc_val;
1098+
}
1099+
}
1100+
1101+
// call set_vaccination_data with an unavailable date
1102+
mio::Date unavailable_date(2019, 1, 1); // Date before vaccinations started
1103+
std::vector<int> region = {1001};
1104+
std::string any_path = "dummy_vacc_path.json";
1105+
1106+
auto result =
1107+
mio::osecirts::details::set_vaccination_data(model_vector, any_path, unavailable_date, region, num_days);
1108+
1109+
ASSERT_THAT(result, IsSuccess());
1110+
1111+
// Check that vaccinations are set to zero for all days and age groups
1112+
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1113+
for (auto a = mio::AgeGroup(0); a < mio::AgeGroup(num_age_groups); ++a) {
1114+
auto partial_vacc = params.get<mio::osecirts::DailyPartialVaccinations<double>>()[{a, d}];
1115+
auto full_vacc = params.get<mio::osecirts::DailyFullVaccinations<double>>()[{a, d}];
1116+
auto booster_vacc = params.get<mio::osecirts::DailyBoosterVaccinations<double>>()[{a, d}];
1117+
EXPECT_NEAR(partial_vacc, 0.0, 1e-10);
1118+
EXPECT_NEAR(full_vacc, 0.0, 1e-10);
1119+
EXPECT_NEAR(booster_vacc, 0.0, 1e-10);
1120+
}
1121+
}
1122+
}
1123+
10761124
#endif
10771125

10781126
TEST(TestOdeSECIRTS, parameter_percentiles)
@@ -1587,51 +1635,3 @@ TEST(TestOdeSECIRTS, apply_variant_function)
15871635
sim.get_model().parameters.get<mio::osecirts::TransmissionProbabilityOnContact<double>>()[mio::AgeGroup(0)],
15881636
0.4, 1e-10);
15891637
}
1590-
1591-
TEST(TestOdeSECIRTS, set_vaccination_data_not_avail)
1592-
{
1593-
const auto num_age_groups = 2;
1594-
const auto num_days = 5;
1595-
mio::osecirts::Model<double> model(num_age_groups);
1596-
std::vector<mio::osecirts::Model<double>> model_vector = {model};
1597-
1598-
// Setup initial non-zero vaccination data
1599-
auto& params = model_vector[0].parameters;
1600-
params.get<mio::osecirts::DailyPartialVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1601-
params.get<mio::osecirts::DailyFullVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1602-
params.get<mio::osecirts::DailyBoosterVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1603-
1604-
const double initial_partial_vacc_val = 10.0;
1605-
const double initial_full_vacc_val = 5.0;
1606-
const double initial_booster_vacc_val = 2.0;
1607-
1608-
for (auto g = mio::AgeGroup(0); g < mio::AgeGroup(num_age_groups); ++g) {
1609-
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1610-
params.get<mio::osecirts::DailyPartialVaccinations<double>>()[{g, d}] = initial_partial_vacc_val;
1611-
params.get<mio::osecirts::DailyFullVaccinations<double>>()[{g, d}] = initial_full_vacc_val;
1612-
params.get<mio::osecirts::DailyBoosterVaccinations<double>>()[{g, d}] = initial_booster_vacc_val;
1613-
}
1614-
}
1615-
1616-
// call set_vaccination_data with an unavailable date
1617-
mio::Date unavailable_date(2019, 1, 1); // Date before vaccinations started
1618-
std::vector<int> region = {1001};
1619-
std::string any_path = "dummy_vacc_path.json";
1620-
1621-
auto result =
1622-
mio::osecirts::details::set_vaccination_data(model_vector, any_path, unavailable_date, region, num_days);
1623-
1624-
ASSERT_THAT(result, IsSuccess());
1625-
1626-
// Check that vaccinations are set to zero for all days and age groups
1627-
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1628-
for (auto a = mio::AgeGroup(0); a < mio::AgeGroup(num_age_groups); ++a) {
1629-
auto partial_vacc = params.get<mio::osecirts::DailyPartialVaccinations<double>>()[{a, d}];
1630-
auto full_vacc = params.get<mio::osecirts::DailyFullVaccinations<double>>()[{a, d}];
1631-
auto booster_vacc = params.get<mio::osecirts::DailyBoosterVaccinations<double>>()[{a, d}];
1632-
EXPECT_NEAR(partial_vacc, 0.0, 1e-10);
1633-
EXPECT_NEAR(full_vacc, 0.0, 1e-10);
1634-
EXPECT_NEAR(booster_vacc, 0.0, 1e-10);
1635-
}
1636-
}
1637-
}

cpp/tests/test_odesecirvvs.cpp

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,48 @@ TEST(TestOdeSECIRVVS, run_simulation)
10831083
ASSERT_THAT(print_wrap(result.matrix()), MatrixNear(print_wrap(expected_result.matrix()), 1e-5, 1e-5));
10841084
}
10851085

1086+
TEST(TestOdeSECIRVVS, set_vaccination_data_not_avail)
1087+
{
1088+
const auto num_age_groups = 2;
1089+
const auto num_days = 5;
1090+
mio::osecirvvs::Model<double> model(num_age_groups);
1091+
std::vector<mio::osecirvvs::Model<double>> model_vector = {model};
1092+
1093+
// Setup initial non-zero vaccination data
1094+
auto& params = model_vector[0].parameters;
1095+
params.get<mio::osecirvvs::DailyPartialVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1096+
params.get<mio::osecirvvs::DailyFullVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1097+
1098+
const double initial_partial_vacc_val = 10.0;
1099+
const double initial_full_vacc_val = 5.0;
1100+
1101+
for (auto g = mio::AgeGroup(0); g < mio::AgeGroup(num_age_groups); ++g) {
1102+
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1103+
params.get<mio::osecirvvs::DailyPartialVaccinations<double>>()[{g, d}] = initial_partial_vacc_val;
1104+
params.get<mio::osecirvvs::DailyFullVaccinations<double>>()[{g, d}] = initial_full_vacc_val;
1105+
}
1106+
}
1107+
1108+
// call set_vaccination_data with an unavailable date
1109+
mio::Date unavailable_date(2019, 1, 1); // Date before vaccinations started
1110+
std::vector<int> region = {1001};
1111+
std::string any_path = "dummy_vacc_path.json";
1112+
auto result =
1113+
mio::osecirvvs::details::set_vaccination_data(model_vector, any_path, unavailable_date, region, num_days);
1114+
1115+
ASSERT_THAT(result, IsSuccess());
1116+
1117+
// Check that vaccinations are set to zero for all days and age groups
1118+
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1119+
for (auto a = mio::AgeGroup(0); a < mio::AgeGroup(num_age_groups); ++a) {
1120+
auto partial_vacc = params.get<mio::osecirvvs::DailyPartialVaccinations<double>>()[{a, d}];
1121+
auto full_vacc = params.get<mio::osecirvvs::DailyFullVaccinations<double>>()[{a, d}];
1122+
EXPECT_NEAR(partial_vacc, 0.0, 1e-10);
1123+
EXPECT_NEAR(full_vacc, 0.0, 1e-10);
1124+
}
1125+
}
1126+
}
1127+
10861128
#endif
10871129

10881130
TEST(TestOdeSECIRVVS, parameter_percentiles)
@@ -1581,45 +1623,3 @@ TEST(TestOdeSECIRVVS, apply_variant_function)
15811623
sim.get_model().parameters.get<mio::osecirvvs::TransmissionProbabilityOnContact<double>>()[mio::AgeGroup(0)],
15821624
0.4, 1e-10);
15831625
}
1584-
1585-
TEST(TestOdeSECIRVVS, set_vaccination_data_not_avail)
1586-
{
1587-
const auto num_age_groups = 2;
1588-
const auto num_days = 5;
1589-
mio::osecirvvs::Model<double> model(num_age_groups);
1590-
std::vector<mio::osecirvvs::Model<double>> model_vector = {model};
1591-
1592-
// Setup initial non-zero vaccination data
1593-
auto& params = model_vector[0].parameters;
1594-
params.get<mio::osecirvvs::DailyPartialVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1595-
params.get<mio::osecirvvs::DailyFullVaccinations<double>>().resize(mio::SimulationDay(num_days + 1));
1596-
1597-
const double initial_partial_vacc_val = 10.0;
1598-
const double initial_full_vacc_val = 5.0;
1599-
1600-
for (auto g = mio::AgeGroup(0); g < mio::AgeGroup(num_age_groups); ++g) {
1601-
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1602-
params.get<mio::osecirvvs::DailyPartialVaccinations<double>>()[{g, d}] = initial_partial_vacc_val;
1603-
params.get<mio::osecirvvs::DailyFullVaccinations<double>>()[{g, d}] = initial_full_vacc_val;
1604-
}
1605-
}
1606-
1607-
// call set_vaccination_data with an unavailable date
1608-
mio::Date unavailable_date(2019, 1, 1); // Date before vaccinations started
1609-
std::vector<int> region = {1001};
1610-
std::string any_path = "dummy_vacc_path.json";
1611-
auto result =
1612-
mio::osecirvvs::details::set_vaccination_data(model_vector, any_path, unavailable_date, region, num_days);
1613-
1614-
ASSERT_THAT(result, IsSuccess());
1615-
1616-
// Check that vaccinations are set to zero for all days and age groups
1617-
for (auto d = mio::SimulationDay(0); d < mio::SimulationDay(num_days + 1); ++d) {
1618-
for (auto a = mio::AgeGroup(0); a < mio::AgeGroup(num_age_groups); ++a) {
1619-
auto partial_vacc = params.get<mio::osecirvvs::DailyPartialVaccinations<double>>()[{a, d}];
1620-
auto full_vacc = params.get<mio::osecirvvs::DailyFullVaccinations<double>>()[{a, d}];
1621-
EXPECT_NEAR(partial_vacc, 0.0, 1e-10);
1622-
EXPECT_NEAR(full_vacc, 0.0, 1e-10);
1623-
}
1624-
}
1625-
}

0 commit comments

Comments
 (0)