diff --git a/lab - linked list lab/TestDequesDifferentially.py b/lab - linked list lab/TestDequesDifferentially.py
index 62a201d97ab4304229404fa0e9e7ba9441481ddd..c285b9816260bdbac0598afe12677aee1ed08a48 100644
--- a/lab - linked list lab/TestDequesDifferentially.py	
+++ b/lab - linked list lab/TestDequesDifferentially.py	
@@ -7,9 +7,105 @@ Your test should exercise the deques in a variety of situations,
 including situations where they have been modified on both sides.
 Verify that the two implementations agree on your test cases.
 """
+from collections import deque
 from unittest import TestCase
 from linked_list_example import doubly_linked_node
 from linked_list_example import LinkedDeque
 
 class TestDequesDifferentially(TestCase):
 
+    def test_is_empty_true(self):
+        linked_deque = LinkedDeque()
+
+        self.assertEqual( linked_deque.is_empty(), True)
+
+    def test_is_empty_false(self):
+        linked_deque = LinkedDeque()
+        linked_deque.add_back(1)
+
+        self.assertEqual( linked_deque.is_empty(), False)
+
+    def test_add_3_elements_front_only(self):
+        linked_deque = LinkedDeque()
+        linked_deque.add_front(1)
+        linked_deque.add_front(2)
+        linked_deque.add_front(3)
+
+        """
+        none
+        1
+        2 1 
+        3 2 1 
+        """
+
+        self.assertEqual( linked_deque.remove_front(), 3)
+        self.assertEqual( linked_deque.remove_front(), 2)
+        self.assertEqual( linked_deque.remove_front(), 1)
+
+    def test_add_3_elements_back_only(self):
+        linked_deque = LinkedDeque()
+        linked_deque.add_back(1)
+        linked_deque.add_back(2)
+        linked_deque.add_back(3)
+        """
+        none
+        1
+        1 2 
+        1 2 3 
+        """
+
+        self.assertEqual( linked_deque.remove_back(), 3)
+        self.assertEqual( linked_deque.remove_back(), 2)
+        self.assertEqual( linked_deque.remove_back(), 1)
+
+    def test_add_elements_like_ping_pong(self):
+        linked_deque = LinkedDeque()
+        linked_deque.add_front("f1")
+        linked_deque.add_back("b1")
+        linked_deque.add_front("f2")
+        linked_deque.add_back("b2")
+        linked_deque.add_front("f3")
+        linked_deque.add_back("b3")
+
+        """
+        none
+        f1
+        f1 b1
+        f2 f1 b1
+        f2 f1 b1 b2
+        f3 f2 b1 b2
+        f3 f2 b1 b2 b3
+        """
+
+        self.assertEqual( linked_deque.remove_front(), "f3")
+        self.assertEqual( linked_deque.remove_back(), "b3")
+        self.assertEqual( linked_deque.remove_front(), "f2")
+        self.assertEqual( linked_deque.remove_back(), "b2")
+        self.assertEqual( linked_deque.remove_front(), "f1")
+        self.assertEqual( linked_deque.remove_back(), "b1")
+
+    def test_compare_array_ADT_and_linked_ADT(self):
+        array_deque = deque()
+        linked_deque = LinkedDeque()
+
+        array_deque.append("b1")
+        array_deque.appendleft("f1")
+        array_deque.append("b2")
+        array_deque.appendleft("f2")
+        array_deque.append("b3")
+        array_deque.appendleft("f3")
+
+        linked_deque.add_front("f1")
+        linked_deque.add_back("b1")
+        linked_deque.add_front("f2")
+        linked_deque.add_back("b2")
+        linked_deque.add_front("f3")
+        linked_deque.add_back("b3")
+
+        self.assertEqual( array_deque.popleft(), linked_deque.remove_front() )
+        self.assertEqual( array_deque.pop(), linked_deque.remove_back() )
+        self.assertEqual( array_deque.popleft(), linked_deque.remove_front() )
+        self.assertEqual( array_deque.pop(), linked_deque.remove_back() )
+        self.assertEqual( array_deque.popleft(), linked_deque.remove_front() )
+        self.assertEqual( array_deque.pop(), linked_deque.remove_back() )
+