1#include <gtest/gtest.h>
3#include <userver/protobuf/datetime.hpp>
9TEST(DatetimeTest, IsValidDuration) {
10 EXPECT_TRUE(IsValidDuration(kMinDurationSeconds, kMinDurationNanos));
11 EXPECT_TRUE(IsValidDuration(kMaxDurationSeconds, kMaxDurationNanos));
12 EXPECT_TRUE(IsValidDuration(100, 123'456'789));
13 EXPECT_TRUE(IsValidDuration(-100, -123'456'789));
14 EXPECT_TRUE(IsValidDuration(1, 0));
15 EXPECT_TRUE(IsValidDuration(-1, 0));
16 EXPECT_TRUE(IsValidDuration(0, 1));
17 EXPECT_TRUE(IsValidDuration(0, -1));
18 EXPECT_TRUE(IsValidDuration(0, 0));
20 EXPECT_FALSE(IsValidDuration(kMinDurationSeconds - 1, 0));
21 EXPECT_FALSE(IsValidDuration(kMaxDurationSeconds + 1, 0));
22 EXPECT_FALSE(IsValidDuration(0, kMinDurationNanos - 1));
23 EXPECT_FALSE(IsValidDuration(0, kMaxDurationNanos + 1));
24 EXPECT_FALSE(IsValidDuration(1, -1));
25 EXPECT_FALSE(IsValidDuration(-1, 1));
28TEST(DatetimeTest, IsValidTimestamp) {
29 EXPECT_TRUE(IsValidTimestamp(kMinTimestampSeconds, kMinTimestampNanos));
30 EXPECT_TRUE(IsValidTimestamp(kMaxTimestampSeconds, kMaxTimestampNanos));
31 EXPECT_TRUE(IsValidTimestamp(100, 123'456'789));
32 EXPECT_TRUE(IsValidTimestamp(1, 0));
33 EXPECT_TRUE(IsValidTimestamp(-1, 0));
34 EXPECT_TRUE(IsValidTimestamp(-1, 1));
35 EXPECT_TRUE(IsValidTimestamp(0, 1));
36 EXPECT_TRUE(IsValidTimestamp(0, 0));
38 EXPECT_FALSE(IsValidTimestamp(kMinTimestampSeconds - 1, 0));
39 EXPECT_FALSE(IsValidTimestamp(kMaxTimestampSeconds + 1, 0));
40 EXPECT_FALSE(IsValidTimestamp(0, kMinTimestampNanos - 1));
41 EXPECT_FALSE(IsValidTimestamp(0, kMaxTimestampNanos + 1));
42 EXPECT_FALSE(IsValidTimestamp(1, -1));
43 EXPECT_FALSE(IsValidTimestamp(0, -1));