1 package org.eclipse.aether.util.graph.visitor;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.junit.Assert.*;
23
24 import java.util.List;
25
26 import org.eclipse.aether.graph.DependencyFilter;
27 import org.eclipse.aether.graph.DependencyNode;
28 import org.eclipse.aether.internal.test.util.DependencyGraphParser;
29 import org.junit.Test;
30
31 public class FilteringDependencyVisitorTest
32 {
33
34 private DependencyNode parse( String resource )
35 throws Exception
36 {
37 return new DependencyGraphParser( "visitor/filtering/" ).parseResource( resource );
38 }
39
40 @Test
41 public void testFilterCalledWithProperParentStack()
42 throws Exception
43 {
44 DependencyNode root = parse( "parents.txt" );
45
46 final StringBuilder buffer = new StringBuilder( 256 );
47 DependencyFilter filter = new DependencyFilter()
48 {
49 public boolean accept( DependencyNode node, List<DependencyNode> parents )
50 {
51 for ( DependencyNode parent : parents )
52 {
53 buffer.append( parent.getDependency().getArtifact().getArtifactId() );
54 }
55 buffer.append( "," );
56 return false;
57 }
58 };
59
60 FilteringDependencyVisitor visitor = new FilteringDependencyVisitor( new PreorderNodeListGenerator(), filter );
61 root.accept( visitor );
62
63 assertEquals( ",a,ba,cba,a,ea,", buffer.toString() );
64 }
65
66 }