| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | ||||
| 3 | #include "sensor_reader.h" | |||
| 4 | ||||
| 5 | class SensorBasicReader : public ::testing::Test { | |||
| 6 | protected: | |||
| 7 | 2 | void SetUp() override { | ||
| 8 | 2 | Sensor::resetRegistry(); | ||
| 9 | 2 | } | ||
| 10 | ||||
| 11 | 2 | void TearDown() override { | ||
| 12 | 2 | Sensor::resetRegistry(); | ||
| 13 | 2 | } | ||
| 14 | }; | |||
| 15 | ||||
| 16 | 4 | TEST_F(SensorBasicReader, Value) { | ||
| 17 | // Create a sensor - but don't register it | |||
| 18 |
1/1✓ Branch 2 taken 1 time.
|
1 | MockSensor dut(SensorType::Tps1); | |
| 19 | ||||
| 20 | // Create a reader for the same sensor type - fallback value = 123 | |||
| 21 | 1 | SensorReader<SensorType::Tps1> dutReader(123.0f); | ||
| 22 | ||||
| 23 | // Expect not to find it | |||
| 24 | { | |||
| 25 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.get(); | |
| 26 |
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); | |
| 27 | } | |||
| 28 | ||||
| 29 | // Register the sensor now | |||
| 30 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.Register()); | |
| 31 | ||||
| 32 | // Still expect invalid - no value has been set yet | |||
| 33 | { | |||
| 34 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.get(); | |
| 35 |
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); | |
| 36 | } | |||
| 37 | ||||
| 38 |
1/1✓ Branch 1 taken 1 time.
|
1 | dut.set(47.0f); | |
| 39 | ||||
| 40 | // Expect valid - with the value 47 we just set | |||
| 41 | { | |||
| 42 |
1/1✓ Branch 2 taken 1 time.
|
1 | auto result = dutReader.get(); | |
| 43 |
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); | |
| 44 |
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, 47.0f); | |
| 45 | } | |||
| 46 | 1 | } | ||
| 47 | ||||
| 48 | 4 | TEST_F(SensorBasicReader, FallbackValue) { | ||
| 49 | // Create a sensor - but don't register it | |||
| 50 |
1/1✓ Branch 2 taken 1 time.
|
1 | MockSensor dut(SensorType::Tps1); | |
| 51 | ||||
| 52 | // Create a reader for the same sensor type - fallback value = 123 | |||
| 53 | 1 | SensorReader<SensorType::Tps1> dutReader(123.0f); | ||
| 54 | ||||
| 55 | // Expect not to find it | |||
| 56 | { | |||
| 57 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.get(); | |
| 58 |
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); | |
| 59 | } | |||
| 60 | ||||
| 61 | // Register the sensor now | |||
| 62 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.Register()); | |
| 63 | ||||
| 64 | // Still expect invalid - no value has been set yet | |||
| 65 | { | |||
| 66 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.get(); | |
| 67 |
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); | |
| 68 | } | |||
| 69 | ||||
| 70 | // However - we should be able to get the fallback value | |||
| 71 | { | |||
| 72 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.getOrDefault(); | |
| 73 |
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, 123.0f); | |
| 74 | } | |||
| 75 | ||||
| 76 | // Now set the value for real, and ensure we get that instead | |||
| 77 |
1/1✓ Branch 1 taken 1 time.
|
1 | dut.set(63); | |
| 78 | ||||
| 79 | { | |||
| 80 |
1/1✓ Branch 1 taken 1 time.
|
1 | auto result = dutReader.getOrDefault(); | |
| 81 |
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, 63.0f); | |
| 82 | } | |||
| 83 | 1 | } | ||
| 84 |