From 7fea28f1c1b1fde209258e97824b8b16ef0ace19 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 16 Jul 2022 22:28:23 -0700 Subject: [PATCH] test arrays --- util/test/test_arrays.cpp | 44 +++++++++++++++++++++++++++++++++++++++ util/util.mk | 1 + 2 files changed, 45 insertions(+) create mode 100644 util/test/test_arrays.cpp diff --git a/util/test/test_arrays.cpp b/util/test/test_arrays.cpp new file mode 100644 index 0000000..59ff81e --- /dev/null +++ b/util/test/test_arrays.cpp @@ -0,0 +1,44 @@ +#include + +#include +#include + +using testing::ElementsAre; + +TEST(Util_Arrays, CopyArray) { + int arr[2]; + + // Copy from an initializer list + copyArray(arr, { 10, 20 }); + ASSERT_THAT(arr, ElementsAre(10, 20)); + + // Copy from another array + int arr2[] = { 30, 40 }; + copyArray(arr, arr2); + ASSERT_THAT(arr, ElementsAre(30, 40)); + + // Copy to a scaled channel + scaled_channel arr3[2]; + copyArray(arr3, { 100, 200 }); + ASSERT_THAT(arr3, ElementsAre(100, 200)); +} + +TEST(Util_Arrays, CopyArrayPartial) { + int arr[4]; + copyArray(arr, { 1, 2, 3, 4 }); + ASSERT_THAT(arr, ElementsAre(1, 2, 3, 4)); + + // Copy a smaller array over the beginning of arr + copyArrayPartial(arr, { 100, 200 }); + ASSERT_THAT(arr, ElementsAre(100, 200, 3, 4)); +} + +TEST(Util_Arrays, Size) { + int arr1[2]; + uint8_t arr2[17]; + scaled_channel arr3[21]; + + ASSERT_EQ(2, efi::size(arr1)); + ASSERT_EQ(17, efi::size(arr2)); + ASSERT_EQ(21, efi::size(arr3)); +} diff --git a/util/util.mk b/util/util.mk index 963a2e1..9bdfff5 100644 --- a/util/util.mk +++ b/util/util.mk @@ -6,5 +6,6 @@ RUSEFI_LIB_CPP += \ $(RUSEFI_LIB)/util/src/math.cpp \ RUSEFI_LIB_CPP_TEST += \ + $(RUSEFI_LIB)/util/test/test_arrays.cpp \ $(RUSEFI_LIB)/util/test/test_math.cpp \