diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-12-27 23:31:26 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-12-27 23:31:26 +0100 |
| commit | 18c7f3223bc3bb8085c4b35a04c4dafaa88a4dd8 (patch) | |
| tree | eecea0315a811d2c5843eb79f53344158bfc0b43 | |
| parent | 7001dd552613f087dfa857602b9da240295e2cfb (diff) | |
| download | vis-18c7f3223bc3bb8085c4b35a04c4dafaa88a4dd8.tar.gz vis-18c7f3223bc3bb8085c4b35a04c4dafaa88a4dd8.tar.xz | |
test/core: add some array_remove test cases
| -rw-r--r-- | core/array.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/core/array.c b/core/array.c index db95541..64f6b81 100644 --- a/core/array.c +++ b/core/array.c @@ -49,6 +49,34 @@ static void test_small_objects(void) { array_clear(&arr); ok(array_length(&arr) == 0 && array_get(&arr, 0) == NULL && errno == EINVAL, "Clear"); + for (size_t i = 0; i < len; i++) { + ok(array_add(&arr, &values[i]) && array_length(&arr) == i+1, + "Re-add integer: %zu = %d", i, values[i]); + } + + int *v; + + size_t len_before = array_length(&arr); + ok(array_remove(&arr, 2) && array_length(&arr) == len_before-1 && + (v = array_get(&arr, 0)) && *v == values[0] && + (v = array_get(&arr, 1)) && *v == values[1] && + (v = array_get(&arr, 2)) && *v == values[3] && + (v = array_get(&arr, 3)) && *v == values[4], + "Remove element 2"); + + len_before = array_length(&arr); + ok(array_remove(&arr, 0) && array_length(&arr) == len_before-1 && + (v = array_get(&arr, 0)) && *v == values[1] && + (v = array_get(&arr, 1)) && *v == values[3] && + (v = array_get(&arr, 2)) && *v == values[4], + "Remove first element"); + + len_before = array_length(&arr); + ok(array_remove(&arr, len_before-1) && array_length(&arr) == len_before-1 && + (v = array_get(&arr, 0)) && *v == values[1] && + (v = array_get(&arr, 1)) && *v == values[3], + "Remove last element"); + array_release(&arr); } |
