From 411eb4c25b1a2e95dab1dd51294a4702fe7cb0bd Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 23 May 2024 18:02:07 +0200 Subject: [PATCH] Adapt tests for timestamps Signed-off-by: Julien Jerphanion --- test/array_data_creation.cpp | 9 +++++++-- test/test_typed_array_timestamp.cpp | 20 ++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/test/array_data_creation.cpp b/test/array_data_creation.cpp index 24713884..8a66109c 100644 --- a/test/array_data_creation.cpp +++ b/test/array_data_creation.cpp @@ -1,9 +1,14 @@ #include "array_data_creation.hpp" +#include +#include + namespace sparrow::test { using sys_time = std::chrono::time_point; + using namespace date::literals; + template <> sparrow::array_data make_test_array_data(size_t n, size_t offset, const std::vector& false_bitmap) @@ -22,7 +27,7 @@ namespace sparrow::test for (uint8_t i = 0; i < n; ++i) { - b.data()[i] = sparrow::timestamp(sys_time(std::chrono::system_clock::now())); + b.data()[i] = sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i)); } ad.buffers.push_back(b); @@ -31,4 +36,4 @@ namespace sparrow::test ad.child_data.emplace_back(); return ad; } -} // namespace sparrow::test \ No newline at end of file +} // namespace sparrow::test diff --git a/test/test_typed_array_timestamp.cpp b/test/test_typed_array_timestamp.cpp index 7bed545e..3cd52f65 100644 --- a/test/test_typed_array_timestamp.cpp +++ b/test/test_typed_array_timestamp.cpp @@ -28,14 +28,14 @@ using namespace sparrow; -// TODO: find a way to create timepoints from integral types. - namespace { constexpr size_t n = 10; constexpr size_t offset = 1; const std::vector false_bitmap = {9}; using sys_time = std::chrono::time_point; + + using namespace date::literals; } TEST_SUITE("typed_array_timestamp") @@ -57,7 +57,7 @@ TEST_SUITE("typed_array_timestamp") typed_array ta{array_data}; for (typename typed_array::size_type i = 0; i < ta.size() - 1; ++i) { - CHECK_EQ(ta.at(i).value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta.at(i).value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i + 1))); } CHECK_FALSE(ta.at(false_bitmap[0] - offset).has_value()); @@ -70,7 +70,7 @@ TEST_SUITE("typed_array_timestamp") const typed_array ta{array_data}; for (typename typed_array::size_type i = 0; i < ta.size() - 1; ++i) { - CHECK_EQ(ta.at(i).value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta.at(i).value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i + 1))); } CHECK_FALSE(ta.at(false_bitmap[0] - offset).has_value()); @@ -83,7 +83,7 @@ TEST_SUITE("typed_array_timestamp") typed_array ta{array_data}; for (typename typed_array::size_type i = 0; i < ta.size() - 1; ++i) { - CHECK_EQ(ta[i].value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta[i].value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i + 1))); } CHECK_FALSE(ta[ta.size() - 1].has_value()); } @@ -94,7 +94,7 @@ TEST_SUITE("typed_array_timestamp") const typed_array ta{array_data}; for (typename typed_array::size_type i = 0; i < ta.size() - 1; ++i) { - CHECK_EQ(ta[i].value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta[i].value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i + 1))); } CHECK_FALSE(ta[false_bitmap[0] - offset].has_value()); } @@ -103,14 +103,14 @@ TEST_SUITE("typed_array_timestamp") { const auto array_data = sparrow::test::make_test_array_data(n, offset, false_bitmap); typed_array ta{array_data}; - CHECK_EQ(ta.front().value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta.front().value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(1))); } TEST_CASE("const front") { const auto array_data = sparrow::test::make_test_array_data(n, offset, false_bitmap); const typed_array ta{array_data}; - CHECK_EQ(ta.front().value(), sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(ta.front().value(), sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(1))); } TEST_CASE("back") @@ -178,9 +178,9 @@ TEST_SUITE("typed_array_timestamp") const typed_array ta{array_data}; const auto values = ta.values(); CHECK_EQ(values.size(), n - offset); - for (size_t i = 0; i < values.size(); ++i) + for (typename typed_array::size_type i = 0; i < values.size(); ++i) { - CHECK_EQ(values[i], sparrow::timestamp(sys_time(std::chrono::system_clock::now()))); + CHECK_EQ(values[i], sparrow::timestamp(date::sys_days(1970_y/date::January/1_d) + date::days(i + 1))); } }