def test_00(self): example = BackFront() example.append(4) example.prepend(5) example.append(7) answer = example.as_list() expected = [5, 4, 7] self.assertEqual(answer, expected)
def test_05(self): example = BackFront() for i in range(8): example.append(i) example.delete_first() for i in range(7): self.assertEqual(example.as_list()[i], i + 1) example[i] = 6 self.assertEqual(example.as_list(), [6] * 7)
def test_04(self): example = BackFront() for i in range(8): example.append(i) self.assertEqual(example.as_list(), list(range(8))) for i in range(8): self.assertEqual(example.as_list(), list(range(i, 8))) example.delete_first() self.assertEqual(example.as_list(), [])
def test_07(self): n = 300000 example = BackFront() for i in range(n): example.append(i) self.assertEqual(example.as_list(), list(range(n))) for _ in range(n // 2): example.delete_first() self.assertEqual(example.as_list(), list(range(n // 2, n))) for _ in range(n // 2): example.delete_last() self.assertEqual(example.as_list(), [])
def test_01(self): # test case from alg.mit.edu example = BackFront() example.append(4) example.prepend(5) answer = example.as_list() expected = [5, 4] self.assertEqual(answer, expected) example.delete_first() self.assertEqual(example.as_list(), [4]) example.delete_first() self.assertEqual(example.as_list(), [])
def test_09(self): # similar to 7, but also tests for indexing in O(1) time n = 300000 example = BackFront() for i in range(n): example.append(i) self.assertEqual(example.as_list(), list(range(n))) for i in range(n // 2): self.assertEqual(example[0], i) example.delete_first() self.assertEqual(example.as_list(), list(range(n // 2, n))) first = example[0] for _ in range(n // 2): self.assertEqual(example[0], first) example.delete_last() self.assertEqual(example.as_list(), [])