// ------------------------------------------------------------------------------------------ @Override protected void setUp() throws Exception { super.setUp(); resolver = (GraphConflictResolver) lookup(GraphConflictResolver.ROLE, "default"); /* * v2 * v1< * v3-v4 * */ graph = new MetadataGraph(4, 3); v1 = graph.addVertex(new ArtifactMetadata("g", "a1", "1.0")); graph.setEntry(v1); v2 = graph.addVertex(new ArtifactMetadata("g", "a2", "1.0")); v3 = graph.addVertex(new ArtifactMetadata("g", "a3", "1.0")); v4 = graph.addVertex(new ArtifactMetadata("g", "a4", "1.0")); // v1-->v2 graph.addEdge(v1, v2, new MetadataGraphEdge("1.1", true, null, null, 2, 1)); graph.addEdge(v1, v2, new MetadataGraphEdge("1.2", true, null, null, 2, 2)); // v1-->v3 graph.addEdge(v1, v3, new MetadataGraphEdge("1.1", true, null, null, 2, 1)); graph.addEdge(v1, v3, new MetadataGraphEdge("1.2", true, null, null, 4, 2)); // v3-->v4 graph.addEdge( v3, v4, new MetadataGraphEdge("1.1", true, ArtifactScopeEnum.runtime, null, 2, 1)); graph.addEdge( v3, v4, new MetadataGraphEdge("1.2", true, ArtifactScopeEnum.provided, null, 2, 2)); }
// ------------------------------------------------------------------------------------------ public void testCompileResolution() throws Exception { MetadataGraph res; res = resolver.resolveConflicts(graph, ArtifactScopeEnum.compile); assertNotNull("null graph after resolver", res); assertNotNull("no vertices in the resulting graph after resolver", res.getVertices()); assertNotNull("no edges in the resulting graph after resolver", res.getExcidentEdges(v1)); assertEquals( "wrong # of vertices in the resulting graph after resolver", 4, res.getVertices().size()); assertEquals( "wrong # of excident edges in the resulting graph entry after resolver", 2, res.getExcidentEdges(v1).size()); assertEquals( "wrong # of v2 incident edges in the resulting graph after resolver", 1, res.getIncidentEdges(v2).size()); assertEquals( "wrong edge v1-v2 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v2).get(0).getVersion()); assertEquals( "wrong # of edges v1-v3 in the resulting graph after resolver", 1, res.getIncidentEdges(v3).size()); assertEquals( "wrong edge v1-v3 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v3).get(0).getVersion()); assertEquals( "wrong # of edges v3-v4 in the resulting graph after resolver", 1, res.getIncidentEdges(v4).size()); assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v4).get(0).getVersion()); }