From f73a7a62282fbec9ffcaea1d172fbcfe06659043 Mon Sep 17 00:00:00 2001 From: KhatyukhinYS <KhatyukhinYS@mpei.ru> Date: Sun, 21 Apr 2024 21:29:17 +0300 Subject: [PATCH] =?UTF-8?q?test:=201=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- histogram.cpp | 20 +------------------- histogram_internal.h | 23 +++++++++++++++++++++++ unittest.cpp | 12 ++++++++++++ 3 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 histogram_internal.h create mode 100644 unittest.cpp diff --git a/histogram.cpp b/histogram.cpp index 0bf4fff..c9f2f44 100644 --- a/histogram.cpp +++ b/histogram.cpp @@ -2,29 +2,11 @@ using namespace std; -static void -find_minmax(const std::vector<double>& numbers, double& Min, double& Max) { - Min = numbers[0]; - Max = numbers[0]; - for(size_t x : numbers) - { - if(x < Min) - { - Min = x; - }else - { - if(x > Max) - { - Max = x; - } - } - } -} std::vector<size_t> make_histogram(std::vector<double> numbers, size_t bin_count) { std::vector<size_t> bins(bin_count); double Min, Max; - find_minmax(numbers, Min, Max); + // find_minmax(numbers, Min, Max); double bin_size = (Max - Min) / bin_count; for (double x : numbers) { diff --git a/histogram_internal.h b/histogram_internal.h new file mode 100644 index 0000000..a312935 --- /dev/null +++ b/histogram_internal.h @@ -0,0 +1,23 @@ +#ifndef HISTOGRAM_INTERNAL_H_INCLUDED +#define HISTOGRAM_INTERNAL_H_INCLUDED + +void +find_minmax(const std::vector<double>& numbers, double& Min, double& Max) { + Min = numbers[0]; + Max = numbers[0]; + for(size_t x : numbers) + { + if(x < Min) + { + Min = x; + }else + { + if(x > Max) + { + Max = x; + } + } + } +} + +#endif // HISTOGRAM_INTERNAL_H_INCLUDED diff --git a/unittest.cpp b/unittest.cpp new file mode 100644 index 0000000..a9ba7e5 --- /dev/null +++ b/unittest.cpp @@ -0,0 +1,12 @@ +#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); +}