Return object index from EN_addnode and EN_addlink (issue #432)
Adds an output argument to EN_addnode and EN_addlink that returns the index of the newly added object. Also refactors the validity check on object ID names.
This commit is contained in:
@@ -128,7 +128,7 @@ BOOST_FIXTURE_TEST_CASE(test_build_net1, FixtureInitClose)
|
||||
//BOOST_REQUIRE(error == 0);
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
error = EN_addnode(ph, juncs[i], EN_JUNCTION);
|
||||
error = EN_addnode(ph, juncs[i], EN_JUNCTION, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_setnodevalue(ph, i + 1, EN_ELEVATION, e[i]);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
@@ -141,14 +141,14 @@ BOOST_FIXTURE_TEST_CASE(test_build_net1, FixtureInitClose)
|
||||
//error = EN_setdemandpattern(ph, i + 1, 1, 1);
|
||||
//BOOST_REQUIRE(error == 0);
|
||||
}
|
||||
error = EN_addnode(ph, (char *)"9", EN_RESERVOIR);
|
||||
error = EN_addnode(ph, (char *)"9", EN_RESERVOIR, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_setcoord(ph, 10, 10, 70);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_setnodevalue(ph, 10, EN_ELEVATION, 800);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
|
||||
error = EN_addnode(ph, (char *)"2", EN_TANK);
|
||||
error = EN_addnode(ph, (char *)"2", EN_TANK, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_setcoord(ph, 11, 50, 90);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
@@ -165,29 +165,29 @@ BOOST_FIXTURE_TEST_CASE(test_build_net1, FixtureInitClose)
|
||||
error = EN_setnodevalue(ph, 11, EN_MIXFRACTION, 1);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
|
||||
error = EN_addlink(ph, (char *)"10", EN_PIPE, (char *)"10", (char *)"11");
|
||||
error = EN_addlink(ph, (char *)"10", EN_PIPE, (char *)"10", (char *)"11", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"11", EN_PIPE, (char *)"11", (char *)"12");
|
||||
error = EN_addlink(ph, (char *)"11", EN_PIPE, (char *)"11", (char *)"12", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"12", EN_PIPE, (char *)"12", (char *)"13");
|
||||
error = EN_addlink(ph, (char *)"12", EN_PIPE, (char *)"12", (char *)"13", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"21", EN_PIPE, (char *)"21", (char *)"22");
|
||||
error = EN_addlink(ph, (char *)"21", EN_PIPE, (char *)"21", (char *)"22", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"22", EN_PIPE, (char *)"22", (char *)"23");
|
||||
error = EN_addlink(ph, (char *)"22", EN_PIPE, (char *)"22", (char *)"23", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"31", EN_PIPE, (char *)"31", (char *)"32");
|
||||
error = EN_addlink(ph, (char *)"31", EN_PIPE, (char *)"31", (char *)"32", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"110", EN_PIPE, (char *)"2", (char *)"12");
|
||||
error = EN_addlink(ph, (char *)"110", EN_PIPE, (char *)"2", (char *)"12", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"111", EN_PIPE, (char *)"11", (char *)"21");
|
||||
error = EN_addlink(ph, (char *)"111", EN_PIPE, (char *)"11", (char *)"21", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"112", EN_PIPE, (char *)"12", (char *)"22");
|
||||
error = EN_addlink(ph, (char *)"112", EN_PIPE, (char *)"12", (char *)"22", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"113", EN_PIPE, (char *)"13", (char *)"23");
|
||||
error = EN_addlink(ph, (char *)"113", EN_PIPE, (char *)"13", (char *)"23", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"121", EN_PIPE, (char *)"21", (char *)"31");
|
||||
error = EN_addlink(ph, (char *)"121", EN_PIPE, (char *)"21", (char *)"31", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"122", EN_PIPE, (char *)"22", (char *)"32");
|
||||
error = EN_addlink(ph, (char *)"122", EN_PIPE, (char *)"22", (char *)"32", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
for (i = 0; i < 12; i++)
|
||||
{
|
||||
@@ -197,7 +197,7 @@ BOOST_FIXTURE_TEST_CASE(test_build_net1, FixtureInitClose)
|
||||
BOOST_REQUIRE(error == 0);
|
||||
}
|
||||
|
||||
error = EN_addlink(ph, (char *)"9", EN_PUMP, (char *)"9", (char *)"10");
|
||||
error = EN_addlink(ph, (char *)"9", EN_PUMP, (char *)"9", (char *)"10", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addcurve(ph, (char *)"1");
|
||||
BOOST_REQUIRE(error == 0);
|
||||
@@ -306,19 +306,19 @@ BOOST_FIXTURE_TEST_CASE(test_save_net2, FixtureInitClose)
|
||||
double q1_1, q2_1; // q1_2, q2_2;
|
||||
|
||||
// Build a network
|
||||
error = EN_addnode(ph, (char *)"N1", EN_JUNCTION);
|
||||
error = EN_addnode(ph, (char *)"N1", EN_JUNCTION, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addnode(ph, (char *)"N2", EN_JUNCTION);
|
||||
error = EN_addnode(ph, (char *)"N2", EN_JUNCTION, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addnode(ph, (char *)"N3", EN_RESERVOIR);
|
||||
error = EN_addnode(ph, (char *)"N3", EN_RESERVOIR, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addnode(ph, (char *)"N4", EN_TANK);
|
||||
error = EN_addnode(ph, (char *)"N4", EN_TANK, &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"L1", EN_PUMP, (char *)"N3", (char *)"N1");
|
||||
error = EN_addlink(ph, (char *)"L1", EN_PUMP, (char *)"N3", (char *)"N1", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"L2", EN_PIPE, (char *)"N1", (char *)"N3");
|
||||
error = EN_addlink(ph, (char *)"L2", EN_PIPE, (char *)"N1", (char *)"N3", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addlink(ph, (char *)"L3", EN_PIPE, (char *)"N1", (char *)"N2");
|
||||
error = EN_addlink(ph, (char *)"L3", EN_PIPE, (char *)"N1", (char *)"N2", &ind);
|
||||
BOOST_REQUIRE(error == 0);
|
||||
error = EN_addcurve(ph, (char *)"C1");
|
||||
BOOST_REQUIRE(error == 0);
|
||||
|
||||
Reference in New Issue
Block a user