#define DOCTEST_CONFIG_NO_MULTITHREADING #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" #include "histogram_internal.h" #include "percent.h" TEST_CASE("distinct empty") { double min = 0; double max = 0; find_minmax({}, min, max); CHECK(min == 0); CHECK(max == 0); } TEST_CASE("distinct positive numbers") { double min = 0; double max = 0; find_minmax({1, 2}, min, max); CHECK(min == 1); CHECK(max == 2); } TEST_CASE("distinct single") { double min = 0; double max = 0; find_minmax({1}, min, max); CHECK(min == 1); CHECK(max == 1); } TEST_CASE("distinct same") { double min = 0; double max = 0; find_minmax({1,1,1,1,1,1,1,1,1}, min, max); CHECK(min == 1); CHECK(max == 1); } TEST_CASE("distinct negative numbers") { double min = 0; double max = 0; find_minmax({-1.5,-2,-3,-4}, min, max); CHECK(min == -4); CHECK(max == -1.5); } TEST_CASE("percent 1") { const vectorbins{5, 10, 10, 50, 25}; vectorbins_percent{}; percent(bins, bins_percent); CHECK(bins_percent[0] == 5); }