ultimatepp/autotest/DateTime/DateTime.cpp
cxl 64f5ff231d .autotest
git-svn-id: svn://ultimatepp.org/upp/trunk@10505 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2016-11-30 14:42:12 +00:00

32 lines
1,002 B
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN {
StdLogSetup(LOG_FILE|LOG_COUT);
for(int i = 0; i < 30000; i++) {
Date d = Date(1970, 1, 1) + i;
int64 n = GetUTCSeconds(ToTime(d));
// DLOG(d << ' ' << GetLeapSeconds(d) << ' ' << n);
ASSERT(TimeFromUTC(n) == ToTime(d));
Date d2 = d;
ASSERT(d2++ == d);
ASSERT(d2 == d + 1);
ASSERT(d2-- == d + 1);
ASSERT(d2 == d);
}
ASSERT(GetMonths(Date(2013, 2, 5), Date(2013, 3, 4)) == 0);
ASSERT(GetMonths(Date(2013, 2, 5), Date(2013, 3, 5)) == 1);
ASSERT(GetMonths(Date(2013, 8, 31), Date(2013, 9, 30)) == 0);
ASSERT(GetMonths(Date(2013, 8, 31), Date(2013, 10, 1)) == 1);
ASSERT(GetMonthsP(Date(2016, 1, 1), Date(2016, 1, 1)) == 0);
ASSERT(GetMonthsP(Date(2016, 1, 1), Date(2016, 1, 2)) == 1); // partial
ASSERT(GetMonthsP(Date(2016, 1, 1), Date(2016, 2, 1)) == 1); // exact one
ASSERT(GetMonthsP(Date(2016, 1, 1), Date(2016, 2, 2)) == 2); // partial 2nd
LOG("=========== OK");
}