From b662a0b0e2f7b226d18b1ac60ad748f71d7bdb39 Mon Sep 17 00:00:00 2001
From: 235345646546 <wsewolod0@gmail.com>
Date: Mon, 5 May 2025 00:50:48 +0300
Subject: [PATCH] =?UTF-8?q?code:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?=
 =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 unittest.cpp | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 unittest.cpp

diff --git a/unittest.cpp b/unittest.cpp
new file mode 100644
index 0000000..4d99961
--- /dev/null
+++ b/unittest.cpp
@@ -0,0 +1,39 @@
+#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);
+}
+
+TEST_CASE("Identical numbers") {
+    double min = 0, max = 0;
+    find_minmax({ 5, 5, 5 }, min, max);
+    CHECK(min == 5);
+    CHECK(max == 5);
+}
+TEST_CASE("Empty vector") {
+    double min = 42, max = 42;
+    find_minmax({}, min, max);
+    CHECK(min == 42);
+    CHECK(max == 42);
+}
+TEST_CASE("Single element") {
+    double min = 0, max = 0;
+    find_minmax({ 42 }, min, max);
+    CHECK(min == 42);
+    CHECK(max == 42);
+}
+
+TEST_CASE("Negative numbers") {
+    double min = 0, max = 0;
+    find_minmax({ -3, -1, -2 }, min, max);
+    CHECK(min == -3);
+    CHECK(max == -1);
+}
+