def test_push_and_pop(self): sut = LinkedList([1, 2]) sut.push(3) self.assertEqual(len(sut), 3) self.assertEqual(sut.pop(), 3) self.assertEqual(sut.pop(), 2) self.assertEqual(sut.pop(), 1) self.assertEqual(len(sut), 0) sut.push(4) self.assertEqual(len(sut), 1) self.assertEqual(sut.head().value(), 4)
def test_pop_from_singleton_list_removes_head(self): sut = LinkedList([1]) self.assertEqual(sut.pop(), 1) with self.assertRaises(EmptyListException) as err: sut.head() self.assertEqual(type(err.exception), EmptyListException) self.assertEqual(err.exception.args[0], "The list is empty.")
def test_error_on_empty_list_pop(self): sut = LinkedList() with self.assertRaisesWithMessage(EmptyListException): sut.pop()
def test_pop_from_singleton_list_removes_head(self): sut = LinkedList([1]) self.assertEqual(sut.pop(), 1) with self.assertRaisesWithMessage(EmptyListException): sut.head()
def test_can_pop_from_non_empty_list(self): sut = LinkedList([3, 4, 5]) self.assertEqual(sut.pop(), 5) self.assertEqual(len(sut), 2) self.assertEqual(sut.head().value(), 4)
def test_can_from_non_empty_list(self): sut = LinkedList([3, 4, 5]) self.assertEqual(sut.pop(), 5) self.assertEqual(len(sut), 2) self.assertEqual(sut.head().value(), 4)
def test_error_on_empty_list_pop(self): sut = LinkedList() with self.assertRaises(EmptyListException) as err: sut.pop() self.assertEqual(type(err.exception), EmptyListException) self.assertEqual(err.exception.args[0], "The list is empty.")