diff --git a/pytests/resources/test_queue.py b/pytests/resources/test_queue.py
index a31d769bcf4b90e8830faedd1e4c7da14197d0d0..e004e7d3e3fbf1060dbb8522c18e6b712f8171ee 100644
--- a/pytests/resources/test_queue.py
+++ b/pytests/resources/test_queue.py
@@ -11,12 +11,82 @@ PyTests for custom Queue implementation.
 # System Imports.
 
 # User Class Imports.
-from resources.stack import Stack
+from resources.queue import Queue
 
 
 
-class TestStack():
-    test_stack = Stack()
+class TestQueue():
+    test_queue = Queue()
 
-    def test_(self):
-        pass
+    def test_queue_creation(self):
+        assert isinstance(self.test_queue, Queue)
+
+    def test_enqueue(self):
+        # Test initial state.
+        assert len(self.test_queue._data_) == 0
+
+        # Test adding first element.
+        self.test_queue.enqueue(4)
+        assert len(self.test_queue._data_) == 1
+        assert self.test_queue._data_[0] == 4
+
+        # Test adding second element.
+        self.test_queue.enqueue('testing')
+        assert len(self.test_queue._data_) == 2
+        assert self.test_queue._data_[0] == 'testing'
+        assert self.test_queue._data_[1] == 4
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_dequeue(self):
+        # Test with two elements.
+        assert self.test_queue.dequeue() == 4
+
+        # Test with one element.
+        assert self.test_queue.dequeue() == 'testing'
+
+        # Test with zero elements.
+        assert self.test_queue.dequeue() == None
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_first(self):
+        # Test with zero elements.
+        assert self.test_queue.first() == None
+
+        # Test with one element.
+        self.test_queue.enqueue(5)
+        assert self.test_queue.first() == 5
+
+        # Test with two elements.
+        self.test_queue.enqueue('testing')
+        assert self.test_queue.first() == 5
+
+        # Remove "top" element and test once again.
+        self.test_queue.dequeue()
+        assert self.test_queue.first() == 'testing'
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_size(self):
+        # Test with two elements.
+        self.test_queue.enqueue('testing')
+        assert self.test_queue.size() == 2
+
+        # Test with one element.
+        self.test_queue.dequeue()
+        assert self.test_queue.size() == 1
+
+        # Test with zero elements.
+        self.test_queue.dequeue()
+        assert self.test_queue.size() == 0
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_is_empty(self):
+        # Test with zero elements.
+        assert self.test_queue.is_empty() == True
+
+        # Test with more than zero elements.
+        self.test_queue.enqueue('')
+        self.test_queue.is_empty() == False
diff --git a/resources/queue.py b/resources/queue.py
index 341de3ee89616888732a3e16b911479a26f9eee8..fcb797015b31e61c1ce4ff743b28dfc0554f7cf9 100644
--- a/resources/queue.py
+++ b/resources/queue.py
@@ -10,4 +10,29 @@ Custom Queue implementation.
 
 
 class Queue():
-    pass
+    def __init__(self):
+        self._data_ = []
+
+    def enqueue(self, value):
+        self._data_ = [value] + self._data_
+
+    def dequeue(self):
+        if self.size() > 0:
+            return self._data_.pop(self.size() - 1)
+        else:
+            return None
+
+    def first(self):
+        if self.size() > 0:
+            return self._data_[self.size() - 1]
+        else:
+            return None
+
+    def size(self):
+        return len(self._data_)
+
+    def is_empty(self):
+        if self.size() == 0:
+            return True
+        else:
+            return False
diff --git a/unittests/resources/queue.py b/unittests/resources/queue.py
index 8cbd81fa275c86a7ae8df7cc6f3b84b8fb170258..0ad25faea082835747bd97c2340c4bdb5401acb8 100644
--- a/unittests/resources/queue.py
+++ b/unittests/resources/queue.py
@@ -16,9 +16,82 @@ import unittest
 from resources.queue import Queue
 
 
-class TestStack(unittest.TestCase):
+class TestQueue(unittest.TestCase):
     def setUp(self):
-        self.test_stack = Queue()
+        self.test_queue = Queue()
 
-    def test_(self):
-        pass
+    def test_queue_creation(self):
+        self.assertTrue(isinstance(self.test_queue, Queue))
+
+    def test_enqueue(self):
+        # Test initial state.
+        self.assertEqual(len(self.test_queue._data_), 0)
+
+        # Test adding first element.
+        self.test_queue.enqueue(4)
+        self.assertEqual(len(self.test_queue._data_), 1)
+        self.assertEqual(self.test_queue._data_[0], 4)
+
+        # Test adding second element.
+        self.test_queue.enqueue('testing')
+        self.assertEqual(len(self.test_queue._data_), 2)
+        self.assertEqual(self.test_queue._data_[0], 'testing')
+        self.assertEqual(self.test_queue._data_[1], 4)
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_dequeue(self):
+        # Test with zero elements.
+        self.assertIsNone(self.test_queue.dequeue())
+
+        # Test with one element.
+        self.test_queue.enqueue(4)
+        self.assertEqual(self.test_queue.dequeue(), 4)
+
+        # Test with two elements.
+        self.test_queue.enqueue(4)
+        self.test_queue.enqueue('testing')
+        self.assertEqual(self.test_queue.dequeue(), 4)
+        self.assertEqual(self.test_queue.dequeue(), 'testing')
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_first(self):
+        # Test with zero elements.
+        self.assertIsNone(self.test_queue.first())
+
+        # Test with one element.
+        self.test_queue.enqueue(5)
+        self.assertEqual(self.test_queue.first(), 5)
+
+        # Test with two elements.
+        self.test_queue.enqueue('testing')
+        self.assertEqual(self.test_queue.first(), 5)
+
+        # Remove "top" element and test once again.
+        self.test_queue.dequeue()
+        self.assertEqual(self.test_queue.first(), 'testing')
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_size(self):
+        # Test with zero elements.
+        self.assertEqual(self.test_queue.size(), 0)
+
+        # Test with one element.
+        self.test_queue.enqueue(6)
+        self.assertEqual(self.test_queue.size(), 1)
+
+        # Test with two elements.
+        self.test_queue.enqueue('testing')
+        self.assertEqual(self.test_queue.size(), 2)
+
+        # Works with 0, 1, and 2 elements. Assuming it works for all further n+1 elements.
+
+    def test_is_empty(self):
+        # Test with zero elements.
+        self.assertTrue(self.test_queue.is_empty())
+
+        # Test with more than zero elements.
+        self.test_queue.enqueue('')
+        self.assertFalse(self.test_queue.is_empty())