def test_delete_at_index_below_0(self):
     '''
     When trying to delete a node at a given position.
     1. Index must be below 0.
     2. LookupError Expected.
     '''
     ll = LinkedList()
     some_value = "Delete me"
     ll.append("s")
     ll.append("d")
     ll.append(some_value)
     ll.append("45")
     with self.assertRaises(LookupError):
         ll.delete_at(-1)
 def test_delete_at_index_above_or_equal_to_size(self):
     '''
     When trying to delete a node at a given position.
     1. Index must be equal or above size.
     2. LookupError Expected.
     '''
     ll = LinkedList()
     some_value = "Delete me"
     ll.append("s")
     ll.append("d")
     ll.append(some_value)
     ll.append("45")
     with self.assertRaises(LookupError):
         ll.delete_at(ll.size)
 def test_delete_at_index(self):
     '''
     When trying to delete a node at a given position.
     1. Delete a node at a desired index.
     2. index must not be present in the list.
     '''
     ll = LinkedList()
     some_value = "Delete me"
     ll.append("s")
     ll.append("d")
     ll.append(some_value)
     ll.append("45")
     self.assertEqual(ll.delete_at(2), some_value)
     self.assertFalse(ll.is_present(some_value))