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 org.apache.maven.plugin.testing.stubs.ArtifactStub;
23 import org.apache.maven.shared.dependency.tree.DependencyNode;
24 import org.apache.maven.shared.dependency.tree.filter.AbstractDependencyNodeFilterTest;
25 import org.apache.maven.shared.dependency.tree.filter.DependencyNodeFilter;
26 import org.jmock.Mock;
27
28
29
30
31
32
33
34
35 public class FilteringDependencyNodeVisitorTest
36 extends AbstractDependencyNodeFilterTest
37 {
38
39
40 private FilteringDependencyNodeVisitor visitor;
41
42 private DependencyNode node;
43
44 private DependencyNodeFilter acceptingFilter;
45
46 private DependencyNodeFilter rejectingFilter;
47
48
49
50
51
52
53 protected void setUp()
54 throws Exception
55 {
56 node = new DependencyNode( new ArtifactStub() );
57
58 acceptingFilter = createDependencyNodeFilter( node, true );
59 rejectingFilter = createDependencyNodeFilter( node, false );
60 }
61
62
63
64 public void testVisitAcceptTrue()
65 {
66 Mock filteredVisitorMock = mock( DependencyNodeVisitor.class );
67 filteredVisitorMock.expects( once() ).method( "visit" ).with( eq( node ) ).will( returnValue( true ) );
68 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy();
69
70 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter );
71 assertTrue( visitor.visit( node ) );
72 }
73
74 public void testVisitAcceptFalse()
75 {
76 Mock filteredVisitorMock = mock( DependencyNodeVisitor.class );
77 filteredVisitorMock.expects( once() ).method( "visit" ).with( eq( node ) ).will( returnValue( false ) );
78 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy();
79
80 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter );
81 assertFalse( visitor.visit( node ) );
82 }
83
84 public void testVisitReject()
85 {
86 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) mock( DependencyNodeVisitor.class ).proxy();
87
88 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, rejectingFilter );
89 assertTrue( visitor.visit( node ) );
90 }
91
92 public void testEndVisitAcceptTrue()
93 {
94 Mock filteredVisitorMock = mock( DependencyNodeVisitor.class );
95 filteredVisitorMock.expects( once() ).method( "endVisit" ).with( eq( node ) ).will( returnValue( true ) );
96 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy();
97
98 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter );
99 assertTrue( visitor.endVisit( node ) );
100 }
101
102 public void testEndVisitAcceptFalse()
103 {
104 Mock filteredVisitorMock = mock( DependencyNodeVisitor.class );
105 filteredVisitorMock.expects( once() ).method( "endVisit" ).with( eq( node ) ).will( returnValue( false ) );
106 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy();
107
108 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter );
109 assertFalse( visitor.endVisit( node ) );
110 }
111
112 public void testEndVisitReject()
113 {
114 DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) mock( DependencyNodeVisitor.class ).proxy();
115
116 visitor = new FilteringDependencyNodeVisitor( filteredVisitor, rejectingFilter );
117 assertTrue( visitor.endVisit( node ) );
118 }
119 }