#define DOCTEST_CONFIG_NO_MULTITHREADING #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" #include "histogram_internal.h" using namespace std; 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("one element vector") { double min = 0; double max = 0; find_minmax({1}, min, max); CHECK(min == max); } TEST_CASE("distinct negative numbers") { double min = 0; double max = 0; find_minmax({-1,-2}, min, max); CHECK(min == -2); CHECK(max == -1); } TEST_CASE("identical elements vector") { double min = 0; double max = 0; find_minmax({3,3,3,3}, min, max); CHECK(min == 3); CHECK(max == 3); } TEST_CASE("empty vector") { double min = 0; double max = 0; bool result = find_minmax({}, min, max); CHECK(result == false); } TEST_CASE("bin color") { size_t max_bin = 10; size_t min_bin = 3; string rat = "#" + to_string(10 - (min_bin * 9) / max_bin) + to_string(10 - (min_bin * 9) / max_bin) + to_string(10 - (min_bin * 9) / max_bin); auto test1 = bin_color(max_bin,max_bin); auto test2 = bin_color(min_bin,max_bin); CHECK(test1 == "#111"); CHECK(test2 == rat); }