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
......@@ -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");
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment