Beispiel #1
0
 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])
Beispiel #2
0
 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)
Beispiel #3
0
 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])
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
0
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
Beispiel #9
0
 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])
Beispiel #10
0
 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])
Beispiel #11
0
 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])
Beispiel #12
0
 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])
Beispiel #13
0
 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])
Beispiel #14
0
 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, [])