| 1154 cxMapFree(s1); |
1154 cxMapFree(s1); |
| 1155 cxMapFree(s2); |
1155 cxMapFree(s2); |
| 1156 } |
1156 } |
| 1157 |
1157 |
| 1158 CX_TEST(test_hash_map_simple_clones) { |
1158 CX_TEST(test_hash_map_simple_clones) { |
| |
1159 int v = 47; // the value does not matter in this test |
| 1159 CxMap *a = cxHashMapCreateSimple(sizeof(int)); |
1160 CxMap *a = cxHashMapCreateSimple(sizeof(int)); |
| 1160 cxMapPut(a, "k1", "v1"); |
1161 cxMapPut(a, "k1", &v); |
| 1161 cxMapPut(a, "k2", "v2"); |
1162 cxMapPut(a, "k2", &v); |
| 1162 cxMapPut(a, "k3", "v3"); |
1163 cxMapPut(a, "k3", &v); |
| 1163 cxMapPut(a, "k4", "v4"); |
1164 cxMapPut(a, "k4", &v); |
| 1164 |
1165 |
| 1165 CxMap *b = cxHashMapCreateSimple(sizeof(int)); |
1166 CxMap *b = cxHashMapCreateSimple(sizeof(int)); |
| 1166 cxMapPut(b, "k0", "v0"); |
1167 cxMapPut(b, "k0", &v); |
| 1167 cxMapPut(b, "k2", "v2"); |
1168 cxMapPut(b, "k2", &v); |
| 1168 cxMapPut(b, "k5", "v5"); |
1169 cxMapPut(b, "k5", &v); |
| 1169 |
1170 |
| 1170 CxMap *c = cxHashMapCreateSimple(sizeof(int)); |
1171 CxMap *c = cxHashMapCreateSimple(sizeof(int)); |
| 1171 cxMapPut(c, "k3", "v3"); |
1172 cxMapPut(c, "k3", &v); |
| 1172 cxMapPut(c, "k4", "v4"); |
1173 cxMapPut(c, "k4", &v); |
| 1173 cxMapPut(c, "k5", "v5"); |
1174 cxMapPut(c, "k5", &v); |
| 1174 |
1175 |
| 1175 |
1176 |
| 1176 CxHashKey k; |
1177 CxHashKey k; |
| 1177 CxList *kl1 = cxArrayListCreateSimple(sizeof(CxHashKey), 4); |
1178 CxList *kl1 = cxArrayListCreateSimple(sizeof(CxHashKey), 4); |
| 1178 cxCollectionCompareFunc(kl1, cx_hash_key_cmp); |
1179 cxCollectionCompareFunc(kl1, cx_hash_key_cmp); |
| 1190 k = CX_HASH_KEY("k4"); |
1191 k = CX_HASH_KEY("k4"); |
| 1191 cxListAdd(kl2, &k); |
1192 cxListAdd(kl2, &k); |
| 1192 k = CX_HASH_KEY("k5"); |
1193 k = CX_HASH_KEY("k5"); |
| 1193 cxListAdd(kl2, &k); |
1194 cxListAdd(kl2, &k); |
| 1194 |
1195 |
| 1195 CxMap *d1 = cxHashMapCreateSimple(CX_STORE_POINTERS); |
1196 CxMap *d1 = cxHashMapCreateSimple(sizeof(int)); |
| 1196 cxDefineAdvancedDestructor(d1, cxFree, (void*)cxDefaultAllocator); |
1197 CxMap *d2 = cxHashMapCreateSimple(sizeof(int)); |
| 1197 CxMap *d2 = cxHashMapCreateSimple(CX_STORE_POINTERS); |
|
| 1198 cxDefineAdvancedDestructor(d2, cxFree, (void*)cxDefaultAllocator); |
|
| 1199 |
1198 |
| 1200 CX_TEST_DO { |
1199 CX_TEST_DO { |
| 1201 CX_TEST_ASSERT(0 == cxMapCloneSimple(d1, a)); |
1200 CX_TEST_ASSERT(0 == cxMapCloneSimple(d1, a)); |
| 1202 CX_TEST_ASSERT(!cxMapContains(d1, "k0")); |
1201 CX_TEST_ASSERT(!cxMapContains(d1, "k0")); |
| 1203 CX_TEST_ASSERT(cxMapContains(d1, "k1")); |
1202 CX_TEST_ASSERT(cxMapContains(d1, "k1")); |