1 package org.apache.maven.shared.dependency.tree.traversal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Arrays;
23 import java.util.Collections;
24 import java.util.List;
25
26 import org.apache.maven.shared.dependency.tree.AbstractDependencyNodeTest;
27 import org.apache.maven.shared.dependency.tree.DependencyNode;
28
29
30
31
32
33
34
35
36 public class CollectingDependencyNodeVisitorTest
37 extends AbstractDependencyNodeTest
38 {
39
40
41 private CollectingDependencyNodeVisitor visitor;
42
43 private DependencyNode node1;
44
45 private DependencyNode node2;
46
47 private DependencyNode node3;
48
49
50
51
52
53
54 protected void setUp()
55 throws Exception
56 {
57 visitor = new CollectingDependencyNodeVisitor();
58 node1 = createNode( "g:a:t:1" );
59 node2 = createNode( "g:b:t:1" );
60 node3 = createNode( "g:c:t:1" );
61 }
62
63
64
65 public void testVisitSingleNode()
66 {
67 assertEmptyNodes();
68 assertTrue( visitor.visit( node1 ) );
69 assertNodes( node1 );
70 }
71
72 public void testVisitMultipleNodes()
73 {
74 assertEmptyNodes();
75 assertTrue( visitor.visit( node1 ) );
76 assertTrue( visitor.visit( node2 ) );
77 assertTrue( visitor.visit( node3 ) );
78 assertNodes( Arrays.asList( new DependencyNode[] { node1, node2, node3 } ) );
79 }
80
81 public void testEndVisit()
82 {
83 assertEmptyNodes();
84 assertTrue( visitor.endVisit( node1 ) );
85 assertEmptyNodes();
86 }
87
88
89
90 private void assertEmptyNodes()
91 {
92 assertNodes( Collections.<DependencyNode>emptyList() );
93 }
94
95 private void assertNodes( DependencyNode node )
96 {
97 assertNodes( Collections.singletonList( node ) );
98 }
99
100 private void assertNodes( List<DependencyNode> expectedNodes )
101 {
102 assertEquals( "Collected nodes", expectedNodes, visitor.getNodes() );
103 }
104 }