#include "common.hh" #include "date.hh" #include TEST(date, empty) { Date d; EXPECT_TRUE(d.empty()); EXPECT_TRUE(d == d); EXPECT_FALSE(d < d); Date a(0); EXPECT_FALSE(a.empty()); EXPECT_FALSE(d == a); EXPECT_TRUE(d < a); } TEST(date, compare) { Date a(0); Date b(1); EXPECT_TRUE(a < b); EXPECT_TRUE(a <= b); EXPECT_FALSE(a > b); EXPECT_FALSE(a >= b); EXPECT_FALSE(a == b); EXPECT_TRUE(a != b); EXPECT_FALSE(b < a); EXPECT_FALSE(b <= a); EXPECT_TRUE(b > a); EXPECT_TRUE(b >= a); EXPECT_FALSE(b == a); EXPECT_TRUE(b != a); b = a; EXPECT_FALSE(a < b); EXPECT_TRUE(a <= b); EXPECT_FALSE(a > b); EXPECT_TRUE(a >= b); EXPECT_TRUE(a == b); EXPECT_FALSE(a != b); } TEST(date, from_format) { auto a = Date::from_format("%Y-%m-%d %H:%M:%S", "1970-01-01 00:00:00", false); EXPECT_FALSE(a.empty()); EXPECT_EQ(0, a.value()); auto b = Date::from_format("%Y-%m-%d %H:%M:%S", "1970-01-01 00:99:00", false); EXPECT_TRUE(b.empty()); auto c = Date::from_format("%Y-%m-%d %H:%M:%S", "", false); EXPECT_TRUE(c.empty()); } TEST(date, day) { auto day = Date::from_format("%Y-%m-%d %H:%M:%S", "1982-04-10 00:00:00"); EXPECT_FALSE(day.empty()); EXPECT_EQ(day, day.day()); auto time = Date::from_format("%Y-%m-%d %H:%M:%S", "1982-04-10 14:42:10"); EXPECT_FALSE(time.empty()); EXPECT_NE(day, time); EXPECT_EQ(day, time.day()); Date empty; EXPECT_TRUE(empty.day().empty()); } TEST(date, to_format) { auto a = Date::from_format("%Y-%m-%d %H:%M:%S", "1970-01-01 00:00:00", false); EXPECT_EQ("1970-01-01 00:00:00", a.to_format("%Y-%m-%d %H:%M:%S", false)); EXPECT_EQ("", a.to_format("")); Date b; EXPECT_EQ("", b.to_format("%Y-%m-%d %H:%M:%S")); auto c = Date::from_format("%Y-%m-%d %H:%M:%S", "1982-04-10 14:42:10"); EXPECT_EQ("1982-04-10 14:42:10", c.to_format("%Y-%m-%d %H:%M:%S")); EXPECT_EQ("1982-04-10 14:42:10" "1982-04-10 14:42:10" "1982-04-10 14:42:10" "1982-04-10 14:42:10" "1982-04-10 14:42:10" "1982-04-10 14:42:10", c.to_format("%Y-%m-%d %H:%M:%S" "%Y-%m-%d %H:%M:%S" "%Y-%m-%d %H:%M:%S" "%Y-%m-%d %H:%M:%S" "%Y-%m-%d %H:%M:%S" "%Y-%m-%d %H:%M:%S")); }