def test_get_first(self):
     """
     Tests that the first node of a list is returned
     """
     l = LinkedList()
     l.insert_first(1)
     self.assertEqual(l.get_first().data, 1)
     l.insert_first(2)
     self.assertEqual(l.get_first().data, 2)
 def test_remove_first_size_3(self):
     """
     Tests the removal of first node in list when list has three nodes 
     """
     l = LinkedList()
     l.insert_first("c")
     l.insert_first("b")
     l.insert_first("a")
     l.remove_first()
     self.assertEqual(l.size(), 2)
     self.assertEqual(l.get_first().data, "b")
     l.remove_first()
     self.assertEqual(l.size(), 1)
     self.assertEqual(l.get_first().data, "c")
 def test_insert_at_0_on_empty_list(self):
     """
     Tests insertion of node on empty list
     """
     l = LinkedList()
     l.insert_at("hi", 0)
     self.assertEqual(l.get_first().data, "hi")
 def test_remove_first_size_1(self):
     """
     Tests the removal of first node in list when list has one node
     """
     l = LinkedList()
     l.insert_first("a")
     l.remove_first()
     self.assertEqual(l.size(), 0)
     self.assertEqual(l.get_first(), None)