| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | #include "can_filter.h" | |||
| 3 | ||||
| 4 | 4 | TEST(CanFilterTest, acceptAny) { | ||
| 5 | 1 | CanFilter filterAny; | ||
| 6 | ||||
| 7 | 1 | filterAny.Id = 0; | ||
| 8 | 1 | filterAny.Mask = 0; | ||
| 9 | ||||
| 10 |
2/8✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_TRUE(filterAny.accept(1)); | |
| 11 |
2/8✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_TRUE(filterAny.accept(239)); | |
| 12 | } | |||
| 13 | ||||
| 14 | 4 | TEST(CanFilterTest, acceptOnlyExact) { | ||
| 15 | 1 | CanFilter filterSpecific; | ||
| 16 | ||||
| 17 | 1 | filterSpecific.Id = 239; | ||
| 18 | 1 | filterSpecific.Mask = FILTER_SPECIFIC; | ||
| 19 | ||||
| 20 |
2/8✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_FALSE(filterSpecific.accept(1)); | |
| 21 |
2/8✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_TRUE(filterSpecific.accept(239)); | |
| 22 | } | |||
| 23 | ||||
| 24 | #define CALLBACK_ALL 3 | |||
| 25 | #define CALLBACK_239 5 | |||
| 26 | ||||
| 27 | 4 | TEST(CanFilterTest, orderOfBusinessOne) { | ||
| 28 | 1 | resetLuaCanRx(); | ||
| 29 | ||||
| 30 | // accept everything as first filter | |||
| 31 | 1 | addLuaCanRxFilter(/*eid*/0, 0, ANY_BUS, CALLBACK_ALL); | ||
| 32 | ||||
| 33 | 1 | addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, ANY_BUS, CALLBACK_239); | ||
| 34 | ||||
| 35 | // filters are applied in the order in which those were added | |||
| 36 |
4/9✓ Branch 2 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 0)->Callback); | |
| 37 |
4/9✓ Branch 2 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 239)->Callback); | |
| 38 | } | |||
| 39 | ||||
| 40 | TEST(CanFilterTest, orderOfBusinessTwo) { | |||
| 41 | resetLuaCanRx(); | |||
| 42 | ||||
| 43 | addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, ANY_BUS, CALLBACK_239); | |||
| 44 | // accept everything as last filter | |||
| 45 | addLuaCanRxFilter(/*eid*/0, 0, ANY_BUS, CALLBACK_ALL); | |||
| 46 | ||||
| 47 | // filters are applied in the order in which those were added | |||
| 48 | ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 0)->Callback); | |||
| 49 | ASSERT_EQ(CALLBACK_239, getFilterForId(/*bus*/0, /*id*/ 239)->Callback); | |||
| 50 | } | |||
| 51 |