Skip to content

Commit 002e49a

Browse files
author
Ben Romberg
committed
performance improvements and integration-test for fitnesse
1 parent f8973fb commit 002e49a

File tree

1,491 files changed

+22441
-10
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,491 files changed

+22441
-10
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<version>2.14.1</version>
8686
<configuration>
8787
<excludes>
88-
<exclude>junit-target/**</exclude>
88+
<exclude>*-target/**</exclude>
8989
</excludes>
9090
</configuration>
9191
</plugin>

src/main/java/de/andrena/tools/nopackagecycles/NoPackageCyclesRule.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ private void executePackageCycleCheck(File classesDir) throws IOException, Enfor
4646
jdepend.addDirectory(classesDir.getAbsolutePath());
4747
jdepend.analyze();
4848
if (jdepend.containsCycles()) {
49-
throw new EnforcerRuleException("There are package cycles:" + getPackageCycles(jdepend));
49+
String packageCycles = getPackageCycles(jdepend);
50+
throw new EnforcerRuleException("There are package cycles:" + packageCycles);
5051
}
5152
}
5253

src/main/java/de/andrena/tools/nopackagecycles/PackageCycleCollector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ private Set<JavaPackage> collectAllDependencyCycles(JavaPackage javaPackage, Lis
2929
visitedPackages));
3030
if (dependencyPackageCycle.contains(javaPackage)) {
3131
allCycles.addAll(dependencyPackageCycle);
32+
visitedPackages.addAll(dependencyPackageCycle);
3233
}
3334
}
3435
return allCycles;

src/test/java/de/andrena/tools/nopackagecycles/NoPackageCyclesRuleIntegrationTest.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import java.io.File;
77
import java.io.IOException;
8+
import java.net.URISyntaxException;
89
import java.net.URL;
910

1011
import org.apache.commons.io.IOUtils;
@@ -17,9 +18,10 @@
1718
import de.andrena.tools.nopackagecycles.mock.EnforcerRuleHelperMock;
1819

1920
public class NoPackageCyclesRuleIntegrationTest {
20-
private static final URL TARGET_FOLDER = Thread.currentThread().getContextClassLoader().getResource("junit-target");
21-
private static final URL EXPECTED_OUTPUT = Thread.currentThread().getContextClassLoader()
22-
.getResource("junit-expected-output.txt");
21+
private static final URL FITNESSE_TARGET_FOLDER = getResource("fitnesse-target");
22+
private static final URL FITNESSE_EXPECTED_OUTPUT = getResource("fitnesse-expected-output.txt");
23+
private static final URL JUNIT_TARGET_FOLDER = getResource("junit-target");
24+
private static final URL JUNIT_EXPECTED_OUTPUT = getResource("junit-expected-output.txt");
2325

2426
private NoPackageCyclesRule rule;
2527
private EnforcerRuleHelperMock helper;
@@ -31,20 +33,34 @@ public class NoPackageCyclesRuleIntegrationTest {
3133
public void setUp() throws Exception {
3234
rule = new NoPackageCyclesRule();
3335
helper = new EnforcerRuleHelperMock();
34-
helper.setTargetDir(new File(TARGET_FOLDER.toURI()));
3536
}
3637

3738
@Test
38-
public void integrationTest() throws Exception {
39+
public void fitnesseIntegrationTest() throws Exception {
40+
assertPackageCycles(FITNESSE_TARGET_FOLDER, FITNESSE_EXPECTED_OUTPUT);
41+
}
42+
43+
@Test
44+
public void junitIntegrationTest() throws Exception {
45+
assertPackageCycles(JUNIT_TARGET_FOLDER, JUNIT_EXPECTED_OUTPUT);
46+
}
47+
48+
private void assertPackageCycles(URL targetFolder, URL expectedOutput) throws URISyntaxException, IOException {
49+
helper.setTargetDir(new File(targetFolder.toURI()));
3950
try {
4051
rule.execute(helper);
4152
fail("expected EnforcerRuleException");
4253
} catch (EnforcerRuleException e) {
43-
assertEquals(getExpectedOutput(), e.getMessage());
54+
// using assertEquals to get a nice comparison editor in eclipse
55+
assertEquals(getExpectedOutput(expectedOutput), e.getMessage());
4456
}
4557
}
4658

47-
private String getExpectedOutput() throws IOException {
48-
return IOUtils.toString(EXPECTED_OUTPUT.openStream()).replaceAll("\r", "");
59+
private String getExpectedOutput(URL expectedOutput) throws IOException {
60+
return IOUtils.toString(expectedOutput.openStream()).replaceAll("\r", "");
61+
}
62+
63+
private static URL getResource(String path) {
64+
return Thread.currentThread().getContextClassLoader().getResource(path);
4965
}
5066
}

src/test/resources/fitnesse-expected-output.txt

Lines changed: 298 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v20130528
596 Bytes
Binary file not shown.
402 Bytes
Binary file not shown.
293 Bytes
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)