Update test_demand_data.cpp

Adding index to addnode calls. Fixing indent
This commit is contained in:
michaeltryby
2019-04-22 13:37:41 -04:00
parent f19d43d3a4
commit a0048b7b09

View File

@@ -1,14 +1,14 @@
/* /*
****************************************************************************** ******************************************************************************
Project: OWA EPANET Project: OWA EPANET
Version: 2.2 Version: 2.2
Module: /test_demand_data.cpp Module: /test_demand_data.cpp
Description: tests demand data list node struct Description: tests demand data list node struct
Authors: see AUTHORS Authors: see AUTHORS
Copyright: see AUTHORS Copyright: see AUTHORS
License: see LICENSE License: see LICENSE
Last Updated: 04/18/2019 Last Updated: 04/18/2019
****************************************************************************** ******************************************************************************
*/ */
#define BOOST_TEST_MODULE demand_data #define BOOST_TEST_MODULE demand_data
@@ -26,10 +26,10 @@
boost::test_tools::predicate_result check_string(std::string test, std::string ref) boost::test_tools::predicate_result check_string(std::string test, std::string ref)
{ {
if (ref.compare(test) == 0) if (ref.compare(test) == 0)
return true; return true;
else else
return false; return false;
} }
@@ -38,12 +38,12 @@ BOOST_AUTO_TEST_SUITE(test_demand_data)
BOOST_AUTO_TEST_CASE(test_create_destroy_demand_list) BOOST_AUTO_TEST_CASE(test_create_destroy_demand_list)
{ {
list_t *dlist; list_t *dlist;
dlist = create_demand_list(100.0, 1, "CUB_SCOUT_DAY_CAMP"); dlist = create_demand_list(100.0, 1, "CUB_SCOUT_DAY_CAMP");
BOOST_CHECK(dlist != NULL); BOOST_CHECK(dlist != NULL);
delete_list(dlist); delete_list(dlist);
} }
@@ -56,117 +56,117 @@ BOOST_AUTO_TEST_CASE (test_create_destroy)
delete_demand_data(&data); delete_demand_data(&data);
data = NULL; data = NULL;
data = create_demand_data(100.0, 1, "CUB_SCOUT_BASE_CAMP"); data = create_demand_data(100.0, 1, "CUB_SCOUT_BASE_CAMP");
BOOST_CHECK(data != NULL); BOOST_CHECK(data != NULL);
delete_demand_data(&data); delete_demand_data(&data);
} }
BOOST_AUTO_TEST_CASE(test_get_size) BOOST_AUTO_TEST_CASE(test_get_size)
{ {
size_t size = get_demand_data_size(); size_t size = get_demand_data_size();
BOOST_CHECK(size == sizeof(demand_data_t *)); BOOST_CHECK(size == sizeof(demand_data_t *));
} }
struct Fixture { struct Fixture {
Fixture() { Fixture() {
_data = NULL; _data = NULL;
dlist = NULL; dlist = NULL;
dlist = create_list(get_demand_data_size(), delete_demand_data); dlist = create_list(get_demand_data_size(), delete_demand_data);
_data = create_demand_data(100.0, 1, "CUB_SCOUT_BASE_CAMP"); _data = create_demand_data(100.0, 1, "CUB_SCOUT_BASE_CAMP");
append_list(dlist, &_data); append_list(dlist, &_data);
} }
~Fixture() { ~Fixture() {
delete_list(dlist); delete_list(dlist);
} }
demand_data_t *_data; demand_data_t *_data;
list_t *dlist; list_t *dlist;
}; };
BOOST_FIXTURE_TEST_CASE(test_demand_list, Fixture) BOOST_FIXTURE_TEST_CASE(test_demand_list, Fixture)
{ {
list_node_t *lnode = head_list(dlist, false); list_node_t *lnode = head_list(dlist, false);
BOOST_CHECK(lnode != NULL); BOOST_CHECK(lnode != NULL);
} }
BOOST_FIXTURE_TEST_CASE(test_demand_getset, Fixture) BOOST_FIXTURE_TEST_CASE(test_demand_getset, Fixture)
{ {
list_node_t *lnode = head_list(dlist, false); list_node_t *lnode = head_list(dlist, false);
double demand; double demand;
demand = get_base_demand(lnode); demand = get_base_demand(lnode);
BOOST_CHECK(demand == 100.0); BOOST_CHECK(demand == 100.0);
set_base_demand(lnode, 200.0); set_base_demand(lnode, 200.0);
demand = get_base_demand(lnode); demand = get_base_demand(lnode);
BOOST_CHECK(demand == 200.0); BOOST_CHECK(demand == 200.0);
} }
BOOST_FIXTURE_TEST_CASE(test_pattern_getset, Fixture) BOOST_FIXTURE_TEST_CASE(test_pattern_getset, Fixture)
{ {
list_node_t *lnode = head_list(dlist, false); list_node_t *lnode = head_list(dlist, false);
int index; int index;
index = get_pattern_index(lnode); index = get_pattern_index(lnode);
BOOST_CHECK(index == 1); BOOST_CHECK(index == 1);
set_pattern_index(lnode, 2); set_pattern_index(lnode, 2);
index = get_pattern_index(lnode); index = get_pattern_index(lnode);
BOOST_CHECK(index == 2); BOOST_CHECK(index == 2);
} }
BOOST_FIXTURE_TEST_CASE(test_category_getset, Fixture) BOOST_FIXTURE_TEST_CASE(test_category_getset, Fixture)
{ {
list_node_t *lnode = head_list(dlist, false); list_node_t *lnode = head_list(dlist, false);
char *name = NULL; char *name = NULL;
name = get_category_name(lnode); name = get_category_name(lnode);
BOOST_CHECK(check_string(name, (char *)"CUB_SCOUT_BASE_CAMP")); BOOST_CHECK(check_string(name, (char *)"CUB_SCOUT_BASE_CAMP"));
free(name); free(name);
name = NULL; name = NULL;
set_category_name(lnode, (char *)"CUB_SCOUT_COMMAND"); set_category_name(lnode, (char *)"CUB_SCOUT_COMMAND");
name = get_category_name(lnode); name = get_category_name(lnode);
BOOST_CHECK(check_string(name, "CUB_SCOUT_COMMAND")); BOOST_CHECK(check_string(name, "CUB_SCOUT_COMMAND"));
free(name); free(name);
} }
BOOST_FIXTURE_TEST_CASE(test_convert_demand, Fixture) BOOST_FIXTURE_TEST_CASE(test_convert_demand, Fixture)
{ {
list_node_t *lnode = head_list(dlist, false); list_node_t *lnode = head_list(dlist, false);
BOOST_CHECK(lnode != NULL); BOOST_CHECK(lnode != NULL);
// 100.0 GPM == 6.31 LPS // 100.0 GPM == 6.31 LPS
convert_units(lnode, 15.850); convert_units(lnode, 15.850);
double demand = get_base_demand(lnode); double demand = get_base_demand(lnode);
BOOST_TEST(demand == 6.31, boost::test_tools::tolerance(0.01)); BOOST_TEST(demand == 6.31, boost::test_tools::tolerance(0.01));
} }
BOOST_AUTO_TEST_CASE(test_initclose) BOOST_AUTO_TEST_CASE(test_initclose)
{ {
int error; int error;
EN_Project ph = NULL; EN_Project ph = NULL;
EN_createproject(&ph); EN_createproject(&ph);
error = EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); error = EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_close(ph); error = EN_close(ph);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
EN_deleteproject(&ph); EN_deleteproject(&ph);
} }
@@ -177,116 +177,116 @@ BOOST_AUTO_TEST_CASE(test_initclose)
struct FixtureSingleNode { struct FixtureSingleNode {
FixtureSingleNode() { FixtureSingleNode() {
error = 0; error = 0;
ph = NULL; ph = NULL;
EN_createproject(&ph); EN_createproject(&ph);
EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW);
EN_addnode(ph, (char *)"CUB_SCOUT_QUONSET_HUT", EN_JUNCTION); EN_addnode(ph, (char *)"CUB_SCOUT_QUONSET_HUT", EN_JUNCTION, &node_qhut);
EN_getnodeindex(ph, (char *)"CUB_SCOUT_QUONSET_HUT", &node_qhut); //EN_getnodeindex(ph, (char *)"CUB_SCOUT_QUONSET_HUT", &node_qhut);
} }
~FixtureSingleNode() { ~FixtureSingleNode() {
EN_close(ph); EN_close(ph);
EN_deleteproject(&ph); EN_deleteproject(&ph);
} }
int error, node_qhut; int error, index, node_qhut;
EN_Project ph; EN_Project ph;
}; };
BOOST_FIXTURE_TEST_CASE(test_single_node, FixtureSingleNode) BOOST_FIXTURE_TEST_CASE(test_single_node, FixtureSingleNode)
{ {
int demand_idx, pattern_idx, n; int demand_idx, pattern_idx, n;
double demand; double demand;
error = EN_getnumdemands(ph, node_qhut, &n); error = EN_getnumdemands(ph, node_qhut, &n);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
BOOST_CHECK(n == 0); BOOST_CHECK(n == 0);
demand_idx = 1; demand_idx = 1;
error = EN_getbasedemand(ph, node_qhut, demand_idx, &demand); error = EN_getbasedemand(ph, node_qhut, demand_idx, &demand);
BOOST_REQUIRE(error == 253); BOOST_REQUIRE(error == 253);
error = EN_getdemandpattern(ph, node_qhut, demand_idx, &pattern_idx);
BOOST_REQUIRE(error == 253);
char demname[31]; error = EN_getdemandpattern(ph, node_qhut, demand_idx, &pattern_idx);
error = EN_getdemandname(ph, node_qhut, demand_idx, demname); BOOST_REQUIRE(error == 253);
BOOST_REQUIRE(error == 253);
BOOST_CHECK(check_string(demname, "\0"));
error = EN_setbasedemand(ph, node_qhut, demand_idx, 100.0); char demname[31];
BOOST_REQUIRE(error == 0); error = EN_getdemandname(ph, node_qhut, demand_idx, demname);
BOOST_REQUIRE(error == 253);
BOOST_CHECK(check_string(demname, "\0"));
// only one demand category error = EN_setbasedemand(ph, node_qhut, demand_idx, 100.0);
pattern_idx = 1; BOOST_REQUIRE(error == 0);
error = EN_setdemandpattern(ph, node_qhut, demand_idx, pattern_idx);
BOOST_REQUIRE(error == 205);
// create pattern // only one demand category
error = EN_addpattern(ph, (char *)"Pat2"); pattern_idx = 1;
BOOST_REQUIRE(error == 0); error = EN_setdemandpattern(ph, node_qhut, demand_idx, pattern_idx);
error = EN_getpatternindex(ph, (char *)"Pat2", &pattern_idx); BOOST_REQUIRE(error == 205);
BOOST_REQUIRE(error == 0);
error = EN_setdemandpattern(ph, node_qhut, demand_idx, pattern_idx); // create pattern
BOOST_REQUIRE(error == 0); error = EN_addpattern(ph, (char *)"Pat2");
BOOST_REQUIRE(error == 0);
error = EN_getpatternindex(ph, (char *)"Pat2", &pattern_idx);
BOOST_REQUIRE(error == 0);
error = EN_setdemandname(ph, node_qhut, demand_idx, (char *)"CUB_SCOUT_MESS_HALL"); error = EN_setdemandpattern(ph, node_qhut, demand_idx, pattern_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_setdemandname(ph, node_qhut, demand_idx, (char *)"CUB_SCOUT_MESS_HALL");
BOOST_REQUIRE(error == 0);
} }
BOOST_FIXTURE_TEST_CASE(test_pattern_edits, FixtureSingleNode) BOOST_FIXTURE_TEST_CASE(test_pattern_edits, FixtureSingleNode)
{ {
int n, node_cpoint, pat2_idx, pat3_idx; int n, node_cpoint, pat2_idx, pat3_idx;
EN_addnode(ph, (char *)"CUB_SCOUT_CHECKPOINT", EN_JUNCTION); EN_addnode(ph, (char *)"CUB_SCOUT_CHECKPOINT", EN_JUNCTION, &node_cpoint);
EN_getnodeindex(ph, (char *)"CUB_SCOUT_CHECKPOINT", &node_cpoint); //EN_getnodeindex(ph, (char *)"CUB_SCOUT_CHECKPOINT", &node_cpoint);
// Add 2 new patterns // Add 2 new patterns
error = EN_addpattern(ph, (char *)"DefPat"); error = EN_addpattern(ph, (char *)"DefPat");
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_addpattern(ph, (char *)"Pat2"); error = EN_addpattern(ph, (char *)"Pat2");
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_getpatternindex(ph, (char *)"Pat2", &pat2_idx); error = EN_getpatternindex(ph, (char *)"Pat2", &pat2_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_addpattern(ph, (char *)"Pat3"); error = EN_addpattern(ph, (char *)"Pat3");
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_getpatternindex(ph, (char *)"Pat3", &pat3_idx); error = EN_getpatternindex(ph, (char *)"Pat3", &pat3_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
double f2[] = { 2.1, 2.2 }; double f2[] = { 2.1, 2.2 };
double f3[] = { 3.1, 3.2, 3.3, 3.4 }; double f3[] = { 3.1, 3.2, 3.3, 3.4 };
error = EN_setpattern(ph, pat2_idx, f2, 2); error = EN_setpattern(ph, pat2_idx, f2, 2);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_setpattern(ph, pat3_idx, f3, 4); error = EN_setpattern(ph, pat3_idx, f3, 4);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
// Assign Pat3 to 3rd junction // Assign Pat3 to 3rd junction
error = EN_setdemandpattern(ph, node_cpoint, 1, pat3_idx); error = EN_setdemandpattern(ph, node_cpoint, 1, pat3_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
// Delete Pat2 // Delete Pat2
error = EN_deletepattern(ph, pat2_idx); error = EN_deletepattern(ph, pat2_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
//Check that there are now 2 patterns //Check that there are now 2 patterns
error = EN_getcount(ph, EN_PATCOUNT, &n); error = EN_getcount(ph, EN_PATCOUNT, &n);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
BOOST_CHECK(n == 2); BOOST_CHECK(n == 2);
// Check that Pat3 with 4 factors is still assigned to 3rd junction // Check that Pat3 with 4 factors is still assigned to 3rd junction
error = EN_getdemandpattern(ph, node_cpoint, 1, &pat3_idx); error = EN_getdemandpattern(ph, node_cpoint, 1, &pat3_idx);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
error = EN_getpatternlen(ph, pat3_idx, &n); error = EN_getpatternlen(ph, pat3_idx, &n);
BOOST_REQUIRE(error == 0); BOOST_REQUIRE(error == 0);
BOOST_CHECK(n == 4); BOOST_CHECK(n == 4);
} }