tests/test_kv_list.c

changeset 1375
e0ba5e20e77a
parent 1373
a6aaa77b6809
equal deleted inserted replaced
1374:4dceda670b05 1375:e0ba5e20e77a
106 CX_TEST_ASSERT(cxMapGet(map, "hij") == NULL); 106 CX_TEST_ASSERT(cxMapGet(map, "hij") == NULL);
107 } 107 }
108 cxListFree(list); 108 cxListFree(list);
109 } 109 }
110 110
111 CX_TEST(test_kv_list_find_and_remove) {
112 CxList *list = cxKvListCreateSimple(sizeof(int));
113 list->collection.cmpfunc = cx_cmp_int;
114 int x, y;
115 CX_TEST_DO {
116 CxMap *map = cxKvListAsMap(list);
117
118 x = 13;
119 CX_TEST_ASSERT(0 == cxMapPut(map, "xyz", &x));
120 x = 37;
121 CX_TEST_ASSERT(0 == cxMapPut(map, "abc", &x));
122 x = 47;
123 CX_TEST_ASSERT(0 == cxMapPut(map, "efg", &x));
124 x = 90;
125 CX_TEST_ASSERT(0 == cxMapPut(map, "hij", &x));
126
127 CX_TEST_ASSERT(cxMapSize(map) == 4);
128 CX_TEST_ASSERT(cxListSize(list) == 4);
129
130 CX_TEST_ASSERT(*(int*)cxMapGet(map, "efg") == 47);
131 y = 47;
132 CX_TEST_ASSERT(2 == cxListFindRemove(list, &y));
133 CX_TEST_ASSERT(cxListSize(list) == 3);
134 CX_TEST_ASSERT(cxMapSize(map) == 3);
135 CX_TEST_ASSERT(cxMapGet(map, "efg") == NULL);
136
137 CX_TEST_ASSERT(*(int*)cxMapGet(map, "xyz") == 13);
138 y = 13;
139 CX_TEST_ASSERT(0 == cxListFindRemove(list, &y));
140 CX_TEST_ASSERT(cxListSize(list) == 2);
141 CX_TEST_ASSERT(cxMapSize(map) == 2);
142 CX_TEST_ASSERT(cxMapGet(map, "xyz") == NULL);
143
144 CX_TEST_ASSERT(*(int*)cxMapGet(map, "hij") == 90);
145 y = 90;
146 CX_TEST_ASSERT(1 == cxListFindRemove(list, &y));
147 CX_TEST_ASSERT(cxListSize(list) == 1);
148 CX_TEST_ASSERT(cxMapSize(map) == 1);
149 CX_TEST_ASSERT(cxMapGet(map, "hij") == NULL);
150
151 y = 666;
152 CX_TEST_ASSERT(cxListSize(list) == cxListFindRemove(list, &y));
153 }
154 cxListFree(list);
155 }
156
111 CX_TEST(test_kv_list_remove_and_get) { 157 CX_TEST(test_kv_list_remove_and_get) {
112 CxList *list = cxKvListCreateSimple(sizeof(int)); 158 CxList *list = cxKvListCreateSimple(sizeof(int));
113 int x, y; 159 int x, y;
114 CX_TEST_DO { 160 CX_TEST_DO {
115 CxMap *map = cxKvListAsMap(list); 161 CxMap *map = cxKvListAsMap(list);
477 523
478 cx_test_register(suite, test_kv_list_map_as_list); 524 cx_test_register(suite, test_kv_list_map_as_list);
479 cx_test_register(suite, test_kv_list_free_as_map); 525 cx_test_register(suite, test_kv_list_free_as_map);
480 cx_test_register(suite, test_kv_list_free_as_list); 526 cx_test_register(suite, test_kv_list_free_as_list);
481 cx_test_register(suite, test_kv_list_remove); 527 cx_test_register(suite, test_kv_list_remove);
528 cx_test_register(suite, test_kv_list_find_and_remove);
482 cx_test_register(suite, test_kv_list_remove_and_get); 529 cx_test_register(suite, test_kv_list_remove_and_get);
483 cx_test_register(suite, test_kv_list_remove_array); 530 cx_test_register(suite, test_kv_list_remove_array);
484 cx_test_register(suite, test_kv_list_remove_array_and_get); 531 cx_test_register(suite, test_kv_list_remove_array_and_get);
485 cx_test_register(suite, test_kv_list_map_put); 532 cx_test_register(suite, test_kv_list_map_put);
486 cx_test_register(suite, test_kv_list_map_put_ptr); 533 cx_test_register(suite, test_kv_list_map_put_ptr);

mercurial