- 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);