From c5d89d1ba78a82e6b31aa498fb0f21c4d527e752 Mon Sep 17 00:00:00 2001 From: leiyu3 Date: Thu, 22 Sep 2022 11:41:31 -0400 Subject: write test up to remove_val --- vector_test.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 vector_test.c (limited to 'vector_test.c') diff --git a/vector_test.c b/vector_test.c new file mode 100644 index 0000000..c1f1ae4 --- /dev/null +++ b/vector_test.c @@ -0,0 +1,103 @@ +#include +#include "vector.h" + +vector_t vec; +int n = 16; +void suitesetup(void){ + vec = vector_init(n); +} + +void suiteteardown(void){ + destroy_vec(&vec); +} + +TestSuite(vectortests, .init=suitesetup, .fini=suiteteardown); + +Test(vectortests, capacity_test){ + cr_expect(capacity(vec) == n, "Vector should have a capacity of %d", n); + cr_expect(capacity(vec) != n+1, "vector should have a capacity of %d", n); +} + +Test(vectortests, is_empty_test){ + cr_assert(is_empty(vec)==1, "is_empty should return 1"); + push(&vec, 1); + cr_assert(is_empty(vec)==0, "is_empty should return 0"); +} + +Test(vectortests, is_full_test){ + cr_assert(is_full(vec)==0, "is_full should return 0"); + for (int i = 0; i < n; i++){ + push(&vec, i); + } + cr_assert(is_full(vec)==1, "is_full should return 1"); +} + +Test(vectortests, size_test){ + cr_assert(size(vec)==0, "Size of vector should be 0 at first"); + for (int i = 0; i < 10; i++){ + push(&vec, i); + } + cr_assert(size(vec)==10, "Size of vector should be 10"); +} + +Test(vectortests, at_test){ + for (int i = 0; i < 10; i++){ + push(&vec, i+3); + } + cr_assert(at(vec, 6)==9, "at(vec, 6) should return 9"); +} + +Test(vectortests, at_invalid_index_test, .exit_code = -1, .disabled=true){ + at(vec, -5); +} + +Test(vectortests, push_test){ + push(&vec, 3); + push(&vec, 6); + push(&vec, 9); + + cr_assert(at(vec, 1) == 6); + cr_assert(size(vec) == 3); +} + +Test(vectortests, insert_test){ + push(&vec, 3); + push(&vec, 6); + push(&vec, 9); + insert(&vec, 1, 55); + + cr_assert(at(vec, 1) == 55); + cr_assert(at(vec, 2) == 6); + cr_assert(at(vec, 3) == 9); + cr_assert(size(vec) == 4); +} + +Test(vectortests, delete_check){ + push(&vec, 3); + push(&vec, 6); + push(&vec, 9); + insert(&vec, 1, 55); + delete_vec(&vec, 1); + + cr_assert(at(vec, 1) == 6); + cr_assert(size(vec) == 3); +} + +Test(vectortests, remove_test){ + for (int i = 0; i < vec.max_size; i++){ + if (i%2 == 0){ + push(&vec, 5); + continue; + } + push(&vec, i); + } + + remove_val(&vec, 5); + + cr_assert(size(vec) == 7); + cr_assert(at(vec, 2) == 7); +} + + + + -- cgit v1.2.3