| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | ||||
| 3 | class SensorMocking : public ::testing::Test { | |||
| 4 | protected: | |||
| 5 | MockSensor realSensor; | |||
| 6 | ||||
| 7 | 4 | SensorMocking() | ||
| 8 |
1/1✓ Branch 2 taken 4 times.
|
4 | : realSensor(SensorType::Clt) {} | |
| 9 | ||||
| 10 | 4 | void SetUp() override { | ||
| 11 | 4 | Sensor::resetRegistry(); | ||
| 12 |
3/9✓ Branch 3 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 33 taken 4 times.
✗ Branch 34 not taken.
|
4 | ASSERT_TRUE(realSensor.Register()); | |
| 13 | } | |||
| 14 | ||||
| 15 | 4 | void TearDown() override { | ||
| 16 | 4 | Sensor::resetRegistry(); | ||
| 17 | 4 | } | ||
| 18 | }; | |||
| 19 | ||||
| 20 | 4 | TEST_F(SensorMocking, MockSensor) { | ||
| 21 | // Set a value on the "real" sensor | |||
| 22 | 1 | realSensor.set(25.0f); | ||
| 23 | ||||
| 24 | // And expect to see it | |||
| 25 | { | |||
| 26 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 27 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 28 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 25.0f); | |
| 29 | } | |||
| 30 | ||||
| 31 | // Now set a mock value | |||
| 32 | 1 | Sensor::setMockValue(SensorType::Clt, 37.0f); | ||
| 33 | ||||
| 34 | // And expect to see that | |||
| 35 | { | |||
| 36 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 37 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 38 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 37.0f); | |
| 39 | } | |||
| 40 | 1 | } | ||
| 41 | ||||
| 42 | 4 | TEST_F(SensorMocking, ResetOne) { | ||
| 43 | // Set a value on the "real" sensor | |||
| 44 | 1 | realSensor.set(13.0f); | ||
| 45 | ||||
| 46 | // Now set a mock value | |||
| 47 | 1 | Sensor::setMockValue(SensorType::Clt, 21.0f); | ||
| 48 | ||||
| 49 | // Expect to see the mock value | |||
| 50 | { | |||
| 51 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 52 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 53 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 21.0f); | |
| 54 | } | |||
| 55 | ||||
| 56 | // Reset that mock - it should go to the real value | |||
| 57 | 1 | Sensor::resetMockValue(SensorType::Clt); | ||
| 58 | ||||
| 59 | { | |||
| 60 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 61 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 62 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 13.0f); | |
| 63 | } | |||
| 64 | 1 | } | ||
| 65 | ||||
| 66 | 4 | TEST_F(SensorMocking, ResetAll) { | ||
| 67 | // Set a value on the "real" sensor | |||
| 68 | 1 | realSensor.set(46.0f); | ||
| 69 | ||||
| 70 | // Now set a mock value | |||
| 71 | 1 | Sensor::setMockValue(SensorType::Clt, 33.0f); | ||
| 72 | ||||
| 73 | // Expect to see the mock value | |||
| 74 | { | |||
| 75 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 76 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 77 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 33.0f); | |
| 78 | } | |||
| 79 | ||||
| 80 | // Reset all mocks - it should go to the real value | |||
| 81 | 1 | Sensor::resetAllMocks(); | ||
| 82 | ||||
| 83 | { | |||
| 84 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 85 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 86 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 46.0f); | |
| 87 | } | |||
| 88 | 1 | } | ||
| 89 | ||||
| 90 | 4 | TEST_F(SensorMocking, ResetWithResetRegistry) { | ||
| 91 | // Set a value on the "real" sensor | |||
| 92 | 1 | realSensor.set(46.0f); | ||
| 93 | ||||
| 94 | // Now set a mock value | |||
| 95 | 1 | Sensor::setMockValue(SensorType::Clt, 33.0f); | ||
| 96 | ||||
| 97 | // Expect to see the mock value | |||
| 98 | { | |||
| 99 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = Sensor::get(SensorType::Clt); | |
| 100 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(result.Valid); | |
| 101 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result.Value, 33.0f); | |
| 102 | } | |||
| 103 | ||||
| 104 | // Reset registry - including mocks | |||
| 105 | 1 | Sensor::resetRegistry(); | ||
| 106 | ||||
| 107 | { | |||
| 108 | 1 | auto result = Sensor::get(SensorType::Clt); | ||
| 109 |
1/6✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
|
1 | EXPECT_FALSE(result.Valid); | |
| 110 | } | |||
| 111 | 1 | } | ||
| 112 | ||||
| 113 |