def test_len(self): ol = OrderedStringList(True) ol.add("12") ol.add("55") ol.add("12") self.assertEqual(ol.len(), 3) ol.delete("12", True) self.assertEqual(ol.len(), 1)
def test_clean(self): ol = OrderedStringList(False) ol.add(1) ol.add(2) ol.add(3) ol.clean(True) self.assertIsNone(ol.head) self.assertIsNone(ol.tail) self.assertEqual(ol.len(), 0) ol.add(1) ol.add(2) ol.add(3) ol.clean(False) self.assertIsNone(ol.head) self.assertIsNone(ol.tail) self.assertEqual(ol.len(), 0)
def test_delete(self): ol = OrderedStringList(True) ol.add("12") ol.add("55") ol.add("12") self.assertEqual(ol.len(), 3) # удаление первого найденого элемента из нескольких найденных NODE_VALUE = "12" nodes = ol.find_all(NODE_VALUE) self.assertEqual(len(nodes), 2) ol.delete(NODE_VALUE) nodes = ol.find_all(NODE_VALUE) self.assertEqual(len(nodes), 1) self.assertEqual(ol.len(), 2) self.assertEqual(ol.head.value, "12") self.assertEqual(ol.tail.value, "55") # удаление всех найденных элементов ol.add(NODE_VALUE) nodes = ol.find_all(NODE_VALUE) self.assertEqual(len(nodes), 2) ol.delete(NODE_VALUE, True) nodes = ol.find_all(NODE_VALUE) self.assertEqual(len(nodes), 0) self.assertEqual(ol.len(), 1) self.assertEqual(ol.head.value, "55") self.assertEqual(ol.tail.value, "55") # удаление единственного элемента в списке ol.delete("55") self.assertEqual(ol.len(), 0) self.assertIsNone(ol.head) self.assertIsNone(ol.tail) # удаление элемента из пустого списка self.assertEqual(ol.len(), 0) ol.delete(55) self.assertEqual(ol.len(), 0) self.assertIsNone(ol.head) self.assertIsNone(ol.tail) # удаление элемента из списка # после чего остается только один элемент в списке ol.add(NODE_VALUE) ol.add("55") self.assertEqual(ol.len(), 2) ol.delete("55") self.assertEqual(ol.head.value, "12") self.assertEqual(ol.tail.value, "12") self.assertIsNone(ol.head.next) self.assertIsNone(ol.tail.next) self.assertEqual(ol.len(), 1) ol.add("55") self.assertEqual(ol.len(), 2) ol.delete(NODE_VALUE) self.assertEqual(ol.head.value, "55") self.assertEqual(ol.tail.value, "55") self.assertIsNone(ol.head.next) self.assertIsNone(ol.tail.next) self.assertEqual(ol.len(), 1) # проверка на удаление элементов с пустой строкой ol = OrderedStringList(True) ol.add("") ol.add("") ol.add("1") ol.add("1") ol.add("2") ol.add("2") self.assertEqual(ol.len(), 6) ol.delete("1", True) ol.delete("2", True) ol.delete("") self.assertEqual(ol.head.value, "") self.assertEqual(ol.tail.value, "") self.assertIsNone(ol.head.next) self.assertIsNone(ol.tail.next) self.assertEqual(ol.len(), 1)