Skip to content
Snippets Groups Projects
Commit 3bfa8e58 authored by Mark Haines's avatar Mark Haines
Browse files

Fix bug in list where the wrong value was copied if an item was inserted at...

Fix bug in list where the wrong value was copied if an item was inserted at the beinging of the list
parent 0d14cb57
No related branches found
No related tags found
No related merge requests found
......@@ -69,10 +69,10 @@ public:
} else if (pos == _end) {
--pos;
}
T * tmp = pos;
while (tmp != _end - 1) {
*(tmp + 1) = *tmp;
++tmp;
T * tmp = _end - 1;
while (tmp != pos) {
*tmp = *(tmp - 1);
--tmp;
}
return pos;
}
......
......@@ -44,6 +44,28 @@ assert_equals(4, test_list[3]);
} /** List insert test **/
{ /** List insert beginning test **/
TestCase test_case("List insert beginning");
olm::List<int, 4> test_list;
assert_equals(std::size_t(0), test_list.size());
for (int i = 0; i < 4; ++i) {
test_list.insert(test_list.begin(), i);
}
assert_equals(std::size_t(4), test_list.size());
int i = 4;
for (auto item : test_list) {
assert_equals(--i, item);
}
} /** List insert test **/
{ /** List erase test **/
TestCase test_case("List erase");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment