Skip to content

Commit a082bd1

Browse files
monperrussurli
authored andcommitted
test: don't use Junit3 classes in test suite, only use Junit4 org.junit.* (#1577)
1 parent 088869a commit a082bd1

20 files changed

+45
-33
lines changed

src/test/java/spoon/MavenLauncherTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public void spoonMavenLauncherTest() {
2020
// with the tests
2121
launcher = new MavenLauncher("./", MavenLauncher.SOURCE_TYPE.ALL_SOURCE);
2222
// 236 because of the sub folders of src/main/java and src/test/java
23-
assertTrue(launcher.getModelBuilder().getInputSources().size() >= 236);
23+
assertTrue("size: "+launcher.getModelBuilder().getInputSources().size(), launcher.getModelBuilder().getInputSources().size() >= 220);
2424

2525
// specify the pom.xml
2626
launcher = new MavenLauncher("./pom.xml", MavenLauncher.SOURCE_TYPE.APP_SOURCE);

src/test/java/spoon/test/architecture/SpoonArchitectureEnforcerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import spoon.reflect.declaration.CtType;
1515
import spoon.reflect.declaration.ModifierKind;
1616
import spoon.reflect.factory.Factory;
17+
import spoon.reflect.reference.CtTypeReference;
1718
import spoon.reflect.visitor.filter.AbstractFilter;
1819
import spoon.reflect.visitor.filter.TypeFilter;
1920

@@ -155,6 +156,17 @@ public boolean matches(CtMethod element) {
155156
})) {
156157
assertTrue("naming contract violated for "+meth.getParent(CtClass.class).getSimpleName(), meth.getParent(CtClass.class).getSimpleName().startsWith("Test") || meth.getParent(CtClass.class).getSimpleName().endsWith("Test"));
157158
}
159+
160+
// contract: the Spoon test suite does not depend on Junit 3 classes and methods
161+
// otherwise, intellij automatically selects the junit3 runner, finds nothing
162+
// and crashes with a dirty exception
163+
assertEquals(0, spoon.getModel().getRootPackage().getElements(new TypeFilter<CtTypeReference>(CtTypeReference.class){
164+
@Override
165+
public boolean matches(CtTypeReference element) {
166+
CtMethod parent = element.getParent(CtMethod.class);
167+
return "junit.framework.TestCase".equals(element.getQualifiedName());
168+
}
169+
}).size());
158170
}
159171

160172
@Test

src/test/java/spoon/test/imports/ImportScannerTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ public void testComputeImportsInClassWithSameName() throws Exception {
6868
String className = "ImportSameName";
6969
String qualifiedName = packageName + "." + className;
7070

71-
Factory aFactory = build(packageName, className).getFactory();
71+
Launcher spoon = new Launcher();
72+
spoon.addInputResource("src/test/resources/spoon/test/imports/testclasses2/");
73+
spoon.buildModel();
74+
Factory aFactory = spoon.getFactory();
7275
CtType<?> theClass = aFactory.Type().get(qualifiedName);
7376

7477
ImportScanner importContext = new ImportScannerImpl();

src/test/java/spoon/test/imports/ImportTest.java

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@
4646
import spoon.test.imports.testclasses.SubClass;
4747
import spoon.test.imports.testclasses.Tacos;
4848
import spoon.test.imports.testclasses.internal.ChildClass;
49-
import spoon.test.imports.testclasses2.apachetestsuite.staticcollision.AllLangTestSuite;
50-
import spoon.test.imports.testclasses2.apachetestsuite.staticjava3.AllLangTestJava3;
51-
import spoon.test.imports.testclasses2.apachetestsuite.staticmethod.AllLangTestSuiteStaticMethod;
5249
import spoon.testing.utils.ModelUtils;
5350

5451
import java.io.File;
@@ -558,7 +555,7 @@ void checkCanAccess(String aClassName, boolean isInterface, boolean canAccessCli
558555
public void testNestedAccessPathWithTypedParameter() throws Exception {
559556
final Launcher launcher = new Launcher();
560557
launcher.setArgs(new String[] {
561-
"-i", "./src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java"
558+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java"
562559
});
563560
launcher.buildModel();
564561
launcher.prettyprint();
@@ -581,7 +578,7 @@ public void testNestedAccessPathWithTypedParameter() throws Exception {
581578
public void testNestedAccessPathWithTypedParameterWithImports() throws Exception {
582579
final Launcher launcher = new Launcher();
583580
launcher.setArgs(new String[] {
584-
"-i", "./src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java", "--with-imports"
581+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java", "--with-imports"
585582
});
586583
launcher.buildModel();
587584
launcher.prettyprint();
@@ -605,7 +602,7 @@ public void testNestedAccessPathWithTypedParameterWithImports() throws Exception
605602
public void testNestedStaticPathWithTypedParameter() throws Exception {
606603
final Launcher launcher = new Launcher();
607604
launcher.setArgs(new String[] {
608-
"-i", "./src/test/java/spoon/test/imports/testclasses2/Interners.java"
605+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/Interners.java"
609606
});
610607
launcher.buildModel();
611608
launcher.prettyprint();
@@ -623,7 +620,7 @@ public void testNestedStaticPathWithTypedParameter() throws Exception {
623620
public void testNestedStaticPathWithTypedParameterWithImports() throws Exception {
624621
final Launcher launcher = new Launcher();
625622
launcher.setArgs(new String[] {
626-
"-i", "./src/test/java/spoon/test/imports/testclasses2/Interners.java", "--with-imports"
623+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/Interners.java", "--with-imports"
627624
});
628625
launcher.buildModel();
629626
launcher.prettyprint();
@@ -641,7 +638,7 @@ public void testNestedStaticPathWithTypedParameterWithImports() throws Exception
641638
public void testDeepNestedStaticPathWithTypedParameter() throws Exception {
642639
final Launcher launcher = new Launcher();
643640
launcher.setArgs(new String[] {
644-
"-i", "./src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java"
641+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java"
645642
});
646643
launcher.buildModel();
647644
launcher.prettyprint();
@@ -658,7 +655,7 @@ public void testDeepNestedStaticPathWithTypedParameter() throws Exception {
658655
public void testDeepNestedStaticPathWithTypedParameterWithImports() throws Exception {
659656
final Launcher launcher = new Launcher();
660657
launcher.setArgs(new String[] {
661-
"-i", "./src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java", "--with-imports"
658+
"-i", "./src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java", "--with-imports"
662659
});
663660
launcher.buildModel();
664661
launcher.prettyprint();
@@ -962,7 +959,7 @@ public void testJavaLangIsConsideredAsImported() {
962959
final Launcher launcher = new Launcher();
963960
launcher.getEnvironment().setAutoImports(false);
964961
String outputDir = "./target/spooned-javalang";
965-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/JavaLangConflict.java");
962+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/JavaLangConflict.java");
966963
launcher.setSourceOutputDirectory(outputDir);
967964
launcher.run();
968965

@@ -1041,16 +1038,16 @@ public void testStaticMethodWithDifferentClassSameNameJava7NoCollision() {
10411038
final Launcher launcher = new Launcher();
10421039
launcher.getEnvironment().setAutoImports(true);
10431040
String outputDir = "./target/spooned-staticmethod";
1044-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/");
1045-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1046-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1047-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
1041+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/");
1042+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1043+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1044+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
10481045
launcher.setSourceOutputDirectory(outputDir);
10491046
launcher.getEnvironment().setComplianceLevel(7);
10501047
launcher.run();
10511048
PrettyPrinter prettyPrinter = launcher.createPrettyPrinter();
10521049

1053-
CtType element = launcher.getFactory().Class().get(AllLangTestSuiteStaticMethod.class);
1050+
CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticmethod.AllLangTestSuiteStaticMethod");
10541051
List<CtType<?>> toPrint = new ArrayList<>();
10551052
toPrint.add(element);
10561053

@@ -1071,16 +1068,16 @@ public void testStaticMethodWithDifferentClassSameNameJava3NoCollision() {
10711068
final Launcher launcher = new Launcher();
10721069
launcher.getEnvironment().setAutoImports(true);
10731070
String outputDir = "./target/spooned-staticjava3";
1074-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/");
1075-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1076-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1077-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
1071+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/");
1072+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1073+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1074+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
10781075
launcher.setSourceOutputDirectory(outputDir);
10791076
launcher.getEnvironment().setComplianceLevel(3);
10801077
launcher.run();
10811078
PrettyPrinter prettyPrinter = launcher.createPrettyPrinter();
10821079

1083-
CtType element = launcher.getFactory().Class().get(AllLangTestJava3.class);
1080+
CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticjava3.AllLangTestJava3");
10841081
List<CtType<?>> toPrint = new ArrayList<>();
10851082
toPrint.add(element);
10861083

@@ -1101,16 +1098,16 @@ public void testStaticMethodWithDifferentClassSameNameCollision() {
11011098
final Launcher launcher = new Launcher();
11021099
launcher.getEnvironment().setAutoImports(true);
11031100
String outputDir = "./target/spooned-apache";
1104-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/");
1105-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1106-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1107-
launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
1101+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/");
1102+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/");
1103+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/");
1104+
launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java");
11081105
launcher.setSourceOutputDirectory(outputDir);
11091106
launcher.getEnvironment().setComplianceLevel(3);
11101107
launcher.run();
11111108
PrettyPrinter prettyPrinter = launcher.createPrettyPrinter();
11121109

1113-
CtType element = launcher.getFactory().Class().get(AllLangTestSuite.class);
1110+
CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticcollision.AllLangTestSuite");
11141111
List<CtType<?>> toPrint = new ArrayList<>();
11151112
toPrint.add(element);
11161113

src/test/java/spoon/test/prettyprinter/PrinterTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ public void testAutoimportModeDontImportUselessStatic() {
109109

110110
assertTrue("The result should not contain import static: ", !result.contains("import static spoon.test.prettyprinter.testclasses.sub.Constants.READY"));
111111
assertTrue("The result should contain import type: ", result.contains("import spoon.test.prettyprinter.testclasses.sub.Constants"));
112-
assertTrue("The result should contain import for TestCase: ", result.contains("import junit.framework.TestCase;"));
113-
assertTrue("The result should contain assertTrue(...): ", result.contains("TestCase.assertTrue(\"blabla\".equals(\"toto\"));"));
112+
assertTrue("The result should contain assertTrue(...): ", result.contains("Assert.assertTrue(\"blabla\".equals(\"toto\"));"));
114113
assertTrue("The result should use System.out.println(Constants.READY): "+result, result.contains("System.out.println(Constants.READY);"));
115114
}
116115

src/test/java/spoon/test/prettyprinter/testclasses/ImportStatic.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
import spoon.test.prettyprinter.testclasses.sub.Constants;
44

5-
import static junit.framework.TestCase.assertTrue;
5+
import static org.junit.Assert.assertTrue;
6+
67

78
/**
89
* Created by urli on 30/01/2017.

src/test/java/spoon/test/reference/ElasticsearchStackoverflowTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515

1616
import java.util.List;
1717

18-
import static junit.framework.TestCase.assertFalse;
19-
import static junit.framework.TestCase.assertTrue;
2018
import static org.junit.Assert.assertEquals;
19+
import static org.junit.Assert.assertFalse;
2120
import static org.junit.Assert.assertNull;
21+
import static org.junit.Assert.assertTrue;
2222

2323
public class ElasticsearchStackoverflowTest {
2424

src/test/java/spoon/test/type/TypeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@
4646
import java.util.List;
4747
import java.util.stream.Collectors;
4848

49-
import static junit.framework.TestCase.assertFalse;
5049
import static org.junit.Assert.assertEquals;
5150
import static org.junit.Assert.assertNotNull;
5251
import static org.junit.Assert.assertSame;
5352
import static org.junit.Assert.assertTrue;
53+
import static org.junit.Assert.assertFalse;
5454
import static org.junit.Assert.fail;
5555
import static spoon.testing.utils.ModelUtils.buildClass;
5656
import static spoon.testing.utils.ModelUtils.canBeBuilt;
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)