Exemplo n.º 1
0
 def test_create_similarity_matrix_map_for_graph_paths_with_four_levels(
         self):
     trace_matrix_creator = TraceMatrixBuilder(
         trace_matrix_map=self.trace_matrix_map)
     trace_matrix_creator.set_artifact_levels(self.artifacts)
     graph_paths = GraphPathMap()
     graph_paths["0-2"] = [[0, 2], [0, 1, 2], [0, 3, 2]]
     similarity_matrix_map = trace_matrix_creator.calculate_matrix_for_paths(
         graph_paths)
     values = similarity_matrix_map["0-2"]
     self.assertEqual(1, values[0, 0])
     self.assertEqual(1, values[0, 1])
     self.assertEqual(1, values[0, 2])
     self.assertEqual(0, self.reqs2code.matrix[0, 2])
Exemplo n.º 2
0
 def test_find_all_paths_three_complete(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         ["0-2", "0-1", "1-2"], 3)
     paths = get_all_paths(graph, 0, 1)
     self.assertEqual(2, len(paths))
     self.assertEqual([0, 1], paths[0])
     self.assertEqual([0, 2, 1], paths[1])
Exemplo n.º 3
0
 def test_find_all_paths_one(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         [], 1)
     paths = get_all_paths(graph, 0, 0)
     self.assertEqual(1, len(paths))
     self.assertEqual(1, len(paths[0]))
     self.assertEqual(0, paths[0][0])
Exemplo n.º 4
0
 def test_find_all_paths_four_incomplete(self):
     traces = ["1-2", "0-2", "2-3", "1-0", "0-3", "1-3"]
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         traces, 4)
     paths = get_all_paths(graph, 1, 2)
     self.assertEqual(5, len(paths))
     self.assertTrue([1, 0, 2] in paths)
     self.assertTrue([1, 2] in paths)
     self.assertTrue([1, 3, 2] in paths)
     self.assertTrue([1, 0, 3, 2] in paths)
     self.assertTrue([1, 3, 0, 2] in paths)
Exemplo n.º 5
0
    def test_create_trace_matrix_graph(self):
        graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
            ["0-1", "1-2"], 3)
        self.assertFalse(graph.are_connected(0, 2))
        self.assertTrue(graph.are_connected(0, 1))
        self.assertTrue(graph.are_connected(1, 2))
        self.assertEqual(3, len(graph.vs))

        path = graph.get_shortest_paths(0, 2)
        self.assertEqual(1, len(path))
        self.assertEqual([0, 1, 2], path[0])
Exemplo n.º 6
0
 def test_get_trace_path_map_to_missing_links(self):
     traces = ["1-4", "4-0", "0-2", "2-3"]
     graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         traces, 5)
     missing_paths = get_paths_to_complete_graph(traces, graph, 5)
     self.assertEqual(6, len(missing_paths.get_trace_ids()))
     self.assertTrue("0-1" in missing_paths)
     self.assertTrue("1-2" in missing_paths)
     self.assertTrue("1-3" in missing_paths)
     self.assertTrue("3-4" in missing_paths)
     self.assertTrue("2-4" in missing_paths)
     self.assertTrue("0-3" in missing_paths)
Exemplo n.º 7
0
 def __init__(
     self,
     dataset_name: str,
 ):
     super().__init__()
     self.path_to_dataset = get_path_to_dataset(dataset_name)
     self.structure_definition = DatasetStructureDefinition(
         dataset_name=dataset_name)
     self.artifact_builder: Optional[
         ArtifactLevelBuilder] = ArtifactLevelBuilder(
             self.structure_definition)
     self.trace_matrix_builder: Optional[
         TraceMatrixBuilder] = TraceMatrixBuilder(
             structure_definition=self.structure_definition)
     self.trace_matrix_map: Optional[TraceId2TraceMatrixMap] = None
     self.artifacts: Optional[ArtifactLevel] = None
Exemplo n.º 8
0
 def test_find_all_paths_three_incomplete(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         ["0-2"], 3)
     paths = get_all_paths(graph, 0, 1)
     self.assertEqual(0, len(paths))
Exemplo n.º 9
0
 def test_find_all_paths_two_empty(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         [], 2)
     paths = get_all_paths(graph, 0, 1)
     self.assertEqual(0, len(paths))
Exemplo n.º 10
0
 def test_find_all_paths_two_complete(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         ["0-1"], 2)
     paths = get_all_paths(graph, 0, 1)
     self.assertEqual(1, len(paths))
     self.assertEqual([0, 1], paths[0])
Exemplo n.º 11
0
 def test_create_trace_matrix_graph_with_backwards_search(self):
     graph: Graph = TraceMatrixBuilder.create_dependency_graph_with_trace_ids(
         ["0-1", "0-2"], 3)
     path = graph.get_shortest_paths(1, 2)
     self.assertEqual(1, len(path))
     self.assertEqual([1, 0, 2], path[0])