示例#1
0
  @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));
  }
示例#2
0
  @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));
  }
示例#3
0
  @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));
  }
示例#4
0
 @Test
 public void testGetEmptyGraph() {
   DependencyGraph graph = new Dependencies().getDependencyGraph(TestScope.scope1);
   assertTrue(graph.getAllItems().isEmpty());
 }