@Test public void testGetGraphByParentsTwoScopesUp() { Dependencies deps = new Dependencies(); deps.addDependencies(A1, createMap(A2, A3, A4)); deps.addDependencies(A2, createMap(A3, A4)); deps.addChild(B1, A1); deps.addChild(B1, A2); deps.addChild(B2, A3); deps.addChild(B3, A4); deps.addChild(C1, B1); deps.addChild(C2, B2); deps.addChild(C3, B3); DependencyGraph graph = deps.getDependencyGraph( TestScope.scope1, new HashSet(Arrays.asList(C1, C2)), DependencyFilter.none); assertEquals(createSet(A1, A2, A3), graph.getAllItems()); assertEquals(createSet(A2, A3), graph.getDependencies(A1)); assertEquals(createSet(A3), graph.getDependencies(A2)); assertEquals(Collections.EMPTY_SET, graph.getDependencies(A3)); DependencyGraph graphFiltered = deps.getDependencyGraph( TestScope.scope1, new HashSet(Arrays.asList(C1)), DependencyFilter.itemsContributingToTheParentDependencyWeight); assertTrue(graphFiltered.getAllItems().size() == 0); graphFiltered = deps.getDependencyGraph( TestScope.scope1, new HashSet(Arrays.asList(C1, C2)), DependencyFilter.itemsContributingToTheParentDependencyWeight); assertEquals(createSet(A1, A2, A3), graphFiltered.getAllItems()); assertEquals(createSet(A3), graphFiltered.getDependencies(A1)); assertEquals(createSet(A3), graphFiltered.getDependencies(A2)); }
@Test public void testSimpleGraphWithOneScope() { Dependencies deps = new Dependencies(); deps.addDependencies(A1, createMap(A2, A3)); deps.addDependencies(A2, createMap(A3)); DependencyGraph graph = deps.getDependencyGraph(TestScope.scope1); assertEquals(createSet(A1, A2, A3), graph.getAllItems()); assertEquals(createSet(A2, A3), graph.getDependencies(A1)); assertEquals(createSet(A3), graph.getDependencies(A2)); assertEquals(Collections.EMPTY_SET, graph.getDependencies(A3)); }
@Test public void testTwoScopesGraphWithDirectAndDerivedDependencies() { Dependencies deps = new Dependencies(); deps.addDependencies(A1, createMap(A2)); deps.addDependencies(B1, createMap(B3)); deps.addChild(B1, A1); deps.addChild(B2, A2); DependencyGraph graph = deps.getDependencyGraph(TestScope.scope2); assertEquals(createSet(B1, B2, B3), graph.getAllItems()); assertEquals(createSet(B2, B3), graph.getDependencies(B1)); assertEquals(Collections.EMPTY_SET, graph.getDependencies(B2)); assertEquals(Collections.EMPTY_SET, graph.getDependencies(B3)); }
@Test public void testGetEmptyGraph() { DependencyGraph graph = new Dependencies().getDependencyGraph(TestScope.scope1); assertTrue(graph.getAllItems().isEmpty()); }