static void test_remove_range(void **state) { Sequence *seq = SequenceCreateRange(10, 0, 9); SequenceRemoveRange(seq, 3, 9); assert_int_equal(seq->length, 3); assert_int_equal(*(size_t *) seq->data[0], 0); assert_int_equal(*(size_t *) seq->data[1], 1); assert_int_equal(*(size_t *) seq->data[2], 2); SequenceDestroy(seq); seq = SequenceCreateRange(10, 0, 9); SequenceRemoveRange(seq, 0, 2); assert_int_equal(seq->length, 7); assert_int_equal(*(size_t *) seq->data[0], 3); SequenceDestroy(seq); seq = SequenceCreateRange(10, 0, 9); SequenceRemoveRange(seq, 5, 5); assert_int_equal(seq->length, 9); assert_int_equal(*(size_t *) seq->data[5], 6); SequenceDestroy(seq); }
static void test_remove(void) { Seq *seq = SequenceCreateRange(10, 0, 9); SeqRemove(seq, 5); assert_int_equal(seq->length, 9); assert_int_equal(*(size_t *) seq->data[5], 6); SeqDestroy(seq); seq = SequenceCreateRange(10, 0, 9); SeqRemove(seq, 0); assert_int_equal(seq->length, 9); assert_int_equal(*(size_t *) seq->data[0], 1); SeqDestroy(seq); seq = SequenceCreateRange(10, 0, 9); SeqRemove(seq, 9); assert_int_equal(seq->length, 9); assert_int_equal(*(size_t *) seq->data[8], 8); SeqDestroy(seq); }
static void test_reverse(void) { { Seq *seq = SequenceCreateRange(2, 0, 1); assert_int_equal(0, *(size_t *)seq->data[0]); assert_int_equal(1, *(size_t *)seq->data[1]); SeqReverse(seq); assert_int_equal(1, *(size_t *)seq->data[0]); assert_int_equal(0, *(size_t *)seq->data[1]); SeqDestroy(seq); } { Seq *seq = SequenceCreateRange(3, 0, 2); SeqReverse(seq); assert_int_equal(2, *(size_t *)seq->data[0]); assert_int_equal(1, *(size_t *)seq->data[1]); assert_int_equal(0, *(size_t *)seq->data[2]); SeqDestroy(seq); } }
static void test_index_of(void) { Seq *seq = SequenceCreateRange(10, 0, 9); size_t *key = xmalloc(sizeof(size_t)); *key = 5; ssize_t index = SeqIndexOf(seq, key, CompareNumbers); assert_int_equal(index, 5); *key = 17; index = SeqIndexOf(seq, key, CompareNumbers); assert_true(index == -1); SeqDestroy(seq); free(key); }
static void test_lookup(void) { Seq *seq = SequenceCreateRange(10, 0, 9); size_t *key = xmalloc(sizeof(size_t)); *key = 5; size_t *result = SeqLookup(seq, key, CompareNumbers); assert_int_equal(*result, *key); *key = 17; result = SeqLookup(seq, key, CompareNumbers); assert_int_equal(result, NULL); SeqDestroy(seq); free(key); }