176TEST(PointTest, IntegerOverflow) {
177 int int_max = std::numeric_limits<int>::max();
178 int int_min = std::numeric_limits<int>::min();
180 Point max_point(int_max, int_max);
181 Point min_point(int_min, int_min);
185 test.
Offset(int_max, int_max);
186 EXPECT_EQ(test, max_point);
189 test.
Offset(int_min, int_min);
190 EXPECT_EQ(test, min_point);
192 test =
Point(10, 20);
193 test.
Offset(int_max, int_max);
194 EXPECT_EQ(test, max_point);
196 test =
Point(-10, -20);
197 test.
Offset(int_min, int_min);
198 EXPECT_EQ(test, min_point);
202 EXPECT_EQ(test, max_point);
206 EXPECT_EQ(test, min_point);
208 test =
Point(10, 20);
210 EXPECT_EQ(test, max_point);
212 test =
Point(-10, -20);
214 EXPECT_EQ(test, min_point);
218 EXPECT_EQ(test,
Point(-int_max, -int_max));
222 EXPECT_EQ(test, max_point);
224 test =
Point(10, 20);
226 EXPECT_EQ(test, max_point);
228 test =
Point(-10, -20);
230 EXPECT_EQ(test, min_point);