#define DOCTEST_CONFIG_NO_MULTITHREADING #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" #include "histogram_internal.h" TEST_CASE("distinct positive numbers") { bool res = false; double min = 0; double max = 0; find_minmax({1, 2}, min, max, res); CHECK(min == 1); CHECK(max == 2); CHECK(res==0); } TEST_CASE("negative numbers") { bool res = false; double min = 0; double max = 0; find_minmax({-1, -2}, min, max, res); CHECK(min == -2); CHECK(max == -1); CHECK(res==0); } TEST_CASE("empty array") { bool res = false; double min = 0; double max = 0; std::vector numbers; find_minmax(numbers, min, max, res); CHECK(min == 0); CHECK(max == 0); CHECK(res==1); } TEST_CASE("1 number") { bool res = false; double min = 0; double max = 0; find_minmax({-1}, min, max, res); CHECK(min == -1); CHECK(max == -1); CHECK(res==0); } TEST_CASE("same number") { bool res = false; double min = 0; double max = 0; find_minmax({1,1,1,1}, min, max, res); CHECK(min == 1); CHECK(max == 1); CHECK(res==0); } TEST_CASE("same number but zero") { bool res = false; double min = 0; double max = 0; find_minmax({0,0,0,0}, min, max, res); CHECK(min == 0); CHECK(max == 0); CHECK(res==0); }