tests/test_map.cpp

changeset 706
8c6edaccaef1
parent 691
65baf7f45ac8
child 707
87eb4bdb2d0e
     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 +}

mercurial