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);
+}