From ac477acfcb4325895b135eeee7881c1e4a9febec Mon Sep 17 00:00:00 2001 From: Sergey Mlayshev Date: Fri, 17 May 2024 00:20:34 +0300 Subject: [PATCH] Added stress test for moving iterators --- tasks/tests/deque_test.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tasks/tests/deque_test.cpp b/tasks/tests/deque_test.cpp index 04860e2..ef4ecbd 100644 --- a/tasks/tests/deque_test.cpp +++ b/tasks/tests/deque_test.cpp @@ -533,6 +533,21 @@ namespace TestsByUnrealf1 { assert(d.rend() > d.rbegin()); } + void testPlusMinusOne() { + Deque d(40); + Deque::iterator begin = d.begin(); + Deque::iterator end = d.end(); + for (int i = 0; i < 100; ++i) { + Deque::iterator test = begin + i; + Deque::iterator test2 = end - (d.size() - i); + assert(test == test2); + } + Deque dd(1000, 3); + for (int i = 2; i < 990; i++) { + std::sort(dd.rbegin(), dd.rbegin() + i); + } + } + void testIteratorsAlgorithms() { Deque d(1000, 3); @@ -719,6 +734,7 @@ int main() { TestsByUnrealf1::testStaticAssertsIterators(); TestsByUnrealf1::testIteratorsArithmetic(); TestsByUnrealf1::testIteratorsComparison(); + TestsByUnrealf1::testPlusMinusOne(); TestsByUnrealf1::testIteratorsAlgorithms(); TestsByUnrealf1::testPushAndPop(); TestsByUnrealf1::testInsertAndErase();