From 35cf9bd422880ff6da94c388ddf93805c3f924fd Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Wed, 24 Apr 2019 18:40:47 -0400 Subject: [PATCH] Fix bug and test remove demand --- src/epanet.c | 2 +- tests/test_demand.cpp | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/epanet.c b/src/epanet.c index 02047c4..3419097 100644 --- a/src/epanet.c +++ b/src/epanet.c @@ -2560,7 +2560,7 @@ int DLLEXPORT EN_removedemand(EN_Project p, int node_index, int demand_key) list_t *dlist = Node[node_index].D; - remove_node(dlist, search_list(dlist, demand_key)); + remove_node(dlist, demand_key); return 0; } diff --git a/tests/test_demand.cpp b/tests/test_demand.cpp index 1f8ead4..80bf042 100644 --- a/tests/test_demand.cpp +++ b/tests/test_demand.cpp @@ -84,7 +84,7 @@ BOOST_AUTO_TEST_CASE(test_categories_reopen, * boost::unit_test::depends_on("tes BOOST_FIXTURE_TEST_CASE(test_adddemand, FixtureSingleNode) { - int demand_key; + int key, demand_key; error = EN_adddemand(ph, node_qhut, 100.0, "PrimaryPattern", "PrimaryDemand", &demand_key); BOOST_CHECK(error != 0); @@ -94,6 +94,21 @@ BOOST_FIXTURE_TEST_CASE(test_adddemand, FixtureSingleNode) error = EN_adddemand(ph, node_qhut, 100.0, "PrimaryPattern", "PrimaryDemand", &demand_key); BOOST_CHECK(error == 0); + + error = EN_addpattern(ph, (char *)"SecondaryPattern"); + BOOST_REQUIRE(error == 0); + + error = EN_adddemand(ph, node_qhut, 10.0, "SecondaryPattern", "SecondaryDemand", &key); + BOOST_CHECK(error == 0); + + error = EN_addpattern(ph, (char *)"TertiaryPattern"); + BOOST_REQUIRE(error == 0); + + error = EN_adddemand(ph, node_qhut, 1.0, "TertiaryPattern", "TertiaryDemand", &demand_key); + BOOST_CHECK(error == 0); + + error = EN_removedemand(ph, node_qhut, key); + BOOST_CHECK(error == 0); }