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