Chromium Code Reviews| Index: base/time/time_unittest.cc |
| diff --git a/base/time/time_unittest.cc b/base/time/time_unittest.cc |
| index b7e05b786b490bbb0ede2aabc3f09cffc990eb6a..91c17baf7c6acf65448684d7996c82f28fc4c5b2 100644 |
| --- a/base/time/time_unittest.cc |
| +++ b/base/time/time_unittest.cc |
| @@ -484,52 +484,6 @@ TEST_F(TimeTest, ExplodeBeforeUnixEpoch) { |
| EXPECT_EQ(1, exploded.millisecond); |
| } |
| -TEST_F(TimeTest, TimeDeltaMax) { |
| - TimeDelta max = TimeDelta::Max(); |
| - EXPECT_TRUE(max.is_max()); |
| - EXPECT_EQ(max, TimeDelta::Max()); |
| - EXPECT_GT(max, TimeDelta::FromDays(100 * 365)); |
| - EXPECT_GT(max, TimeDelta()); |
| -} |
| - |
| -TEST_F(TimeTest, TimeDeltaMaxConversions) { |
| - TimeDelta t = TimeDelta::Max(); |
| - EXPECT_EQ(std::numeric_limits<int64>::max(), t.ToInternalValue()); |
| - |
| - EXPECT_EQ(std::numeric_limits<int>::max(), t.InDays()); |
| - EXPECT_EQ(std::numeric_limits<int>::max(), t.InHours()); |
| - EXPECT_EQ(std::numeric_limits<int>::max(), t.InMinutes()); |
| - EXPECT_EQ(std::numeric_limits<double>::infinity(), t.InSecondsF()); |
| - EXPECT_EQ(std::numeric_limits<int64>::max(), t.InSeconds()); |
| - EXPECT_EQ(std::numeric_limits<double>::infinity(), t.InMillisecondsF()); |
| - EXPECT_EQ(std::numeric_limits<int64>::max(), t.InMilliseconds()); |
| - EXPECT_EQ(std::numeric_limits<int64>::max(), t.InMillisecondsRoundedUp()); |
| - |
| - t = TimeDelta::FromDays(std::numeric_limits<int>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromHours(std::numeric_limits<int>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromMinutes(std::numeric_limits<int>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromSeconds(std::numeric_limits<int64>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromMilliseconds(std::numeric_limits<int64>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromSecondsD(std::numeric_limits<double>::infinity()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromMillisecondsD(std::numeric_limits<double>::infinity()); |
| - EXPECT_TRUE(t.is_max()); |
| - |
| - t = TimeDelta::FromMicroseconds(std::numeric_limits<int64>::max()); |
| - EXPECT_TRUE(t.is_max()); |
| -} |
| - |
| TEST_F(TimeTest, Max) { |
| Time max = Time::Max(); |
| EXPECT_TRUE(max.is_max()); |
| @@ -795,6 +749,7 @@ TEST(TimeDelta, FromAndIn) { |
| EXPECT_EQ(13, TimeDelta::FromMillisecondsD(13.3).InMilliseconds()); |
| EXPECT_EQ(13.3, TimeDelta::FromMillisecondsD(13.3).InMillisecondsF()); |
| EXPECT_EQ(13, TimeDelta::FromMicroseconds(13).InMicroseconds()); |
| + EXPECT_EQ(3.456, TimeDelta::FromMillisecondsD(3.45678).InMillisecondsF()); |
| } |
| #if defined(OS_POSIX) |
| @@ -868,6 +823,80 @@ TEST(TimeDelta, Magnitude) { |
| TimeDelta::FromMicroseconds(min_int64_plus_two).magnitude()); |
| } |
| +TEST(TimeDelta, Max) { |
| + TimeDelta max = TimeDelta::Max(); |
| + EXPECT_TRUE(max.is_max()); |
| + EXPECT_EQ(max, TimeDelta::Max()); |
| + EXPECT_GT(max, TimeDelta::FromDays(100 * 365)); |
| + EXPECT_GT(max, TimeDelta()); |
| +} |
| + |
| +bool IsMin(TimeDelta delta) { |
| + return (-delta).is_max(); |
| +} |
| + |
| +TEST(TimeDelta, MaxConversions) { |
| + TimeDelta t = TimeDelta::Max(); |
| + EXPECT_EQ(std::numeric_limits<int64>::max(), t.ToInternalValue()); |
| + |
| + EXPECT_EQ(std::numeric_limits<int>::max(), t.InDays()); |
| + EXPECT_EQ(std::numeric_limits<int>::max(), t.InHours()); |
| + EXPECT_EQ(std::numeric_limits<int>::max(), t.InMinutes()); |
| + EXPECT_EQ(std::numeric_limits<double>::infinity(), t.InSecondsF()); |
| + EXPECT_EQ(std::numeric_limits<int64>::max(), t.InSeconds()); |
| + EXPECT_EQ(std::numeric_limits<double>::infinity(), t.InMillisecondsF()); |
| + EXPECT_EQ(std::numeric_limits<int64>::max(), t.InMilliseconds()); |
| + EXPECT_EQ(std::numeric_limits<int64>::max(), t.InMillisecondsRoundedUp()); |
| + |
| + t = TimeDelta::FromDays(std::numeric_limits<int>::max()); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromHours(std::numeric_limits<int>::max()); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromMinutes(std::numeric_limits<int>::max()); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + int64 max_int = std::numeric_limits<int64>::max(); |
| + |
| + t = TimeDelta::FromSeconds(max_int / Time::kMicrosecondsPerSecond + 1); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromMilliseconds(max_int / Time::kMillisecondsPerSecond + 1); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromMicroseconds(max_int); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromSeconds(-max_int / Time::kMicrosecondsPerSecond - 1); |
| + EXPECT_TRUE(IsMin(t)); |
| + |
| + t = TimeDelta::FromMilliseconds(-max_int / Time::kMillisecondsPerSecond - 1); |
| + EXPECT_TRUE(IsMin(t)); |
| + |
| + t = TimeDelta::FromMicroseconds(-max_int); |
| + EXPECT_TRUE(IsMin(t)); |
|
Nico
2015/07/17 17:00:24
For giggles, can you add a
EXPECT_FALSE(IsMin(-
rvargas (doing something else)
2015/07/17 19:18:10
Will do.
|
| + |
| + t = TimeDelta::FromSecondsD(std::numeric_limits<double>::infinity()); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + double max_d = max_int; |
| + |
| + t = TimeDelta::FromSecondsD(max_d / Time::kMicrosecondsPerSecond + 1); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromMillisecondsD(std::numeric_limits<double>::infinity()); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromMillisecondsD(max_d / Time::kMillisecondsPerSecond * 2); |
| + EXPECT_TRUE(t.is_max()); |
| + |
| + t = TimeDelta::FromSecondsD(-max_d / Time::kMicrosecondsPerSecond - 1); |
| + EXPECT_TRUE(IsMin(t)); |
| + |
| + t = TimeDelta::FromMillisecondsD(-max_d / Time::kMillisecondsPerSecond * 2); |
| + EXPECT_TRUE(IsMin(t)); |
| +} |
| TEST(TimeDelta, NumericOperators) { |
| double d = 0.5; |
| @@ -894,7 +923,6 @@ TEST(TimeDelta, NumericOperators) { |
| EXPECT_EQ(TimeDelta::FromMilliseconds(500), |
| f * TimeDelta::FromMilliseconds(1000)); |
| - |
| int i = 2; |
| EXPECT_EQ(TimeDelta::FromMilliseconds(2000), |
| TimeDelta::FromMilliseconds(1000) * i); |
| @@ -919,7 +947,6 @@ TEST(TimeDelta, NumericOperators) { |
| EXPECT_EQ(TimeDelta::FromMilliseconds(2000), |
| i64 * TimeDelta::FromMilliseconds(1000)); |
| - |
| EXPECT_EQ(TimeDelta::FromMilliseconds(500), |
| TimeDelta::FromMilliseconds(1000) * 0.5); |
| EXPECT_EQ(TimeDelta::FromMilliseconds(2000), |
| @@ -943,10 +970,6 @@ TEST(TimeDelta, NumericOperators) { |
| 2 * TimeDelta::FromMilliseconds(1000)); |
| } |
| -bool IsMin(TimeDelta delta) { |
| - return (-delta).is_max(); |
| -} |
| - |
| TEST(TimeDelta, Overflows) { |
| // Some sanity checks. |
| EXPECT_TRUE(TimeDelta::Max().is_max()); |