/* ****************************************************************************** Project: OWA EPANET Version: 2.2 Module: test_analysis.cpp Description: Tests EPANET toolkit api functions Authors: see AUTHORS Copyright: see AUTHORS License: see LICENSE Last Updated: 03/21/2019 ****************************************************************************** */ //#define BOOST_ALL_DYN_LINK #include #include "test_toolkit.hpp" BOOST_AUTO_TEST_SUITE (test_analysis) BOOST_FIXTURE_TEST_CASE(test_anlys_getoption, FixtureOpenClose) { int i; std::vector test(23); double *array = test.data(); std::vector ref = {40.0, 0.001, 0.01, 0.5, 1.0, 0.0, 0.0, 0.0, 75.0, 0.0, 0.0, 0.0, 1.0, 1.0, 10.0, 2.0, 10.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0}; error = EN_solveH(ph); BOOST_REQUIRE(error == 0); error = EN_solveQ(ph); BOOST_REQUIRE(error == 0); for (i=EN_TRIALS; i<=EN_CONCENLIMIT; i++) { error = EN_getoption(ph, i, array++); BOOST_REQUIRE(error == 0); } BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); double temp; error = EN_getoption(ph, 25, &temp); BOOST_CHECK(error == 251); } BOOST_FIXTURE_TEST_CASE(test_anlys_gettimeparam, FixtureOpenClose) { int i; std::vector test(16); long *array = test.data(); std::vector ref = {86400, 3600, 300, 7200, 0, 3600, 0, 360, 0, 25, 0, 86400, 86400, 0, 3600, 0}; error = EN_solveH(ph); BOOST_REQUIRE(error == 0); error = EN_solveQ(ph); BOOST_REQUIRE(error == 0); for (i=EN_DURATION; i<=EN_NEXTEVENTTANK; i++) { error = EN_gettimeparam(ph, i, array++); BOOST_REQUIRE(error == 0); } BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); long temp; error = EN_gettimeparam(ph, 18, &temp); BOOST_CHECK(error == 251); } BOOST_AUTO_TEST_SUITE_END()