1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| |
16 |
| |
17 |
| |
18 |
| |
19 |
| |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| |
26 |
| |
27 |
| |
28 |
| |
29 |
| |
30 |
| |
31 |
| |
32 |
| |
33 |
| package com.jeantessier.dependency; |
34 |
| |
35 |
| import java.io.*; |
36 |
| import java.util.*; |
37 |
| |
38 |
| import junit.framework.*; |
39 |
| |
40 |
| import com.jeantessier.classreader.*; |
41 |
| |
42 |
| public class TestCodeDependencyCollectorWithFiltering extends TestCase { |
43 |
| public static final String TEST_CLASS = "test"; |
44 |
| public static final String TEST_FILENAME = "classes" + File.separator + "test.class"; |
45 |
| |
46 |
| private NodeFactory factory; |
47 |
| |
48 |
3
| protected void setUp() throws Exception {
|
49 |
3
| factory = new NodeFactory();
|
50 |
| |
51 |
3
| RegularExpressionSelectionCriteria filterCriteria = new RegularExpressionSelectionCriteria("//");
|
52 |
3
| filterCriteria.setGlobalExcludes("/java.lang/");
|
53 |
| |
54 |
3
| ClassfileLoader loader = new AggregatingClassfileLoader();
|
55 |
3
| loader.addLoadListener(new LoadListenerVisitorAdapter(new CodeDependencyCollector(factory, filterCriteria)));
|
56 |
3
| loader.load(Collections.singleton(TEST_FILENAME));
|
57 |
| } |
58 |
| |
59 |
1
| public void testPackages() {
|
60 |
1
| assertEquals("nb packages", 3, factory.getPackages().size());
|
61 |
| |
62 |
0
| Node node;
|
63 |
| |
64 |
0
| node = factory.getPackages().get("");
|
65 |
0
| assertNotNull("default package missing", node);
|
66 |
0
| assertTrue("default package not concrete", node.isConfirmed());
|
67 |
| |
68 |
0
| node = factory.getPackages().get("java.io");
|
69 |
0
| assertNotNull("package java.io missing", node);
|
70 |
0
| assertFalse("package java.io is concrete", node.isConfirmed());
|
71 |
| |
72 |
0
| node = factory.getPackages().get("java.util");
|
73 |
0
| assertNotNull("package java.util missing", node);
|
74 |
0
| assertFalse("package java.util is concrete", node.isConfirmed());
|
75 |
| } |
76 |
| |
77 |
1
| public void testClasses() {
|
78 |
1
| assertEquals("nb classes", 3, factory.getClasses().size());
|
79 |
| |
80 |
0
| Node node;
|
81 |
| |
82 |
0
| node = factory.getClasses().get("test");
|
83 |
0
| assertNotNull("class test missing", node);
|
84 |
0
| assertTrue("class test not concrete", node.isConfirmed());
|
85 |
| |
86 |
0
| node = factory.getClasses().get("java.io.PrintStream");
|
87 |
0
| assertNotNull("class java.io.PrintStream missing", node);
|
88 |
0
| assertFalse("class java.io.PrintStream is concrete", node.isConfirmed());
|
89 |
| |
90 |
0
| node = factory.getClasses().get("java.util.Set");
|
91 |
0
| assertNotNull("class java.util.Set missing", node);
|
92 |
0
| assertFalse("class java.util.Set is concrete", node.isConfirmed());
|
93 |
| } |
94 |
| |
95 |
1
| public void testFeatures() {
|
96 |
1
| assertEquals("nb features", 2, factory.getFeatures().size());
|
97 |
| |
98 |
0
| Node node;
|
99 |
| |
100 |
0
| node = factory.getFeatures().get("test.main(java.lang.String[])");
|
101 |
0
| assertNotNull("feature test.main(java.lang.String[]) missing", node);
|
102 |
0
| assertTrue("feature test.main(java.lang.String[]) not concrete", node.isConfirmed());
|
103 |
| |
104 |
0
| node = factory.getFeatures().get("test.test()");
|
105 |
0
| assertNotNull("feature test.test() missing", node);
|
106 |
0
| assertTrue("feature test.test() not concrete", node.isConfirmed());
|
107 |
| } |
108 |
| } |