diff options
Diffstat (limited to 'CST 126/UnitTests/UnitTests.cpp')
| -rw-r--r-- | CST 126/UnitTests/UnitTests.cpp | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/CST 126/UnitTests/UnitTests.cpp b/CST 126/UnitTests/UnitTests.cpp index 4b17624..f4f3683 100644 --- a/CST 126/UnitTests/UnitTests.cpp +++ b/CST 126/UnitTests/UnitTests.cpp @@ -120,5 +120,98 @@ namespace LinkedListUnitTests travel = travel->_next; } } + + TEST_METHOD(InsertAfterLinkedList) + { + //Arrange + SinglyLinkedList linkedList{}; + ListNode* node = new ListNode{ 1, nullptr }; + ListNode* node2 = new ListNode{ 2, nullptr }; + ListNode* node3 = new ListNode{ 3, nullptr }; + ListNode* node4 = new ListNode{ 4, nullptr }; + ListNode* node5 = new ListNode{ 5, nullptr }; + ListNode* node6 = new ListNode{ 6, nullptr }; + + //Act + bool success = Append(&linkedList, node); + success = Append(&linkedList, node2); + success = Append(&linkedList, node3); + success = Append(&linkedList, node4); + success = Append(&linkedList, node6); + success = InsertAfter(&linkedList, node4, node5); + + ListNode* travel = linkedList._head; + + //Assert + + for (auto i = 1; i <= 6; i++) + { + Assert::AreEqual(i, travel->_data); + travel = travel->_next; + } + } + + TEST_METHOD(InsertBeforeLinkedList) + { + //Arrange + SinglyLinkedList linkedList{}; + ListNode* node = new ListNode{ 1, nullptr }; + ListNode* node2 = new ListNode{ 2, nullptr }; + ListNode* node3 = new ListNode{ 3, nullptr }; + ListNode* node4 = new ListNode{ 4, nullptr }; + ListNode* node5 = new ListNode{ 5, nullptr }; + ListNode* node6 = new ListNode{ 6, nullptr }; + + //Act + bool success = Append(&linkedList, node); + success = Append(&linkedList, node2); + success = Append(&linkedList, node3); + success = Append(&linkedList, node4); + success = Append(&linkedList, node6); + success = InsertBefore(&linkedList, node6, node5); + + ListNode* travel = linkedList._head; + + //Assert + + for (auto i = 1; i <= 6; i++) + { + Assert::AreEqual(i, travel->_data); + travel = travel->_next; + } + } + + + TEST_METHOD(ClearLinkedList) + { + //Arrange + SinglyLinkedList linkedList{}; + ListNode* node = new ListNode{ 1, nullptr }; + ListNode* node2 = new ListNode{ 2, nullptr }; + ListNode* node3 = new ListNode{ 3, nullptr }; + ListNode* node4 = new ListNode{ 4, nullptr }; + ListNode* node5 = new ListNode{ 5, nullptr }; + ListNode* node6 = new ListNode{ 6, nullptr }; + + //Act + bool success = Append(&linkedList, node); + success = Append(&linkedList, node2); + success = Append(&linkedList, node3); + success = Append(&linkedList, node4); + success = Append(&linkedList, node6); + success = InsertBefore(&linkedList, node6, node5); + + ListNode* travel = linkedList._head; + + for (auto i = 1; i <= 6; i++) + { + Assert::AreEqual(i, travel->_data); + travel = travel->_next; + } + success = Clear(&linkedList); + + //Assert + Assert::AreEqual(0ull, linkedList._size); + } }; } |