Permalink
Browse files

Merge pull request #4148 from datacompboy/patch-2

Add more tests to time_test
  • Loading branch information...
acozzette committed Jan 8, 2018
2 parents d4afdba + 091eeb1 commit b77aa8011d450e314690e430ede85d4ab20abaf3
Showing with 53 additions and 0 deletions.
  1. +53 −0 src/google/protobuf/stubs/time_test.cc
@@ -149,6 +149,59 @@ TEST(DateTimeTest, LeapYear) {
CreateTimestamp(2400, 3, 1) - CreateTimestamp(2400, 2, 29));
}
TEST(DateTimeTest, WrongDays) {
int64 seconds;
DateTime time;
time.hour = 0;
time.minute = 0;
time.second = 0;
time.month = 2;
// Non-leap year.
time.year = 2015;
time.day = 29;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
// Leap year.
time.year = 2016;
time.day = 29;
ASSERT_TRUE(DateTimeToSeconds(time, &seconds));
time.day = 30;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
// Non-leap year.
time.year = 2100;
time.day = 29;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
// Leap year.
time.year = 2400;
time.day = 29;
ASSERT_TRUE(DateTimeToSeconds(time, &seconds));
time.day = 30;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
// Non-february
time.year = 2015;
time.month = 1;
time.day = 0;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
time.day = 1;
ASSERT_TRUE(DateTimeToSeconds(time, &seconds));
time.day = 31;
ASSERT_TRUE(DateTimeToSeconds(time, &seconds));
time.day = 32;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
// Bad month
time.year = 2015;
time.month = 0;
time.day = 1;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
time.month = 13;
ASSERT_FALSE(DateTimeToSeconds(time, &seconds));
}
TEST(DateTimeTest, StringFormat) {
DateTime start, end;
start.year = 1;

0 comments on commit b77aa80

Please sign in to comment.