MCPcopy Create free account
hub / github.com/DanielChappuis/reactphysics3d / testAddRemoveClear

Method testAddRemoveClear

test/tests/containers/TestMap.h:146–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144 }
145
146 void testAddRemoveClear() {
147
148 // ----- Test add() ----- //
149
150 Map<int, int> map1(mAllocator);
151 map1.add(Pair<int, int>(1, 10));
152 map1.add(Pair<int, int>(8, 80));
153 map1.add(Pair<int, int>(13, 130));
154 rp3d_test(map1[1] == 10);
155 rp3d_test(map1[8] == 80);
156 rp3d_test(map1[13] == 130);
157 rp3d_test(map1.size() == 3);
158
159 Map<int, int> map2(mAllocator, 15);
160 for (int i = 0; i < 1000000; i++) {
161 map2.add(Pair<int, int>(i, i * 100));
162 }
163 bool isValid = true;
164 for (int i = 0; i < 1000000; i++) {
165 if (map2[i] != i * 100) isValid = false;
166 }
167 rp3d_test(isValid);
168
169 map1.remove(1);
170 map1.add(Pair<int, int>(1, 10));
171 rp3d_test(map1.size() == 3);
172 rp3d_test(map1[1] == 10);
173
174 map1.add(Pair<int, int>(56, 34));
175 rp3d_test(map1[56] == 34);
176 rp3d_test(map1.size() == 4);
177 map1.add(Pair<int, int>(56, 13), true);
178 rp3d_test(map1[56] == 13);
179 rp3d_test(map1.size() == 4);
180
181 // ----- Test remove() ----- //
182
183 map1.remove(1);
184 rp3d_test(!map1.containsKey(1));
185 rp3d_test(map1.containsKey(8));
186 rp3d_test(map1.containsKey(13));
187 rp3d_test(map1.size() == 3);
188
189 map1.remove(13);
190 rp3d_test(map1.containsKey(8));
191 rp3d_test(!map1.containsKey(13));
192 rp3d_test(map1.size() == 2);
193
194 map1.remove(8);
195 rp3d_test(!map1.containsKey(8));
196 rp3d_test(map1.size() == 1);
197
198 auto it = map1.remove(56);
199 rp3d_test(!map1.containsKey(56));
200 rp3d_test(map1.size() == 0);
201 rp3d_test(it == map1.end());
202
203 isValid = true;

Callers

nothing calls this directly

Calls 8

TestKeyClass · 0.85
containsKeyMethod · 0.80
addMethod · 0.45
sizeMethod · 0.45
removeMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected