diff --git a/src/test_dynamic_array.c b/src/test_dynamic_array.c index 8bab02b..de49963 100644 --- a/src/test_dynamic_array.c +++ b/src/test_dynamic_array.c @@ -160,6 +160,24 @@ void test_array_values_correct_after_growth(void) { } +void test_array_looping(void) { + int *arr = NULL; + array_create(arr); + + const int num_elements = DYNAMIC_ARRAY_DEFAULT_ARRAY_SIZE * 2; + for (int i = 0; i < num_elements; i++) { + array_push_value(arr, i); + } + + const ArrayHeader *header = array_get_header(arr); + TEST_ASSERT_EQUAL(num_elements, header->size); + + for (int i = 0; i < header->size; i++) { + TEST_ASSERT_EQUAL(i, arr[i]); + } +} + + int main(void) { UNITY_BEGIN(); @@ -175,6 +193,7 @@ int main(void) RUN_TEST(test_array_size_capacity_relationship); RUN_TEST(test_array_push_beyond_capacity); RUN_TEST(test_array_values_correct_after_growth); + RUN_TEST(test_array_looping); return UNITY_END(); } \ No newline at end of file