def test_remove_middle(self):
     ll = LinkedList()
     ll.append(1)
     ll.append(2)
     ll.append(3)
     ll.remove(1)
     self.assertEqual(3, ll.get(1))
 def test_remove_twice_when_not_empty(self):
     ll = LinkedList()
     ll.append(2)
     ll.append(2)
     ll.remove(0)
     ll.remove(0)
     self.assertEqual(0, ll.len())
 def test_append_on_removed(self):
     ll = LinkedList()
     ll.append(1)
     ll.remove(0)
     ll.append(2)
     # self.assertEqual(ll.get(0), 1)
     self.assertEqual(ll.get(0), 2)
 def test_remove_first_as_list(self):
     ll = LinkedList()
     ll.append(1)
     ll.append(2)
     ll.append(3)
     ll.remove(0)
     self.assertEqual([2, 3], ll.as_list())
 def test_len(self):
     ll = LinkedList()
     ll.append(1)
     ll.append(1)
     ll.remove(0)
     self.assertEqual(ll.len(), 1)
 def test_remove_when_not_empty(self):
     ll = LinkedList()
     ll.append(2)
     ll.remove(0)
     self.assertRaises(IndexError, ll.get, 0)