def test_LinkedList2_add_in_tail(self): testList2 = ll2.LinkedList2() testNode2 = ll2.Node(11) testList2.add_in_tail(testNode2) testList2.add_in_tail(ll2.Node(22)) self.assertEqual(testList2.head.value, 11) self.assertEqual(testList2.tail.value, 22)
def test_LinkedList2_add_in_head(self): testList2 = ll2.LinkedList2() testList2.add_in_tail(ll2.Node(66)) testList2.add_in_tail(ll2.Node(55)) testList2.add_in_tail(ll2.Node(44)) # testList2.print_forward_and_back() testList2.add_in_head(ll2.Node(77)) # testList2.print_forward_and_back() self.assertEqual(testList2.head, testList2.find(77)) self.assertEqual(testList2.head.next, testList2.find(77).next)
def test_LinkedList2_find_last(self): testList2 = ll2.LinkedList2() testList2.add_in_tail(ll2.Node(11)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(33)) self.assertEqual(testList2.find(11), testList2.head) # print (f"{testList2.find(11)} -find, {testList2.head} -head") self.assertEqual(testList2.find(33), testList2.tail) # print (f"{testList2.find(33)} -find, {testList2.tail} -tail") self.assertEqual(testList2.find(44), None)
def test_LinkedList2_find_all(self): testList2 = ll2.LinkedList2() self.assertEqual(len(testList2.find_all(22)), 0) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(11)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(33)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(33)) testList2.add_in_tail(ll2.Node(44)) testList2.add_in_tail(ll2.Node(22)) self.assertEqual(len(testList2.find_all(22)), 4)
def test_LinkedList2_clean_and_len(self): testList2 = ll2.LinkedList2() self.assertEqual(testList2.len(), 0) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(11)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(55)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(33)) testList2.add_in_tail(ll2.Node(44)) testList2.add_in_tail(ll2.Node(22)) self.assertEqual(testList2.len(), 8) testList2.clean() self.assertEqual(testList2.tail, None) self.assertEqual(testList2.head, None) self.assertEqual(testList2.len(), 0)
def test_LinkedList2_delete_first(self): testList2 = ll2.LinkedList2() testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(11)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(55)) testList2.add_in_tail(ll2.Node(22)) testList2.add_in_tail(ll2.Node(33)) testList2.add_in_tail(ll2.Node(44)) testList2.add_in_tail(ll2.Node(22)) testList2.print_forward_and_back() testList2.delete(22) testList2.print_forward_and_back() self.assertEqual(testList2.head.value, 11) self.assertEqual(testList2.head.value, 22)
def test_LinkedList2_insert_v2(self): testList2 = ll2.LinkedList2() testList2.add_in_tail(ll2.Node(66)) testList2.add_in_tail(ll2.Node(55)) testList2.add_in_tail(ll2.Node(44)) self.assertEqual(testList2.find(66), testList2.head) testList2.clean() testList2.add_in_tail(ll2.Node(77)) self.assertEqual(testList2.find(77), testList2.head) testList2.clean() testList2.insert(None, ll2.Node(88)) testList2.print_forward_and_back() # print (f'one Node {testList2.head.value} {testList2.head.next} {testList2.tail.value}') self.assertEqual(testList2.find(88), testList2.head) self.assertEqual(testList2.head.value, 88) self.assertEqual(testList2.tail.value, 88) testList2.insert(None, ll2.Node(99)) testList2.print_forward_and_back() # print (f'two Node {testList2.head.value} {testList2.head.next.value} {testList2.tail.value}') self.assertEqual(testList2.find(99), testList2.tail) self.assertEqual(testList2.find(99), testList2.head.next) self.assertEqual(testList2.find(88), testList2.tail.prev) self.assertEqual(testList2.head.value, 88) self.assertEqual(testList2.head.next.value, 99) self.assertEqual(testList2.tail.value, 99) self.assertEqual(testList2.tail.prev.value, 88) testList2.insert(None, ll2.Node(111)) testList2.print_forward_and_back() # print (f'three Node {testList2.head.value} {testList2.head.next.value} {testList2.tail.value}') self.assertEqual(testList2.find(111), testList2.tail) self.assertEqual(testList2.head.value, 88) self.assertEqual(testList2.head.next.value, 99) self.assertEqual(testList2.head.next.next.value, 111) self.assertEqual(testList2.tail.value, 111) self.assertEqual(testList2.tail.prev.value, 99) self.assertEqual(testList2.tail.prev.prev.value, 88) testList2.insert(None, ll2.Node(122)) testList2.print_forward_and_back() testList2.insert(testList2.find(88), ll2.Node(90)) testList2.print_forward_and_back() # self.assertEqual(testList2.head.value, 88) # self.assertEqual(testList2.head.next.value, 90) # self.assertEqual(testList2.head.next.next.value, 99) # self.assertEqual(testList2.head.next.next.next.value, 111) # self.assertEqual(testList2.head.next.next.next.next, None) # self.assertEqual(testList2.tail.next, None) # self.assertEqual(testList2.tail.value, 111) # self.assertEqual(testList2.tail.prev.value, 99) # self.assertEqual(testList2.tail.prev.prev.value, 90) # self.assertEqual(testList2.tail.prev.prev.prev.value, 88) testList2.insert(testList2.find(99), ll2.Node(101)) testList2.print_forward_and_back() testList2.insert(testList2.find(122), ll2.Node(133)) testList2.print_forward_and_back()