GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/sensor/table_func.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 21 0 21
Functions: 100.0% 6 0 6
Branches: 42.9% 21 0 49
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #include "pch.h"
2
3 #include "table_func.h"
4
5 4 TEST(TableFuncTest, basic) {
6 1 float in[] = { 0, 10 };
7 1 float out[] = { 30, 40 };
8
9 1 TableFunc dut(in, out);
10
11
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(30, dut.convert(-10).value_or(0));
12
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(30, dut.convert(0).value_or(0));
13
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(35, dut.convert(5).value_or(0));
14
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(40, dut.convert(10).value_or(0));
15
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(40, dut.convert(20).value_or(0));
16 1 }
17
18 4 TEST(TableFuncTest, scaled) {
19 1 scaled_channel<uint16_t, 1000> in[] = { 0, 1, 2 };
20 1 uint8_t out[] = { 70, 60, 50 };
21
22 using BinType = std::remove_extent_t<decltype(in)>;
23
24 TableFunc<BinType, uint8_t, 3,
25 // output units are 1/100
26 efi::ratio<1, 100>>
27 1 dut(in, out);
28
29
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(0.65f, dut.convert(0.5f).value_or(0));
30
3/7
✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
1 EXPECT_EQ(0.55f, dut.convert(1.5f).value_or(0));
31 1 }
32