def test_remove_at_out_of_bounds(self):
     """ 
     Tests for return of None when called on index that is out of bounds
     """
     l = LinkedList()
     l.insert_first("a")
     l.remove_at(1)
     self.assertEqual(l.remove_at(1), None)
 def test_remove_at_given_index(self):
     """
     Tests for removal of node at given index
     """
     l = LinkedList()
     l.insert_last(1)
     l.insert_last(2)
     l.insert_last(3)
     l.insert_last(4)
     self.assertEqual(l.get_at(1).data, 2)
     l.remove_at(1)
     self.assertEqual(l.get_at(1).data, 3)
 def test_remove_at_first_node(self):
     """
     Tests removal of first node
     """
     l = LinkedList()
     l.insert_last(1)
     l.insert_last(2)
     l.insert_last(3)
     l.insert_last(4)
     self.assertEqual(l.get_at(0).data, 1)
     l.remove_at(0)
     self.assertEqual(l.get_at(0).data, 2)