1.1 --- a/tests/test_map.cpp Sun May 21 14:04:34 2023 +0200 1.2 +++ b/tests/test_map.cpp Sun May 21 14:37:56 2023 +0200 1.3 @@ -472,3 +472,51 @@ 1.4 cxMapDestroy(map); 1.5 EXPECT_TRUE(allocator.verify()); 1.6 } 1.7 + 1.8 +TEST(EmptyMap, Size) { 1.9 + auto map = cxEmptyMap; 1.10 + 1.11 + EXPECT_EQ(map->size, 0); 1.12 +} 1.13 + 1.14 +TEST(EmptyMap, Iterator) { 1.15 + auto map = cxEmptyMap; 1.16 + 1.17 + auto it1 = cxMapIterator(map); 1.18 + auto it2 = cxMapIteratorValues(map); 1.19 + auto it3 = cxMapIteratorKeys(map); 1.20 + auto it4 = cxMapMutIterator(map); 1.21 + auto it5 = cxMapMutIteratorValues(map); 1.22 + auto it6 = cxMapMutIteratorKeys(map); 1.23 + 1.24 + EXPECT_FALSE(cxIteratorValid(it1)); 1.25 + EXPECT_FALSE(cxIteratorValid(it2)); 1.26 + EXPECT_FALSE(cxIteratorValid(it3)); 1.27 + EXPECT_FALSE(cxIteratorValid(it4)); 1.28 + EXPECT_FALSE(cxIteratorValid(it5)); 1.29 + EXPECT_FALSE(cxIteratorValid(it6)); 1.30 + 1.31 + int c = 0; 1.32 + cx_foreach(void*, data, it1) c++; 1.33 + cx_foreach(void*, data, it2) c++; 1.34 + cx_foreach(void*, data, it3) c++; 1.35 + cx_foreach(void*, data, it4) c++; 1.36 + cx_foreach(void*, data, it5) c++; 1.37 + cx_foreach(void*, data, it6) c++; 1.38 + EXPECT_EQ(c, 0); 1.39 +} 1.40 + 1.41 +TEST(EmptyMap, NoOps) { 1.42 + auto map = cxEmptyMap; 1.43 + 1.44 + ASSERT_NO_FATAL_FAILURE(cxMapClear(map)); 1.45 + ASSERT_NO_FATAL_FAILURE(cxMapRehash(map)); 1.46 + ASSERT_NO_FATAL_FAILURE(cxMapDestroy(map)); 1.47 +} 1.48 + 1.49 +TEST(EmptyMap, Get) { 1.50 + auto map = cxEmptyMap; 1.51 + 1.52 + CxHashKey key = cx_hash_key_str("test"); 1.53 + EXPECT_EQ(cxMapGet(map, key), nullptr); 1.54 +}