diff --git a/unittest.cpp b/unittest.cpp new file mode 100644 index 0000000..7ea135b --- /dev/null +++ b/unittest.cpp @@ -0,0 +1,48 @@ +#define DOCTEST_CONFIG_NO_MULTITHREADING +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" +#include "histogram_internal.h" +#include + +TEST_CASE("distinct positive numbers") { + double min = 0; + double max = 0; + find_minmax({1, 2}, min, max); + CHECK(min == 1); + CHECK(max == 2); + CHECK(find_minmax({1, 2}, 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); + CHECK(find_minmax({-1, -2}, min, max)); +} +TEST_CASE("vector 1 element") +{ + double min = 0; + double max = 0; + find_minmax({1}, min, max); + CHECK(min == 1); + CHECK(max == 1); + CHECK(find_minmax({1}, min, max)); +} +TEST_CASE("distinct equals numbers") +{ + double min = 0; + double max = 0; + find_minmax({1, 1}, min, max); + CHECK(min == 1); + CHECK(max == 1); + CHECK(find_minmax({1, 1}, min, max)); +} +TEST_CASE("distinct empty vector") +{ + double min = -1; + double max = -1; + CHECK(!find_minmax({}, min, max)); +}