diff options
author | Cy Schubert <cy@FreeBSD.org> | 2015-07-01 03:12:13 +0000 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2015-07-01 03:12:13 +0000 |
commit | 873997f35a991eee09ed91148a0cf332360380da (patch) | |
tree | 5b1ffa3ad0e56e0e9f2991011729791ee86d7632 /tests/libntp/g_calyearstart.cpp | |
parent | 4ba32eb5a8bf3455c09d1513ed2af8d2c861a6ba (diff) |
Notes
Diffstat (limited to 'tests/libntp/g_calyearstart.cpp')
-rw-r--r-- | tests/libntp/g_calyearstart.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/libntp/g_calyearstart.cpp b/tests/libntp/g_calyearstart.cpp new file mode 100644 index 000000000000..59859be61c57 --- /dev/null +++ b/tests/libntp/g_calyearstart.cpp @@ -0,0 +1,43 @@ +#include "g_libntptest.h" + +class calyearstartTest : public libntptest { +protected: + virtual void SetUp(); + virtual void TearDown(); +}; + +void calyearstartTest::SetUp() +{ + ntpcal_set_timefunc(timefunc); + settime(1970, 1, 1, 0, 0, 0); +} + +void calyearstartTest::TearDown() +{ + ntpcal_set_timefunc(NULL); +} + + +TEST_F(calyearstartTest, NoWrapInDateRange) { + const u_int32 input = 3486372600UL; // 2010-06-24 12:50:00. + const u_int32 expected = 3471292800UL; // 2010-01-01 00:00:00 + + EXPECT_EQ(expected, calyearstart(input, &nowtime)); + EXPECT_EQ(expected, calyearstart(input, NULL)); +} + +TEST_F(calyearstartTest, NoWrapInDateRangeLeapYear) { + const u_int32 input = 3549528000UL; // 2012-06-24 12:00:00 + const u_int32 expected = 3534364800UL; // 2012-01-01 00:00:00 + + EXPECT_EQ(expected, calyearstart(input, &nowtime)); + EXPECT_EQ(expected, calyearstart(input, NULL)); +} + +TEST_F(calyearstartTest, WrapInDateRange) { + const u_int32 input = 19904UL; // 2036-02-07 12:00:00 + const u_int32 expected = 4291747200UL; // 2036-01-01 00:00:00 + + EXPECT_EQ(expected, calyearstart(input, &nowtime)); + EXPECT_EQ(expected, calyearstart(input, NULL)); +} |