tests/test_list.c

changeset 853
d4baf4dd55c3
parent 850
b2bc48c2b251
child 854
fe0d69d72bcd
equal deleted inserted replaced
852:16e2a3391e88 853:d4baf4dd55c3
630 CX_TEST(test_empty_list_iterator) { 630 CX_TEST(test_empty_list_iterator) {
631 CxList *list = cxEmptyList; 631 CxList *list = cxEmptyList;
632 632
633 CxIterator it1 = cxListIterator(list); 633 CxIterator it1 = cxListIterator(list);
634 CxIterator it2 = cxListBackwardsIterator(list); 634 CxIterator it2 = cxListBackwardsIterator(list);
635 CxMutIterator it3 = cxListMutIterator(list); 635 CxIterator it3 = cxListMutIterator(list);
636 CxMutIterator it4 = cxListMutBackwardsIterator(list); 636 CxIterator it4 = cxListMutBackwardsIterator(list);
637 637
638 CX_TEST_DO { 638 CX_TEST_DO {
639 CX_TEST_ASSERT(!cxIteratorValid(it1)); 639 CX_TEST_ASSERT(!cxIteratorValid(it1));
640 CX_TEST_ASSERT(!cxIteratorValid(it2)); 640 CX_TEST_ASSERT(!cxIteratorValid(it2));
641 CX_TEST_ASSERT(!cxIteratorValid(it3)); 641 CX_TEST_ASSERT(!cxIteratorValid(it3));
1222 CX_TEST_ASSERT(*x == testdata[iter.index]); 1222 CX_TEST_ASSERT(*x == testdata[iter.index]);
1223 i--; 1223 i--;
1224 } 1224 }
1225 CX_TEST_ASSERT(i == 0); 1225 CX_TEST_ASSERT(i == 0);
1226 i = len / 2; 1226 i = len / 2;
1227 CxMutIterator mut_iter = cxListMutIteratorAt(list, i); 1227 CxIterator mut_iter = cxListMutIteratorAt(list, i);
1228 CX_TEST_ASSERT(mut_iter.elem_size == list->item_size); 1228 CX_TEST_ASSERT(mut_iter.elem_size == list->item_size);
1229 CX_TEST_ASSERT(mut_iter.elem_count == list->size); 1229 CX_TEST_ASSERT(mut_iter.elem_count == list->size);
1230 size_t j = 0; 1230 size_t j = 0;
1231 cx_foreach(int*, x, mut_iter) { 1231 cx_foreach(int*, x, mut_iter) {
1232 CX_TEST_ASSERT(mut_iter.index == len / 2 + j / 2); 1232 CX_TEST_ASSERT(mut_iter.index == len / 2 + j / 2);
1256 roll_out_test_combos(insert_with_iterator, { 1256 roll_out_test_combos(insert_with_iterator, {
1257 int fivenums[] = array_init(0, 1, 2, 3, 4); 1257 int fivenums[] = array_init(0, 1, 2, 3, 4);
1258 cx_for_n(i, 5) cxListAdd(list, &fivenums[i]); 1258 cx_for_n(i, 5) cxListAdd(list, &fivenums[i]);
1259 int newdata[] = array_init(10, 20, 30, 40, 50); 1259 int newdata[] = array_init(10, 20, 30, 40, 50);
1260 1260
1261 CxMutIterator iter = cxListMutIteratorAt(list, 2); 1261 CxIterator iter = cxListMutIteratorAt(list, 2);
1262 CX_TEST_ASSERT(cxIteratorValid(iter)); 1262 CX_TEST_ASSERT(cxIteratorValid(iter));
1263 CX_TEST_ASSERT(iter.index == 2); 1263 CX_TEST_ASSERT(iter.index == 2);
1264 CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 2); 1264 CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 2);
1265 cxListInsertAfter(&iter, &newdata[0]); 1265 cxListInsertAfter(&iter, &newdata[0]);
1266 CX_TEST_ASSERT(cxIteratorValid(iter)); 1266 CX_TEST_ASSERT(cxIteratorValid(iter));
1363 cxListRemove(list, 47); 1363 cxListRemove(list, 47);
1364 CX_TEST_ASSERT(2 == destr_test_ctr); 1364 CX_TEST_ASSERT(2 == destr_test_ctr);
1365 CX_TEST_ASSERT(testdata[48] == destr_last_value + off); 1365 CX_TEST_ASSERT(testdata[48] == destr_last_value + off);
1366 CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); 1366 CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list));
1367 1367
1368 CxMutIterator iter = cxListMutIteratorAt(list, 7); 1368 CxIterator iter = cxListMutIteratorAt(list, 7);
1369 cxIteratorNext(iter); 1369 cxIteratorNext(iter);
1370 CX_TEST_ASSERT(2 == destr_test_ctr); 1370 CX_TEST_ASSERT(2 == destr_test_ctr);
1371 CX_TEST_ASSERT(testdata[48] == destr_last_value + off); 1371 CX_TEST_ASSERT(testdata[48] == destr_last_value + off);
1372 CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); 1372 CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list));
1373 cxIteratorFlagRemoval(iter); 1373 cxIteratorFlagRemoval(iter);

mercurial