def test_add_in_tail_random(self): for i in range(1000): nodes_arr = [ Node(randint(-10, +10)) for j in range(randint(0, 100)) ] linked_list = linked_list_2_by_nodes_arr(nodes_arr) test_node = Node(100) linked_list.add_in_tail(test_node) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], nodes_arr + [test_node])
def test_insert_random(self): for i in range(1000): nodes_arr = [ Node(randint(-10, +10)) for j in range(randint(0, 100)) ] linked_list = linked_list_2_by_nodes_arr(nodes_arr) after_node = choice(nodes_arr + [None]) test_node = Node(100) linked_list.insert(after_node, test_node) if after_node is None: nodes_arr.append(test_node) else: nodes_arr.insert(nodes_arr.index(after_node) + 1, test_node) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], nodes_arr)
def test_find_all_regression(self): node1, node2, node3 = (Node(x) for x in [1, 1, 3]) nodes_arr = [node1, node2, node3] linked_list = linked_list_2_by_nodes_arr(nodes_arr) test_val = 1 output_arr = linked_list.find_all(test_val) self.assertEqual(output_arr, [node1, node2])
def test_find_all_random(self): for i in range(1000): nodes_arr = [ Node(randint(-10, +10)) for j in range(randint(0, 100)) ] if len(nodes_arr) > 0: test_val = choice(nodes_arr).value else: test_val = 100 linked_list = linked_list_2_by_nodes_arr(nodes_arr) output_arr = linked_list.find_all(test_val) ans_arr = [x for x in nodes_arr if x.value == test_val] self.assertEqual(output_arr, ans_arr)
def test_find_random(self): for i in range(1000): nodes_arr = [ Node(randint(-10, +10)) for j in range(randint(0, 100)) ] if len(nodes_arr) > 0: test_val = choice(nodes_arr).value ans_node = next(x for x in nodes_arr if x.value == test_val) else: test_val = 100 ans_node = None linked_list = linked_list_2_by_nodes_arr(nodes_arr) output_node = linked_list.find(test_val) self.assertEqual(output_node, ans_node)
def test_find_not_included_value(self): node1, node2, node3 = (Node(x) for x in [1, 2, 3]) linked_list = linked_list_2_by_nodes_arr([node1, node2, node3]) test_val = 5 output_node = linked_list.find(test_val) self.assertTrue(output_node is None)
def test_find_last_elem(self): node1, node2, node3 = (Node(x) for x in [1, 2, 3]) linked_list = linked_list_2_by_nodes_arr([node1, node2, node3]) test_val = 3 output_node = linked_list.find(test_val) self.assertEqual(output_node, node3)
def linked_list_2_by_values_arr(arr): linked_list = LinkedList2() for x in arr: linked_list.add_in_tail(Node(x)) return linked_list
def test_add_in_tail_of_empty_list(self): node1 = Node(1) linked_list = LinkedList2() linked_list.add_in_tail(node1) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], [node1])
def test_add_in_tail_regression(self): node1, node2, node3 = (Node(x) for x in [1, 2, 3]) linked_list = linked_list_2_by_nodes_arr([node1, node2]) linked_list.add_in_tail(node3) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], [node1, node2, node3])
def test_insert_with_afterNode_None_and_no_empty_list(self): node1, node2, node3 = (Node(x) for x in [1, 2, 3]) linked_list = linked_list_2_by_nodes_arr([node1, node2]) linked_list.insert(None, node3) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], [node1, node2, node3])
def test_insert_with_afterNode_None_and_empty_list(self): node1 = Node(1) linked_list = LinkedList2() linked_list.insert(None, node1) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], [node1])
def test_insert_last_elem(self): node1, node2, node3 = (Node(x) for x in [1, 2, 3]) linked_list = linked_list_2_by_nodes_arr([node1, node2]) linked_list.insert(node2, node3) self.assertTrue(check_linked_list_2_correct(linked_list)) self.assertEqual([x for x in linked_list], [node1, node2, node3])
def test_find_all_not_included_value(self): nodes_arr = [Node(x) for x in [1, 2, 3]] linked_list = linked_list_2_by_nodes_arr(nodes_arr) test_val = 5 output_arr = linked_list.find_all(test_val) self.assertEqual(output_arr, [])