MCPcopy Create free account
hub / github.com/HelenOS/helenos / test_operations

Method test_operations

uspace/lib/cpp/src/__bits/test/deque.cpp:229–294  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227 }
228
229 void deque_test::test_operations()
230 {
231 auto check1 = {
232 1, 2, 3, 4, 11, 22, 33, 44, 55, 66, 77, 88,
233 5, 6, 7, 8, 9, 10, 11, 12
234 };
235 auto to_insert = {11, 22, 33, 44, 55, 66, 77, 88};
236
237 std::deque<int> d1{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
238 std::deque<int> d2{d1};
239 std::deque<int> d3{d1};
240 std::deque<int> d4{d1};
241
242 d1.insert(d1.begin() + 5, to_insert.begin(), to_insert.end());
243 test_eq(
244 "insert iterator range",
245 check1.begin(), check1.end(),
246 d1.begin(), d1.end()
247 );
248
249 d2.insert(d2.begin() + 5, to_insert);
250 test_eq(
251 "insert initializer list",
252 check1.begin(), check1.end(),
253 d2.begin(), d2.end()
254 );
255
256 auto check2 = {
257 1, 2, 3, 4, 99, 99, 99, 99, 99, 99, 99, 99,
258 5, 6, 7, 8, 9, 10, 11, 12
259 };
260 d3.insert(d3.begin() + 5, 8U, 99);
261 test_eq(
262 "insert value n times",
263 check2.begin(), check2.end(),
264 d3.begin(), d3.end()
265 );
266
267 auto check3 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
268 d3.erase(d3.begin() + 4, d3.begin() + 12);
269 test_eq(
270 "erase iterator range",
271 check3.begin(), check3.end(),
272 d3.begin(), d3.end()
273 );
274
275 auto check4 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12};
276 d3.erase(d3.begin() + 10);
277 test_eq(
278 "erase",
279 check4.begin(), check4.end(),
280 d3.begin(), d3.end()
281 );
282
283 d2.swap(d3);
284 test_eq(
285 "swap1",
286 check1.begin(), check1.end(),

Callers

nothing calls this directly

Calls 5

insertMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
swapMethod · 0.45

Tested by

no test coverage detected