X-Git-Url: https://git.auder.net/?p=cgds.git;a=blobdiff_plain;f=test%2Ft.Vector.c;h=1ccf7795eb60786ac66649440d2e681015d5d75b;hp=7fde1e94f720a26a3a825582f22239200e4b6b1c;hb=e45132acdb58c076d5e06849fa51c26de9a7486d;hpb=1ff641f9960fa6c6081817a5641afb22fad91dcd diff --git a/test/t.Vector.c b/test/t.Vector.c index 7fde1e9..1ccf779 100644 --- a/test/t.Vector.c +++ b/test/t.Vector.c @@ -5,144 +5,144 @@ void t_vector_clear() { - Vector* v = vector_new(int); - lu_assert(vector_empty(v)); + Vector* v = vector_new(int); + lu_assert(vector_empty(v)); - vector_push(v, 0); - vector_push(v, 0); - vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); - vector_destroy(v); - v = vector_new(int); + vector_destroy(v); + v = vector_new(int); - vector_push(v, 0); - vector_push(v, 0); - vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); - vector_clear(v); - lu_assert(vector_empty(v)); + vector_clear(v); + lu_assert(vector_empty(v)); - vector_destroy(v); + vector_destroy(v); } void t_vector_size() { - Vector* v = vector_new(int); - lu_assert(vector_empty(v)); + Vector* v = vector_new(int); + lu_assert(vector_empty(v)); - vector_push(v, 0); - vector_push(v, 0); - vector_push(v, 0); - lu_assert_int_eq(vector_size(v), 3); + vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); + lu_assert_int_eq(vector_size(v), 3); - vector_push(v, 0); - vector_push(v, 0); - lu_assert_int_eq(vector_size(v), 5); + vector_push(v, 0); + vector_push(v, 0); + lu_assert_int_eq(vector_size(v), 5); - vector_push(v, 0); - vector_push(v, 0); - vector_push(v, 0); - lu_assert_int_eq(vector_size(v), 8); + vector_push(v, 0); + vector_push(v, 0); + vector_push(v, 0); + lu_assert_int_eq(vector_size(v), 8); - vector_destroy(v); + vector_destroy(v); } void t_vector_push_pop_basic() { - int n = 10; - - Vector* v = vector_new(double); - for (int i = 0; i < n; i++) vector_push(v, (double) i); - // iterate and check values - VectorIterator* vi = vector_get_iterator(v); - double ckValue = 0.0; - while (vectorI_has_data(vi)) - { - double d; - vectorI_get(vi, d); - lu_assert_dbl_eq(d, ckValue); - ckValue += 1.0; - vectorI_move_next(vi); - } - - // same, from end to beginning - ckValue = n - 1; - vectorI_reset_end(vi); - while (vectorI_has_data(vi)) - { - double d; - vectorI_get(vi, d); - lu_assert_dbl_eq(d, ckValue); - ckValue -= 1.0; - vectorI_move_prev(vi); - } - vector_destroy(v); - vectorI_destroy(vi); + int n = 10; + + Vector* v = vector_new(double); + for (int i = 0; i < n; i++) vector_push(v, (double) i); + // iterate and check values + VectorIterator* vi = vector_get_iterator(v); + double ckValue = 0.0; + while (vectorI_has_data(vi)) + { + double d; + vectorI_get(vi, d); + lu_assert_dbl_eq(d, ckValue); + ckValue += 1.0; + vectorI_move_next(vi); + } + + // same, from end to beginning + ckValue = n - 1; + vectorI_reset_end(vi); + while (vectorI_has_data(vi)) + { + double d; + vectorI_get(vi, d); + lu_assert_dbl_eq(d, ckValue); + ckValue -= 1.0; + vectorI_move_prev(vi); + } + vector_destroy(v); + vectorI_destroy(vi); } void t_vector_push_pop_evolved() { - int n = 10; - - Vector* v = vector_new(StructTest1); - StructTest1* st1 = (StructTest1*) malloc(n * sizeof (StructTest1)); - for (int i = 0; i < n; i++) - { - st1[i].a = random() % 42; - st1[i].b = (double) random() / RAND_MAX; - vector_push(v, *(st1 + i)); - } - for (int i = 0; i < n; i++) - { - //another way to access elements - StructTest1 st1Cell; - vector_get(v, i, st1Cell); - lu_assert_int_eq(st1Cell.a, st1[i].a); - lu_assert_dbl_eq(st1Cell.b, st1[i].b); - } - safe_free(st1); - vector_destroy(v); - - v = vector_new(StructTest2*); - StructTest2* st2 = (StructTest2*) malloc(n * sizeof (StructTest2)); - for (int i = 0; i < n; i++) - { - st2[i].a = (float) random() / RAND_MAX; - st2[i].b = (StructTest1*) malloc(sizeof (StructTest1)); - st2[i].b->a = random() % 42; - st2[i].b->b = (double) random() / RAND_MAX; - vector_push(v, st2 + i); - } - for (int i = 0; i < n; i++) - { - StructTest2* st2Cell; - vector_get(v, i, st2Cell); - lu_assert_dbl_eq(st2Cell->a, st2[i].a); - lu_assert_int_eq(st2Cell->b->a, st2[i].b->a); - lu_assert_dbl_eq(st2Cell->b->b, st2[i].b->b); - safe_free(st2Cell->b); - } - safe_free(st2); - vector_destroy(v); + int n = 10; + + Vector* v = vector_new(StructTest1); + StructTest1* st1 = (StructTest1*) malloc(n * sizeof (StructTest1)); + for (int i = 0; i < n; i++) + { + st1[i].a = random() % 42; + st1[i].b = (double) random() / RAND_MAX; + vector_push(v, *(st1 + i)); + } + for (int i = 0; i < n; i++) + { + //another way to access elements + StructTest1 st1Cell; + vector_get(v, i, st1Cell); + lu_assert_int_eq(st1Cell.a, st1[i].a); + lu_assert_dbl_eq(st1Cell.b, st1[i].b); + } + safe_free(st1); + vector_destroy(v); + + v = vector_new(StructTest2*); + StructTest2* st2 = (StructTest2*) malloc(n * sizeof (StructTest2)); + for (int i = 0; i < n; i++) + { + st2[i].a = (float) random() / RAND_MAX; + st2[i].b = (StructTest1*) malloc(sizeof (StructTest1)); + st2[i].b->a = random() % 42; + st2[i].b->b = (double) random() / RAND_MAX; + vector_push(v, st2 + i); + } + for (int i = 0; i < n; i++) + { + StructTest2* st2Cell; + vector_get(v, i, st2Cell); + lu_assert_dbl_eq(st2Cell->a, st2[i].a); + lu_assert_int_eq(st2Cell->b->a, st2[i].b->a); + lu_assert_dbl_eq(st2Cell->b->b, st2[i].b->b); + safe_free(st2Cell->b); + } + safe_free(st2); + vector_destroy(v); } void t_vector_copy() { - int n = 10; - - Vector* v = vector_new(int); - for (int i = 0; i < n; i++) - vector_push(v, random() % 42); - Vector* vc = vector_copy(v); - - lu_assert_int_eq(v->size, vc->size); - int a, b; - for (int i = 0; i < n; i++) - { - vector_get(v, i, a); - vector_get(vc, i, b); - lu_assert_int_eq(a, b); - } - vector_destroy(v); - vector_destroy(vc); + int n = 10; + + Vector* v = vector_new(int); + for (int i = 0; i < n; i++) + vector_push(v, random() % 42); + Vector* vc = vector_copy(v); + + lu_assert_int_eq(v->size, vc->size); + int a, b; + for (int i = 0; i < n; i++) + { + vector_get(v, i, a); + vector_get(vc, i, b); + lu_assert_int_eq(a, b); + } + vector_destroy(v); + vector_destroy(vc); }