Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
56 строки
1.3 KiB
C++
56 строки
1.3 KiB
C++
#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);
|
|
}
|