#include "pch.h" #include "CppUnitTest.h" #include "SinglyLinkedList.hpp" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace LinkedListUnitTests { TEST_CLASS(LinkedListUnitTests) { public: TEST_METHOD(EmptyListHasZeroSize) { SinglyLinkedList LinkedList{}; Assert::AreEqual(0ull, LinkedList._size); } TEST_METHOD(AppendingLinkedListWith1Item) { SinglyLinkedList LinkedList{}; ListNode* node = new ListNode{ 5, nullptr }; bool Success = Append(&LinkedList, node); Assert::AreEqual(5, LinkedList._head->_data); delete node; } TEST_METHOD(AppendingLinkedListWith5Items) { SinglyLinkedList LinkedList{}; ListNode* node = new ListNode{ 5, nullptr }; Append(&LinkedList, node); Append(&LinkedList, node); Append(&LinkedList, node); Append(&LinkedList, node); Append(&LinkedList, node); Assert::AreEqual(5, LinkedList._head->_next->_next->_next->_next->_data); delete node; } TEST_METHOD(DeleteFirstLinkWith0) { SinglyLinkedList LinkedList{}; ListNode* node = new ListNode{}; bool Success = RemoveFirst(&LinkedList, node); Assert::AreEqual(1, static_cast(Success)); delete node; } }; }