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 TestCodeDependencyCollector 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
| ClassfileLoader loader = new AggregatingClassfileLoader();
|
52 |
3
| loader.addLoadListener(new LoadListenerVisitorAdapter(new CodeDependencyCollector(factory)));
|
53 |
3
| loader.load(Collections.singleton(TEST_FILENAME));
|
54 |
| } |
55 |
| |
56 |
1
| public void testPackages() {
|
57 |
1
| assertEquals("nb packages", 4, factory.getPackages().size());
|
58 |
| |
59 |
0
| Node node;
|
60 |
| |
61 |
0
| node = factory.getPackages().get("");
|
62 |
0
| assertNotNull("default package missing", node);
|
63 |
0
| assertTrue("default package not concrete", node.isConfirmed());
|
64 |
| |
65 |
0
| node = factory.getPackages().get("java.io");
|
66 |
0
| assertNotNull("package java.io missing", node);
|
67 |
0
| assertFalse("package java.io is concrete", node.isConfirmed());
|
68 |
| |
69 |
0
| node = factory.getPackages().get("java.lang");
|
70 |
0
| assertNotNull("package java.lang missing", node);
|
71 |
0
| assertFalse("package java.lang is concrete", node.isConfirmed());
|
72 |
| |
73 |
0
| node = factory.getPackages().get("java.util");
|
74 |
0
| assertNotNull("package java.util missing", node);
|
75 |
0
| assertFalse("package java.util is concrete", node.isConfirmed());
|
76 |
| } |
77 |
| |
78 |
1
| public void testClasses() {
|
79 |
1
| assertEquals("nb classes", 8, factory.getClasses().size());
|
80 |
| |
81 |
0
| Node node;
|
82 |
| |
83 |
0
| node = factory.getClasses().get("test");
|
84 |
0
| assertNotNull("class test missing", node);
|
85 |
0
| assertTrue("class test not concrete", node.isConfirmed());
|
86 |
| |
87 |
0
| node = factory.getClasses().get("java.io.PrintStream");
|
88 |
0
| assertNotNull("class java.io.PrintStream missing", node);
|
89 |
0
| assertFalse("class java.io.PrintStream is concrete", node.isConfirmed());
|
90 |
| |
91 |
0
| node = factory.getClasses().get("java.lang.NullPointerException");
|
92 |
0
| assertNotNull("class java.lang.NullPointerException missing", node);
|
93 |
0
| assertFalse("class java.lang.NullPointerException is concrete", node.isConfirmed());
|
94 |
| |
95 |
0
| node = factory.getClasses().get("java.lang.Object");
|
96 |
0
| assertNotNull("class java.lang.Object missing", node);
|
97 |
0
| assertFalse("class java.lang.Object is concrete", node.isConfirmed());
|
98 |
| |
99 |
0
| node = factory.getClasses().get("java.lang.String");
|
100 |
0
| assertNotNull("class java.lang.String missing", node);
|
101 |
0
| assertFalse("class java.lang.String is concrete", node.isConfirmed());
|
102 |
| |
103 |
0
| node = factory.getClasses().get("java.lang.System");
|
104 |
0
| assertNotNull("class java.lang.System missing", node);
|
105 |
0
| assertFalse("class java.lang.System is concrete", node.isConfirmed());
|
106 |
| |
107 |
0
| node = factory.getClasses().get("java.util.Collections");
|
108 |
0
| assertNotNull("class java.util.Collections missing", node);
|
109 |
0
| assertFalse("class java.util.Collections is concrete", node.isConfirmed());
|
110 |
| |
111 |
0
| node = factory.getClasses().get("java.util.Set");
|
112 |
0
| assertNotNull("class java.util.Set missing", node);
|
113 |
0
| assertFalse("class java.util.Set is concrete", node.isConfirmed());
|
114 |
| } |
115 |
| |
116 |
1
| public void testFeatures() {
|
117 |
1
| assertEquals("nb features", 6, factory.getFeatures().size());
|
118 |
| |
119 |
0
| Node node;
|
120 |
| |
121 |
0
| node = factory.getFeatures().get("test.main(java.lang.String[])");
|
122 |
0
| assertNotNull("feature test.main(java.lang.String[]) missing", node);
|
123 |
0
| assertTrue("feature test.main(java.lang.String[]) not concrete", node.isConfirmed());
|
124 |
| |
125 |
0
| node = factory.getFeatures().get("test.test()");
|
126 |
0
| assertNotNull("feature test.test() missing", node);
|
127 |
0
| assertTrue("feature test.test() not concrete", node.isConfirmed());
|
128 |
| |
129 |
0
| node = factory.getFeatures().get("java.io.PrintStream.println(java.lang.Object)");
|
130 |
0
| assertNotNull("feature java.io.PrintStream.println(java.lang.Object) missing", node);
|
131 |
0
| assertFalse("feature java.io.PrintStream.println(java.lang.Object) is concrete", node.isConfirmed());
|
132 |
| |
133 |
0
| node = factory.getFeatures().get("java.lang.Object.Object()");
|
134 |
0
| assertNotNull("feature java.lang.Object.Object() missing", node);
|
135 |
0
| assertFalse("feature java.lang.Object.Object() is concrete", node.isConfirmed());
|
136 |
| |
137 |
0
| node = factory.getFeatures().get("java.lang.System.out");
|
138 |
0
| assertNotNull("feature java.lang.System.out missing", node);
|
139 |
0
| assertFalse("feature java.lang.System.out is concrete", node.isConfirmed());
|
140 |
| |
141 |
0
| node = factory.getFeatures().get("java.util.Collections.singleton(java.lang.Object)");
|
142 |
0
| assertNotNull("feature java.util.Collections.singleton(java.lang.Object) missing", node);
|
143 |
0
| assertFalse("feature java.util.Collections.singleton(java.lang.Object) is concrete", node.isConfirmed());
|
144 |
| } |
145 |
| } |