MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / test_map_add

Function test_map_add

tests/unit/test_map.c:51–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51void test_map_add() {
52 SIValue map = Map_New(2);
53
54 SIValue k0 = SI_ConstStringVal("key0");
55 SIValue k1 = SI_ConstStringVal("key1");
56 SIValue k2 = SI_ConstStringVal("key2");
57 SIValue v0 = SI_LongVal(0);
58 SIValue v1 = SI_DoubleVal(1);
59 SIValue v2 = SI_ConstStringVal("");
60 SIValue keys[3] = {k0, k1, k2};
61 SIValue values[3] = {v0, v1, v2};
62
63 // add elements to map
64 for(int i = 0; i < 3; i++) {
65 Map_Add(&map, keys[i], values[i]);
66 }
67
68 // remove none existing key
69 SIValue none_existing = SI_ConstStringVal("none_existing");
70 Map_Remove(map, none_existing);
71
72 // try to get none existing keys
73 SIValue v = SI_NullVal();
74 TEST_ASSERT(!Map_Get(map, none_existing, &v));
75
76 // expecting 3 keys
77 TEST_ASSERT(Map_KeyCount(map) == 3);
78
79 // verify map content
80 for(int i = 0; i < 3; i++) {
81 SIValue v = SI_NullVal();
82
83 TEST_ASSERT(Map_Contains(map, keys[i]));
84
85 Map_Get(map, keys[i], &v);
86 TEST_ASSERT(SI_TYPE(v) == SI_TYPE(values[i]));
87 }
88
89 // verify keys
90 SIValue stored_keys = Map_Keys(map);
91 TEST_ASSERT(SIArray_Length(stored_keys) == 3);
92 for(int i = 0; i < 3; i++) {
93 SIValue key = SIArray_Get(stored_keys, i);
94 TEST_ASSERT(strcmp(keys[i].stringval, key.stringval) == 0);
95 }
96
97 // clean up
98 SIArray_Free(stored_keys);
99 Map_Free(map);
100}
101
102void test_map_remove() {
103 SIValue map = Map_New(2);

Callers

nothing calls this directly

Calls 15

Map_NewFunction · 0.85
SI_ConstStringValFunction · 0.85
SI_LongValFunction · 0.85
SI_DoubleValFunction · 0.85
Map_AddFunction · 0.85
Map_RemoveFunction · 0.85
SI_NullValFunction · 0.85
Map_GetFunction · 0.85
Map_KeyCountFunction · 0.85
Map_ContainsFunction · 0.85
Map_KeysFunction · 0.85
SIArray_LengthFunction · 0.85

Tested by

no test coverage detected