aboutsummaryrefslogtreecommitdiff
path: root/CST 126/UnitTests/UnitTests.cpp
blob: 27ad6af522960286df6266d328ee703b13aa036e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "pch.h"
#include "CppUnitTest.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

#include "SinglyLinkedList.hpp"
#include <list>

namespace LinkedListUnitTests
{
	TEST_CLASS(LinkedListUnitTests)
	{
	public:
		//std::list<int> 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;
			}
		}



	};
}