Unit tests: use EXPECT_FLOAT_EQ for float comparisons

as precaution to prevent failing tests because of small potential
rounding errors on certain platforms or compilares.
This commit is contained in:
Matthias Grob
2019-12-26 12:10:56 +01:00
committed by Lorenz Meier
parent ee62d0296f
commit ffff35a597
6 changed files with 43 additions and 43 deletions

View File

@@ -59,7 +59,7 @@ TEST_F(ParameterTest, testParamReadWrite)
// THEN it should be successful and have the default value
EXPECT_EQ(0, status);
EXPECT_EQ(-1, value);
EXPECT_FLOAT_EQ(-1.f, value);
// WHEN: we set the parameter
value = 42.f;
@@ -74,7 +74,7 @@ TEST_F(ParameterTest, testParamReadWrite)
// THEN: it should be exactly the value we set
EXPECT_EQ(0, status);
EXPECT_EQ(42.f, value2);
EXPECT_FLOAT_EQ(42.f, value2);
}
@@ -99,8 +99,8 @@ TEST_F(ParameterTest, testUorbSendReceive)
// AND: the values we got should be the same
EXPECT_EQ(message.timestamp, obstacle_distance.timestamp);
EXPECT_EQ(message.min_distance, obstacle_distance.min_distance);
EXPECT_EQ(message.max_distance, obstacle_distance.max_distance);
EXPECT_FLOAT_EQ(message.min_distance, obstacle_distance.min_distance);
EXPECT_FLOAT_EQ(message.max_distance, obstacle_distance.max_distance);
// AND: all the bytes should be equal
EXPECT_EQ(0, memcmp(&message, &obstacle_distance, sizeof(message)));