diff --git a/unittest.cpp b/unittest.cpp new file mode 100644 index 0000000..662c82c --- /dev/null +++ b/unittest.cpp @@ -0,0 +1,41 @@ +#define DOCTEST_CONFIG_NO_MULTITHREADING +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" +#include "histogram_internal.h" + +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("empty vector") { + double min = 0; + double max = 0; + find_minmax({NULL}, min, max); + CHECK(min == 0); + CHECK(max == 0); +} +TEST_CASE("one element") { + double min = 0; + double max = 0; + find_minmax({5}, min, max); + CHECK (min == 5); + CHECK (max == 5); +} +TEST_CASE("negative elements") { + double min = 0; + double max = 0; + find_minmax({-2, -3}, min, max); + CHECK (min == -3); + CHECK (max == -2); +} +TEST_CASE("identical elements") { + double min = 0; + double max = 0; + find_minmax({3, 3, 3}, min, max); + CHECK (min == 3); + CHECK (max == 3); +}