aboutsummaryrefslogtreecommitdiff
path: root/CST 126/UnitTests/UnitTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CST 126/UnitTests/UnitTests.cpp')
-rw-r--r--CST 126/UnitTests/UnitTests.cpp93
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);
+ }
};
}