diff --git a/test/unit/test_util_math.cpp b/test/unit/test_util_math.cpp index fe20239f65..588be1369a 100644 --- a/test/unit/test_util_math.cpp +++ b/test/unit/test_util_math.cpp @@ -139,6 +139,7 @@ TYPED_TEST(MathUtilTest, ptrdiff_t_Arithmetic_Sum) { constexpr auto arithmetic_size = sizeof(SizeType); TypeParam a, b; + ArithmeticT c = std::numeric_limits::max() / 2; if (type_size < arithmetic_size) { a = std::numeric_limits::max(); @@ -155,8 +156,8 @@ TYPED_TEST(MathUtilTest, ptrdiff_t_Arithmetic_Sum) { } { - auto expected_result = static_cast(a) + std::numeric_limits::max(); - EXPECT_EQ(expected_result, util::ptrdiff_t::sum(a, std::numeric_limits::max())); + auto expected_result = static_cast(a) + c; + EXPECT_EQ(expected_result, util::ptrdiff_t::sum(a, c)); } } @@ -168,7 +169,7 @@ TYPED_TEST(MathUtilTest, ptrdiff_t_Arithmetic_Mul) { TypeParam a, b; - if (type_size < arithmetic_size) { + if (type_size * 2 < arithmetic_size) { a = std::numeric_limits::max(); b = std::numeric_limits::max(); }