diff --git a/test/tst_espchrono.cpp b/test/tst_espchrono.cpp index fe6941d..af2f2ec 100644 --- a/test/tst_espchrono.cpp +++ b/test/tst_espchrono.cpp @@ -24,7 +24,7 @@ private slots: QTest::addColumn("expected"); QTest::addRow("monday") << espchrono::DateTime{ - 10_d/October/2020, + .date = 10_d/October/2020, .hour=10, .minute=20, .second=30, @@ -32,7 +32,7 @@ private slots: } << "2020-10-10T10:20:30.000"s; QTest::addRow("tuesday") << espchrono::DateTime{ - 10_d/October/2020, + .date = 10_d/October/2020, .hour=10, .minute=20, .second=30, @@ -40,7 +40,7 @@ private slots: } << "2020-10-10T10:20:30.000"s; QTest::addRow("wednesday") << espchrono::DateTime{ - 10_d/October/2020, + .date = 10_d/October/2020, .hour=10, .minute=20, .second=30, @@ -48,7 +48,7 @@ private slots: } << "2020-10-10T10:20:30.000"s; QTest::addRow("thursday") << espchrono::DateTime{ - 10_d/October/2020, + .date = 10_d/October/2020, .hour=10, .minute=20, .second=30, @@ -56,31 +56,31 @@ private slots: } << "2020-10-10T10:20:30.000"s; QTest::addRow("friday") << espchrono::DateTime{ - 10_d/October/2020, + .date = 10_d/October/2020, .hour=10, .minute=20, .second=30, .dayOfWeek=espchrono::DateTime::DayOfWeek::Friday } << "2020-10-10T10:20:30.000"s; - QTest::addRow("aturday") << espchrono::DateTime{ - 10_d/October/2020, - .hour=10, - .minute=20, - .second=30, - .dayOfWeek=espchrono::DateTime::DayOfWeek::Saturday - } << "2020-10-10T10:20:30.000"s; + QTest::addRow("saturday") << espchrono::DateTime{ + .date = 10_d/October/2020, + .hour=10, + .minute=20, + .second=30, + .dayOfWeek=espchrono::DateTime::DayOfWeek::Saturday + } << "2020-10-10T10:20:30.000"s; - QTest::addRow("unday") << espchrono::DateTime{ - 10_d/October/2020, - .hour=10, - .minute=20, - .second=30, - .dayOfWeek=espchrono::DateTime::DayOfWeek::Sunday - } << "2020-10-10T10:20:30.000"s; + QTest::addRow("sunday") << espchrono::DateTime{ + .date = 10_d/October/2020, + .hour=10, + .minute=20, + .second=30, + .dayOfWeek=espchrono::DateTime::DayOfWeek::Sunday + } << "2020-10-10T10:20:30.000"s; QTest::addRow("leading_zeros") << espchrono::DateTime{ - 1_d/January/2020, + .date = 1_d/January/2020, .hour=1, .minute=2, .second=3, @@ -101,29 +101,21 @@ private slots: QTest::addColumn("dateTime"); QTest::addColumn("expected"); - QTest::addRow("leading_zeros") << espchrono::LocalDateTime{ - espchrono::DateTime { - 1_d/January/2020, - .hour = 1, - .minute = 2, - .second = 3, - .dayOfWeek = espchrono::DateTime::DayOfWeek::Monday, - }, - .timezone = testTimeZone, - .dst = false - } << "2020-01-01T01:02:03.000 +01:00"s; + constexpr const auto makeLocalDateTime = [](auto date, auto hour, auto minute, auto second, auto dayOfWeek, auto timezone, auto dst){ + espchrono::LocalDateTime localDateTime; + localDateTime.date = date; + localDateTime.hour = hour; + localDateTime.minute = minute; + localDateTime.second = second; + localDateTime.dayOfWeek = dayOfWeek; + localDateTime.timezone = timezone; + localDateTime.dst = dst; + return localDateTime; + }; - QTest::addRow("leading_zeros_dst") << espchrono::LocalDateTime{ - espchrono::DateTime { - 1_d/January/2020, - .hour = 1, - .minute = 2, - .second = 3, - .dayOfWeek = espchrono::DateTime::DayOfWeek::Monday, - }, - .timezone = testTimeZone, - .dst = true - } << "2020-01-01T01:02:03.000 +02:00"s; + QTest::addRow("leading_zeros") << makeLocalDateTime(1_d/January/2020, 1, 2, 3, espchrono::DateTime::DayOfWeek::Monday, testTimeZone, false) << "2020-01-01T01:02:03.000 +01:00"s; + + QTest::addRow("leading_zeros_dst") << makeLocalDateTime(1_d/January/2020, 1, 2, 3, espchrono::DateTime::DayOfWeek::Monday, testTimeZone, true) << "2020-01-01T01:02:03.000 +02:00"s; } void test_dateTimeLocalToString() @@ -140,21 +132,21 @@ private slots: QTest::addColumn("expected"); QTest::addRow("random") << espchrono::utc_clock::time_point{123456s} << espchrono::DateTime{ - 2_d/January/1970, + .date = 2_d/January/1970, .hour=10, .minute=17, .second=36, .dayOfWeek=espchrono::DateTime::DayOfWeek::Friday }; QTest::addRow("leap_year") << espchrono::utc_clock::time_point{1582934400s} << espchrono::DateTime{ - 29_d/February/2020, + .date = 29_d/February/2020, .hour=0, .minute=0, .second=0, .dayOfWeek=espchrono::DateTime::DayOfWeek::Saturday }; QTest::addRow("normal_year") << espchrono::utc_clock::time_point{1614556800s} << espchrono::DateTime{ - 1_d/March/2021, + .date = 1_d/March/2021, .hour=0, .minute=0, .second=0, .dayOfWeek=espchrono::DateTime::DayOfWeek::Monday }; @@ -173,26 +165,22 @@ private slots: QTest::addColumn("time_point"); QTest::addColumn("expected"); + constexpr const auto makeLocalDateTime = [](auto date, auto hour, auto minute, auto second, auto dayOfWeek, auto timezone, auto dst){ + espchrono::LocalDateTime localDateTime; + localDateTime.date = date; + localDateTime.hour = hour; + localDateTime.minute = minute; + localDateTime.second = second; + localDateTime.dayOfWeek = dayOfWeek; + localDateTime.timezone = timezone; + localDateTime.dst = dst; + return localDateTime; + }; + QTest::addRow("no_dst") << espchrono::local_clock::time_point(123456s, testTimeZone, false) - << espchrono::LocalDateTime{ - espchrono::DateTime{ - 2_d/January/1970, - .hour=10, .minute=17, .second=36, - .dayOfWeek=espchrono::DateTime::DayOfWeek::Friday - }, - .timezone = testTimeZone, - .dst = false - }; + << makeLocalDateTime(2_d/January/1970, 10, 17, 36, espchrono::DateTime::DayOfWeek::Friday, testTimeZone, false); QTest::addRow("with_dst") << espchrono::local_clock::time_point(123456s, testTimeZone, true) - << espchrono::LocalDateTime{ - espchrono::DateTime{ - 2_d/January/1970, - .hour=10, .minute=17, .second=36, - .dayOfWeek=espchrono::DateTime::DayOfWeek::Friday - }, - .timezone = testTimeZone, - .dst = true - }; + << makeLocalDateTime(2_d/January/1970, 10, 17, 36, espchrono::DateTime::DayOfWeek::Friday, testTimeZone, true); } void test_toDateTimeLocal() diff --git a/test/tstespchrono.pro b/test/tstespchrono.pro index 9a535ef..af2bb8b 100644 --- a/test/tstespchrono.pro +++ b/test/tstespchrono.pro @@ -3,7 +3,8 @@ TEMPLATE = app QT += core testlib QT -= gui widgets -CONFIG += c++17 qt console warn_on depend_includepath testcase +CONFIG += c++23 qt console warn_on depend_includepath testcase +QMAKE_CXXFLAGS += -std=c++2b CONFIG -= app_bundle SOURCES += \ @@ -53,23 +54,6 @@ equals(CLONE_DATE, 1) { include($$DATE_DIR/date.pri) -equals(CLONE_EXPECTED, 1) { - EXPECTED_DIR = $$PWD/expected - - message("Checking out expected...") - exists($$EXPECTED_DIR/.git): { - system("git -C $$EXPECTED_DIR pull") - } else { - system("git clone https://github.com/0xFEEDC0DE64/expected.git $$EXPECTED_DIR") - } -} else: exists($$PWD/../../expected/include) { - EXPECTED_DIR = $$PWD/../../expected -} else { - error("expected not found, please run git submodule update --init") -} - -include($$EXPECTED_DIR/expected.pri) - equals(CLONE_FMT, 1) { FMT_DIR = $$PWD/fmt