tests/test_hash_map.c

changeset 853
d4baf4dd55c3
parent 850
b2bc48c2b251
child 854
fe0d69d72bcd
equal deleted inserted replaced
852:16e2a3391e88 853:d4baf4dd55c3
238 cxMapPut(map, "key 3", (void *) "val 3"); 238 cxMapPut(map, "key 3", (void *) "val 3");
239 cxMapPut(map, "key 4", (void *) "val 4"); 239 cxMapPut(map, "key 4", (void *) "val 4");
240 cxMapPut(map, "key 5", (void *) "val 5"); 240 cxMapPut(map, "key 5", (void *) "val 5");
241 cxMapPut(map, "key 6", (void *) "val 6"); 241 cxMapPut(map, "key 6", (void *) "val 6");
242 242
243 CxMutIterator iter = cxMapMutIterator(map); 243 CxIterator iter = cxMapMutIterator(map);
244 cx_foreach(CxMapEntry*, entry, iter) { 244 cx_foreach(CxMapEntry*, entry, iter) {
245 if (((char const *)entry->key->data)[4] % 2 == 1) cxIteratorFlagRemoval(iter); 245 if (((char const *)entry->key->data)[4] % 2 == 1) cxIteratorFlagRemoval(iter);
246 } 246 }
247 CX_TEST_ASSERT(map->size == 3); 247 CX_TEST_ASSERT(map->size == 3);
248 CX_TEST_ASSERT(iter.index == map->size); 248 CX_TEST_ASSERT(iter.index == map->size);
311 cxMapPut(map, k1, (void *) v1); 311 cxMapPut(map, k1, (void *) v1);
312 cxMapPut(map, k3, (void *) v3); 312 cxMapPut(map, k3, (void *) v3);
313 cxMapPut(map, k5, (void *) v5); 313 cxMapPut(map, k5, (void *) v5);
314 314
315 { 315 {
316 CxMutIterator iter = cxMapMutIteratorKeys(map); 316 CxIterator iter = cxMapMutIteratorKeys(map);
317 cx_foreach(CxHashKey*, key, iter) { 317 cx_foreach(CxHashKey*, key, iter) {
318 if (((char*)key->data)[4] == '1') cxIteratorFlagRemoval(iter); 318 if (((char*)key->data)[4] == '1') cxIteratorFlagRemoval(iter);
319 } 319 }
320 } 320 }
321 { 321 {
322 CxMutIterator iter = cxMapMutIteratorValues(map); 322 CxIterator iter = cxMapMutIteratorValues(map);
323 cx_foreach(char*, v, iter) { 323 cx_foreach(char*, v, iter) {
324 if (v[4] == '5') cxIteratorFlagRemoval(iter); 324 if (v[4] == '5') cxIteratorFlagRemoval(iter);
325 } 325 }
326 } 326 }
327 327
378 CxMap *map = cxEmptyMap; 378 CxMap *map = cxEmptyMap;
379 379
380 CxIterator it1 = cxMapIterator(map); 380 CxIterator it1 = cxMapIterator(map);
381 CxIterator it2 = cxMapIteratorValues(map); 381 CxIterator it2 = cxMapIteratorValues(map);
382 CxIterator it3 = cxMapIteratorKeys(map); 382 CxIterator it3 = cxMapIteratorKeys(map);
383 CxMutIterator it4 = cxMapMutIterator(map); 383 CxIterator it4 = cxMapMutIterator(map);
384 CxMutIterator it5 = cxMapMutIteratorValues(map); 384 CxIterator it5 = cxMapMutIteratorValues(map);
385 CxMutIterator it6 = cxMapMutIteratorKeys(map); 385 CxIterator it6 = cxMapMutIteratorKeys(map);
386 386
387 CX_TEST_DO { 387 CX_TEST_DO {
388 CX_TEST_ASSERT(!cxIteratorValid(it1)); 388 CX_TEST_ASSERT(!cxIteratorValid(it1));
389 CX_TEST_ASSERT(!cxIteratorValid(it2)); 389 CX_TEST_ASSERT(!cxIteratorValid(it2));
390 CX_TEST_ASSERT(!cxIteratorValid(it3)); 390 CX_TEST_ASSERT(!cxIteratorValid(it3));

mercurial