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 package fr.ifremer.isisfish.util;
26
27 import java.io.File;
28 import java.io.IOException;
29 import java.util.Collections;
30 import java.util.Set;
31
32 import org.junit.Assert;
33 import org.junit.Test;
34
35 import fr.ifremer.isisfish.AbstractIsisFishTest;
36 import fr.ifremer.isisfish.IsisFish;
37 import fr.ifremer.isisfish.IsisFishException;
38 import fr.ifremer.isisfish.datastore.JavaSourceStorage;
39 import fr.ifremer.isisfish.datastore.RuleStorage;
40 import fr.ifremer.isisfish.datastore.ScriptStorage;
41 import fr.ifremer.isisfish.datastore.SimulatorStorage;
42
43
44
45
46
47
48 public class DependencyUtilTest extends AbstractIsisFishTest {
49
50
51
52
53
54
55
56
57 protected static Set<String> extractDependencies(JavaSourceStorage storage) throws IsisFishException {
58 String clazzName = storage.getCodeClass().getName();
59 File classFile = new File(IsisFish.config.getCompileDirectory(), clazzName.replace('.', File.separatorChar) + ".class");
60 Set<String> result = DependencyUtil.extractDependencies(IsisFish.config.getCompileDirectory(), Collections.singletonList(classFile));
61 return result;
62 }
63
64
65
66
67
68
69
70
71 @Test
72 public void testExtractDependencies1() throws IsisFishException, IOException {
73 SimulatorStorage script = SimulatorStorage.getSimulator("SimulatorEffortByCell");
74 Set<String> deps = extractDependencies(script);
75
76 Assert.assertTrue(deps.contains("simulators.DefaultSimulator"));
77
78 Assert.assertTrue(deps.contains("scripts.SiMatrix"));
79 Assert.assertTrue(deps.contains("scripts.GravityModel"));
80
81 Assert.assertTrue(deps.contains("scripts.MinimisationUtil"));
82 Assert.assertTrue(deps.contains("scripts.ObjectiveFunction"));
83 Assert.assertTrue(deps.contains("scripts.ObjectiveFunctionBaranov"));
84 }
85
86
87
88
89
90
91
92
93 @Test
94 public void testExtractDependencies2() throws IsisFishException, IOException {
95 SimulatorStorage script = SimulatorStorage.getSimulator("DefaultSimulator");
96 Set<String> deps = extractDependencies(script);
97 Assert.assertTrue(deps.contains("scripts.GravityModel"));
98 Assert.assertTrue(deps.contains("scripts.ResultName"));
99 Assert.assertTrue(deps.contains("scripts.SiMatrix"));
100
101 }
102
103
104
105
106
107
108
109
110 @Test
111 public void testExtractDependencies3() throws IsisFishException, IOException {
112 RuleStorage script = RuleStorage.getRule("Cantonnement");
113 Set<String> deps = extractDependencies(script);
114 Assert.assertTrue(deps.contains("scripts.ResultName"));
115 }
116
117
118
119
120
121
122
123
124 @Test
125 public void testExtractDependencies4() throws IsisFishException, IOException {
126 ScriptStorage script = ScriptStorage.getScript("SiMatrix");
127 Set<String> deps = extractDependencies(script);
128 Assert.assertTrue(deps.contains("scripts.ObjectiveFunctionBaranov"));
129 Assert.assertTrue(deps.contains("scripts.ObjectiveFunction"));
130 Assert.assertTrue(deps.contains("scripts.MinimisationUtil"));
131 Assert.assertTrue(deps.contains("scripts.ResultName"));
132 }
133
134
135
136
137
138
139
140
141 @Test
142 public void testExtractDependencies5() throws IsisFishException, IOException {
143 ScriptStorage script = ScriptStorage.getScript("GravityModel");
144 Set<String> deps = extractDependencies(script);
145 Assert.assertTrue(deps.contains("scripts.SiMatrix"));
146 Assert.assertTrue(deps.contains("scripts.ResultName"));
147 }
148
149
150
151
152
153
154
155
156 @Test
157 public void testExtractDependencies6() throws IsisFishException, IOException {
158 ScriptStorage script = ScriptStorage.getScript("ObjectiveFunctionBaranov");
159 Set<String> deps = extractDependencies(script);
160 Assert.assertTrue(deps.contains("scripts.ObjectiveFunction"));
161 }
162
163
164
165
166
167
168
169 @Test
170 public void testExtractDependencies7() throws IsisFishException, IOException {
171 RuleStorage script = RuleStorage.getRule("GraviteVPUE1");
172 Set<String> deps = extractDependencies(script);
173 Assert.assertFalse(deps.contains("rules.GraviteVPUE1$1"));
174 }
175
176
177
178
179
180
181
182
183 @Test
184 public void testExtractDependencies8() throws IsisFishException, IOException {
185 RuleStorage script = RuleStorage.getRule("Cantonnement");
186 Set<String> deps = extractDependencies(script);
187 Assert.assertTrue(deps.contains("resultinfos.MatrixTestDep1"));
188 Assert.assertTrue(deps.contains("resultinfos.MatrixTestDep2"));
189 Assert.assertTrue(deps.contains("resultinfos.MatrixTestDep3"));
190 }
191 }