| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include <rusefi/arrays.h> | |||
| 2 | ||||
| 3 | #include <gtest/gtest.h> | |||
| 4 | #include <gmock/gmock.h> | |||
| 5 | ||||
| 6 | using testing::ElementsAre; | |||
| 7 | ||||
| 8 | 4 | TEST(Util_Arrays, CopyArray) { | ||
| 9 | 1 | int arr[2]; | ||
| 10 | ||||
| 11 | // Copy from an initializer list | |||
| 12 | 1 | copyArray(arr, { 10, 20 }); | ||
| 13 |
5/10✓ Branch 6 taken 1 time.
✓ Branch 9 taken 1 time.
✓ Branch 12 taken 1 time.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 time.
✗ Branch 23 not taken.
✗ Branch 28 not taken.
✗ Branch 31 not taken.
✓ Branch 38 taken 1 time.
✗ Branch 39 not taken.
|
1 | ASSERT_THAT(arr, ElementsAre(10, 20)); | |
| 14 | ||||
| 15 | // Copy from another array | |||
| 16 | 1 | int arr2[] = { 30, 40 }; | ||
| 17 | 1 | copyArray(arr, arr2); | ||
| 18 |
5/10✓ Branch 6 taken 1 time.
✓ Branch 9 taken 1 time.
✓ Branch 12 taken 1 time.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 time.
✗ Branch 23 not taken.
✗ Branch 28 not taken.
✗ Branch 31 not taken.
✓ Branch 38 taken 1 time.
✗ Branch 39 not taken.
|
1 | ASSERT_THAT(arr, ElementsAre(30, 40)); | |
| 19 | ||||
| 20 | // Copy to a scaled channel | |||
| 21 | 1 | scaled_channel<int, 10, 1> arr3[2]; | ||
| 22 |
1/1✓ Branch 2 taken 1 time.
|
1 | copyArray(arr3, { 100, 200 }); | |
| 23 |
5/10✓ Branch 6 taken 1 time.
✓ Branch 9 taken 1 time.
✓ Branch 12 taken 1 time.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 time.
✗ Branch 23 not taken.
✗ Branch 28 not taken.
✗ Branch 31 not taken.
✓ Branch 38 taken 1 time.
✗ Branch 39 not taken.
|
1 | ASSERT_THAT(arr3, ElementsAre(100, 200)); | |
| 24 | } | |||
| 25 | ||||
| 26 | 4 | TEST(Util_Arrays, CopyArrayPartial) { | ||
| 27 | 1 | int arr[4]; | ||
| 28 | 1 | copyArray(arr, { 1, 2, 3, 4 }); | ||
| 29 |
5/10✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
✓ Branch 42 taken 1 time.
✗ Branch 43 not taken.
|
1 | ASSERT_THAT(arr, ElementsAre(1, 2, 3, 4)); | |
| 30 | ||||
| 31 | // Copy a smaller array over the beginning of arr | |||
| 32 | 1 | copyArrayPartial(arr, { 100, 200 }); | ||
| 33 |
5/10✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
✓ Branch 42 taken 1 time.
✗ Branch 43 not taken.
|
1 | ASSERT_THAT(arr, ElementsAre(100, 200, 3, 4)); | |
| 34 | } | |||
| 35 | ||||
| 36 | TEST(Util_Arrays, Size) { | |||
| 37 | int arr1[2]; | |||
| 38 | uint8_t arr2[17]; | |||
| 39 | scaled_channel<uint16_t, 3, 1> arr3[21]; | |||
| 40 | ||||
| 41 | ASSERT_EQ(2u, efi::size(arr1)); | |||
| 42 | ASSERT_EQ(17u, efi::size(arr2)); | |||
| 43 | ASSERT_EQ(21u, efi::size(arr3)); | |||
| 44 | } | |||
| 45 |