подготовка к тестам, библа доктест

Этот коммит содержится в:
2025-09-25 23:35:31 +03:00
родитель 358c13447e
Коммит 4621199d2a
4 изменённых файлов: 7160 добавлений и 0 удалений

7106
doctest.h Обычный файл

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@@ -1,4 +1,5 @@
#include "histogram.h"
#include "histogram_internal.h"
#include <vector>
#include <cstddef>

8
histogram_internal.h Обычный файл
Просмотреть файл

@@ -0,0 +1,8 @@
#ifndef HISTOGRAM_INTERNAL_H_INCLUDED
#define HISTOGRAM_INTERNAL_H_INCLUDED
#include <vector>
void find_minmax(const std::vector<double>& numbers, double& min, double& max);
#endif

45
unittest.cpp Обычный файл
Просмотреть файл

@@ -0,0 +1,45 @@
#define DOCTEST_CONFIG_NO_MULTITHREADING
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include "doctest.h"
#include "histogram_internal.h"
#include <vector>
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 negative numbers") {
double min = 0;
double max = 0;
find_minmax({-1, -2}, min, max);
CHECK(min == -2);
CHECK(max == -1);
}
TEST_CASE("vector with one element") {
double min = 0;
double max = 0;
find_minmax({1}, min, max);
CHECK(min == 1);
CHECK(max == 1);
}
TEST_CASE("distinct equals numbers") {
double min = 0;
double max = 0;
find_minmax({1, 1}, min, max);
CHECK(min == 1);
CHECK(max == 1);
}
TEST_CASE("empty vector") {
double min = -1;
double max = -1;
find_minmax({}, min, max);
CHECK(min == -1); // Çíà÷åíèÿ íå äîëæíû èçìåíèòüñÿ
CHECK(max == -1);
}