class DeleteMultipleTimesFromArray(unittest.TestCase): def setUp(self) -> None: self.da = DynArray() for i in range(32): self.da.append(i) def test(self): self.assertEqual(32, self.da.capacity) self.assertEqual(32, self.da.count) for i in reversed(range(len(self.da))): self.da.delete(i) self.assertEqual(0, self.da.count) self.assertEqual(16, self.da.capacity)
class DeleteFromStartTestCase(unittest.TestCase): def setUp(self) -> None: self.da = DynArray() for i in range(1, 17): self.da.append(i) def test(self): self.assertEqual(16, self.da.capacity) self.assertEqual(16, self.da.count) self.da.delete(0) self.assertEqual(16, self.da.capacity) self.assertEqual(15, self.da.count) self.assertEqual(2, self.da[0])
class DeleteWithModifyCapacityTestCase(unittest.TestCase): def setUp(self) -> None: self.da = DynArray() for i in range(1, 18): self.da.append(i) def test(self): self.assertEqual(32, self.da.capacity) self.assertEqual(17, self.da.count) self.da.delete(15) self.da.delete(14) self.assertEqual(32, self.da.capacity) self.assertEqual(15, self.da.count)
class TestDynArray(unittest.TestCase): def setUp(self): self.da = DynArray() self.da.append(15) self.da.append(38) self.da.append(73) self.da.append(24) def test_insert_1(self): self.da.insert(1, 120) self.arr = [] for i in range(len(self.da)): self.arr.append(self.da[i]) self.assertEqual(self.arr, [15, 120, 38, 73, 24]) def test_insert_2(self): self.da.append(0) self.da.append(1) self.da.append(2) self.da.append(3) self.da.append(4) self.da.append(5) self.da.append(6) self.da.append(7) self.da.append(8) self.da.append(9) self.da.append(10) self.da.append(11) self.da.insert(15, 120) self.arr = [] for i in range(len(self.da)): self.arr.append(self.da[i]) self.assertEqual( self.arr, [15, 38, 73, 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 120, 11]) def test_delete(self): self.da.delete(1) self.arr = [] for i in range(len(self.da)): self.arr.append(self.da[i]) self.assertEqual(self.arr, [15, 73, 24])