From ff0e3b4fbef6a981a74a3d3e75b80ce208714dc3 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 14 Dec 2023 13:09:22 +0100 Subject: implement cache recording segment split by age (#611) - also fixes weird DateTime/TimeSpan comparison operator --- src/zencore/compactbinary.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'src/zencore/compactbinary.cpp') diff --git a/src/zencore/compactbinary.cpp b/src/zencore/compactbinary.cpp index 9152a8bfc..6677b5a61 100644 --- a/src/zencore/compactbinary.cpp +++ b/src/zencore/compactbinary.cpp @@ -2463,6 +2463,58 @@ TEST_CASE("json.uson") } } +////////////////////////////////////////////////////////////////////////// + +TEST_SUITE_BEGIN("core.datetime"); + +TEST_CASE("core.datetime.compare") +{ + DateTime T1(2000, 12, 13); + DateTime T2(2000, 12, 14); + CHECK(T1 < T2); + CHECK(T2 > T1); + CHECK(T1 == T1); + CHECK(T1 != T2); + CHECK(T1 >= T1); + CHECK(T2 >= T1); + CHECK(T1 <= T1); + CHECK(T1 <= T2); +} + +TEST_CASE("core.datetime.add") +{ + DateTime T1(2000, 12, 13); + DateTime T2(2000, 12, 14); + TimeSpan dT = T2 - T1; + TimeSpan dT1 = T1 - T1; + + CHECK(T1 + dT == T2); + CHECK(dT + T1 == T2); + CHECK(dT + T1 - T2 == dT1); +} + +TEST_SUITE_END(); + +TEST_SUITE_BEGIN("core.timespan"); + +TEST_CASE("core.timespan.compare") +{ + TimeSpan T1(1000); + TimeSpan T2(1001); + CHECK(T1 < T2); + CHECK(T2 > T1); + CHECK(T1 == T1); + CHECK(T1 != T2); + CHECK(T1 >= T1); + CHECK(T2 >= T1); + CHECK(T1 <= T1); + CHECK(T1 <= T2); +} + +TEST_SUITE_END(); + +////////////////////////////////////////////////////////////////////////// + #endif } // namespace zen -- cgit v1.2.3