48 строки
1.1 KiB
C++
48 строки
1.1 KiB
C++
#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 vector<size_t>bins{5, 10, 10, 50, 25};
|
|
vector<size_t>bins_percent{};
|
|
percent(bins, bins_percent);
|
|
CHECK(bins_percent[0] == 5);
|
|
}
|