#include "pch.h" #include "CppUnitTest.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; #include "SinglyLinkedList.hpp" #include namespace LinkedListUnitTests { TEST_CLASS(LinkedListUnitTests) { public: //std::list my_list{2, 6}; TEST_METHOD(EmptyList) { //Arrange SinglyLinkedList linkedList{}; //Assert Assert::AreEqual(0ull, linkedList._size); } TEST_METHOD(AppendingLinkedList) { //Arrange SinglyLinkedList linkedList{}; ListNode* node = new ListNode{ 5, nullptr }; //Act bool success = Append(&linkedList, node); //Assert Assert::AreEqual(5,linkedList._head->_data); Assert::AreEqual(1ull, linkedList._size); } TEST_METHOD(PrependingLinkedList) { //Arrange SinglyLinkedList linkedList{}; ListNode* node = new ListNode{ 2, nullptr }; ListNode* node2 = new ListNode{ 1, nullptr }; ListNode* node3 = new ListNode{ 3, nullptr }; //Act bool success = Append(&linkedList, node); success = Prepend(&linkedList, node2); success = Append(&linkedList, node3); ListNode* travel = linkedList._head; //Assert //Assert::AreEqual(2, linkedList._head->_data); //Assert::AreEqual(6, linkedList._head->_next); //Assert::AreEqual(2ull, linkedList._size); Assert::AreEqual(node2->_data, linkedList._head->_data); for (auto i = 1; i <= 3; i++) { Assert::AreEqual(i, travel->_data); travel = travel->_next; } } }; }