From 9ddcf8dd396c68bafb16e2239b653f92e1a45626 Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Fri, 6 Oct 2017 22:17:32 +0200 Subject: [PATCH] up --- src/test/java/spoon/MavenLauncherTest.java | 2 +- .../SpoonArchitectureEnforcerTest.java | 12 +++++ .../spoon/test/imports/ImportScannerTest.java | 5 +- .../java/spoon/test/imports/ImportTest.java | 47 +++++++++---------- .../spoon/test/prettyprinter/PrinterTest.java | 3 +- .../testclasses/ImportStatic.java | 3 +- .../ElasticsearchStackoverflowTest.java | 4 +- src/test/java/spoon/test/type/TypeTest.java | 2 +- .../AbstractMapBasedMultimap.java | 0 .../imports/testclasses2/ImportSameName.java | 0 .../test/imports/testclasses2/Interners.java | 0 .../testclasses2/JavaLangConflict.java | 0 .../testclasses2/StaticWithNested.java | 0 .../apachetestsuite/LangTestSuite.java | 0 .../apachetestsuite/enum2/EnumTestSuite.java | 0 .../apachetestsuite/enums/EnumTestSuite.java | 0 .../staticcollision/AllLangTestSuite.java | 0 .../staticjava3/AllLangTestJava3.java | 0 .../AllLangTestSuiteStaticMethod.java | 0 .../testclasses2/toto/ImportSameName.java | 0 20 files changed, 45 insertions(+), 33 deletions(-) rename src/test/{java => resources}/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/ImportSameName.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/Interners.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/JavaLangConflict.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/StaticWithNested.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/enum2/EnumTestSuite.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/enums/EnumTestSuite.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/AllLangTestSuite.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/AllLangTestJava3.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/AllLangTestSuiteStaticMethod.java (100%) rename src/test/{java => resources}/spoon/test/imports/testclasses2/toto/ImportSameName.java (100%) diff --git a/src/test/java/spoon/MavenLauncherTest.java b/src/test/java/spoon/MavenLauncherTest.java index b12f896b893..45e15ef1d3a 100644 --- a/src/test/java/spoon/MavenLauncherTest.java +++ b/src/test/java/spoon/MavenLauncherTest.java @@ -20,7 +20,7 @@ public void spoonMavenLauncherTest() { // with the tests launcher = new MavenLauncher("./", MavenLauncher.SOURCE_TYPE.ALL_SOURCE); // 236 because of the sub folders of src/main/java and src/test/java - assertTrue(launcher.getModelBuilder().getInputSources().size() >= 236); + assertTrue("size: "+launcher.getModelBuilder().getInputSources().size(), launcher.getModelBuilder().getInputSources().size() >= 220); // specify the pom.xml launcher = new MavenLauncher("./pom.xml", MavenLauncher.SOURCE_TYPE.APP_SOURCE); diff --git a/src/test/java/spoon/test/architecture/SpoonArchitectureEnforcerTest.java b/src/test/java/spoon/test/architecture/SpoonArchitectureEnforcerTest.java index 3a2e9c121fd..4bbc7c7b002 100644 --- a/src/test/java/spoon/test/architecture/SpoonArchitectureEnforcerTest.java +++ b/src/test/java/spoon/test/architecture/SpoonArchitectureEnforcerTest.java @@ -14,6 +14,7 @@ import spoon.reflect.declaration.CtType; import spoon.reflect.declaration.ModifierKind; import spoon.reflect.factory.Factory; +import spoon.reflect.reference.CtTypeReference; import spoon.reflect.visitor.filter.AbstractFilter; import spoon.reflect.visitor.filter.TypeFilter; @@ -155,6 +156,17 @@ public boolean matches(CtMethod element) { })) { assertTrue("naming contract violated for "+meth.getParent(CtClass.class).getSimpleName(), meth.getParent(CtClass.class).getSimpleName().startsWith("Test") || meth.getParent(CtClass.class).getSimpleName().endsWith("Test")); } + + // contract: the Spoon test suite does not depend on Junit 3 classes and methods + // otherwise, intellij automatically selects the junit3 runner, finds nothing + // and crashes with a dirty exception + assertEquals(0, spoon.getModel().getRootPackage().getElements(new TypeFilter(CtTypeReference.class){ + @Override + public boolean matches(CtTypeReference element) { + CtMethod parent = element.getParent(CtMethod.class); + return "junit.framework.TestCase".equals(element.getQualifiedName()); + } + }).size()); } @Test diff --git a/src/test/java/spoon/test/imports/ImportScannerTest.java b/src/test/java/spoon/test/imports/ImportScannerTest.java index f5540a58aaf..eb65c3c88df 100644 --- a/src/test/java/spoon/test/imports/ImportScannerTest.java +++ b/src/test/java/spoon/test/imports/ImportScannerTest.java @@ -68,7 +68,10 @@ public void testComputeImportsInClassWithSameName() throws Exception { String className = "ImportSameName"; String qualifiedName = packageName + "." + className; - Factory aFactory = build(packageName, className).getFactory(); + Launcher spoon = new Launcher(); + spoon.addInputResource("src/test/resources/spoon/test/imports/testclasses2/"); + spoon.buildModel(); + Factory aFactory = spoon.getFactory(); CtType theClass = aFactory.Type().get(qualifiedName); ImportScanner importContext = new ImportScannerImpl(); diff --git a/src/test/java/spoon/test/imports/ImportTest.java b/src/test/java/spoon/test/imports/ImportTest.java index ba15d72f970..3c1d7eb20b1 100644 --- a/src/test/java/spoon/test/imports/ImportTest.java +++ b/src/test/java/spoon/test/imports/ImportTest.java @@ -45,9 +45,6 @@ import spoon.test.imports.testclasses.SubClass; import spoon.test.imports.testclasses.Tacos; import spoon.test.imports.testclasses.internal.ChildClass; -import spoon.test.imports.testclasses2.apachetestsuite.staticcollision.AllLangTestSuite; -import spoon.test.imports.testclasses2.apachetestsuite.staticjava3.AllLangTestJava3; -import spoon.test.imports.testclasses2.apachetestsuite.staticmethod.AllLangTestSuiteStaticMethod; import spoon.testing.utils.ModelUtils; import java.io.File; @@ -557,7 +554,7 @@ void checkCanAccess(String aClassName, boolean isInterface, boolean canAccessCli public void testNestedAccessPathWithTypedParameter() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java" }); launcher.buildModel(); launcher.prettyprint(); @@ -580,7 +577,7 @@ public void testNestedAccessPathWithTypedParameter() throws Exception { public void testNestedAccessPathWithTypedParameterWithImports() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java", "--with-imports" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java", "--with-imports" }); launcher.buildModel(); launcher.prettyprint(); @@ -604,7 +601,7 @@ public void testNestedAccessPathWithTypedParameterWithImports() throws Exception public void testNestedStaticPathWithTypedParameter() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/Interners.java" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/Interners.java" }); launcher.buildModel(); launcher.prettyprint(); @@ -622,7 +619,7 @@ public void testNestedStaticPathWithTypedParameter() throws Exception { public void testNestedStaticPathWithTypedParameterWithImports() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/Interners.java", "--with-imports" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/Interners.java", "--with-imports" }); launcher.buildModel(); launcher.prettyprint(); @@ -640,7 +637,7 @@ public void testNestedStaticPathWithTypedParameterWithImports() throws Exception public void testDeepNestedStaticPathWithTypedParameter() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java" }); launcher.buildModel(); launcher.prettyprint(); @@ -657,7 +654,7 @@ public void testDeepNestedStaticPathWithTypedParameter() throws Exception { public void testDeepNestedStaticPathWithTypedParameterWithImports() throws Exception { final Launcher launcher = new Launcher(); launcher.setArgs(new String[] { - "-i", "./src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java", "--with-imports" + "-i", "./src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java", "--with-imports" }); launcher.buildModel(); launcher.prettyprint(); @@ -961,7 +958,7 @@ public void testJavaLangIsConsideredAsImported() { final Launcher launcher = new Launcher(); launcher.getEnvironment().setAutoImports(false); String outputDir = "./target/spooned-javalang"; - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/JavaLangConflict.java"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/JavaLangConflict.java"); launcher.setSourceOutputDirectory(outputDir); launcher.run(); @@ -1040,16 +1037,16 @@ public void testStaticMethodWithDifferentClassSameNameJava7NoCollision() { final Launcher launcher = new Launcher(); launcher.getEnvironment().setAutoImports(true); String outputDir = "./target/spooned-staticmethod"; - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); launcher.setSourceOutputDirectory(outputDir); launcher.getEnvironment().setComplianceLevel(7); launcher.run(); PrettyPrinter prettyPrinter = launcher.createPrettyPrinter(); - CtType element = launcher.getFactory().Class().get(AllLangTestSuiteStaticMethod.class); + CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticmethod.AllLangTestSuiteStaticMethod"); List> toPrint = new ArrayList<>(); toPrint.add(element); @@ -1070,16 +1067,16 @@ public void testStaticMethodWithDifferentClassSameNameJava3NoCollision() { final Launcher launcher = new Launcher(); launcher.getEnvironment().setAutoImports(true); String outputDir = "./target/spooned-staticjava3"; - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); launcher.setSourceOutputDirectory(outputDir); launcher.getEnvironment().setComplianceLevel(3); launcher.run(); PrettyPrinter prettyPrinter = launcher.createPrettyPrinter(); - CtType element = launcher.getFactory().Class().get(AllLangTestJava3.class); + CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticjava3.AllLangTestJava3"); List> toPrint = new ArrayList<>(); toPrint.add(element); @@ -1100,16 +1097,16 @@ public void testStaticMethodWithDifferentClassSameNameCollision() { final Launcher launcher = new Launcher(); launcher.getEnvironment().setAutoImports(true); String outputDir = "./target/spooned-apache"; - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); - launcher.addInputResource("./src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/"); + launcher.addInputResource("./src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java"); launcher.setSourceOutputDirectory(outputDir); launcher.getEnvironment().setComplianceLevel(3); launcher.run(); PrettyPrinter prettyPrinter = launcher.createPrettyPrinter(); - CtType element = launcher.getFactory().Class().get(AllLangTestSuite.class); + CtType element = launcher.getFactory().Class().get("spoon.test.imports.testclasses2.apachetestsuite.staticcollision.AllLangTestSuite"); List> toPrint = new ArrayList<>(); toPrint.add(element); diff --git a/src/test/java/spoon/test/prettyprinter/PrinterTest.java b/src/test/java/spoon/test/prettyprinter/PrinterTest.java index 1f1b63a5567..1e125a5ca31 100644 --- a/src/test/java/spoon/test/prettyprinter/PrinterTest.java +++ b/src/test/java/spoon/test/prettyprinter/PrinterTest.java @@ -109,8 +109,7 @@ public void testAutoimportModeDontImportUselessStatic() { assertTrue("The result should not contain import static: ", !result.contains("import static spoon.test.prettyprinter.testclasses.sub.Constants.READY")); assertTrue("The result should contain import type: ", result.contains("import spoon.test.prettyprinter.testclasses.sub.Constants")); - assertTrue("The result should contain import for TestCase: ", result.contains("import junit.framework.TestCase;")); - assertTrue("The result should contain assertTrue(...): ", result.contains("TestCase.assertTrue(\"blabla\".equals(\"toto\"));")); + assertTrue("The result should contain assertTrue(...): ", result.contains("Assert.assertTrue(\"blabla\".equals(\"toto\"));")); assertTrue("The result should use System.out.println(Constants.READY): "+result, result.contains("System.out.println(Constants.READY);")); } diff --git a/src/test/java/spoon/test/prettyprinter/testclasses/ImportStatic.java b/src/test/java/spoon/test/prettyprinter/testclasses/ImportStatic.java index 09f3dde944e..f34fa181cd5 100644 --- a/src/test/java/spoon/test/prettyprinter/testclasses/ImportStatic.java +++ b/src/test/java/spoon/test/prettyprinter/testclasses/ImportStatic.java @@ -2,7 +2,8 @@ import spoon.test.prettyprinter.testclasses.sub.Constants; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertTrue; + /** * Created by urli on 30/01/2017. diff --git a/src/test/java/spoon/test/reference/ElasticsearchStackoverflowTest.java b/src/test/java/spoon/test/reference/ElasticsearchStackoverflowTest.java index 6a61435d8ce..a4159d54198 100644 --- a/src/test/java/spoon/test/reference/ElasticsearchStackoverflowTest.java +++ b/src/test/java/spoon/test/reference/ElasticsearchStackoverflowTest.java @@ -15,10 +15,10 @@ import java.util.List; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; public class ElasticsearchStackoverflowTest { diff --git a/src/test/java/spoon/test/type/TypeTest.java b/src/test/java/spoon/test/type/TypeTest.java index 16795c7fdba..d2ce84786c6 100644 --- a/src/test/java/spoon/test/type/TypeTest.java +++ b/src/test/java/spoon/test/type/TypeTest.java @@ -46,11 +46,11 @@ import java.util.List; import java.util.stream.Collectors; -import static junit.framework.TestCase.assertFalse; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.fail; import static spoon.testing.utils.ModelUtils.buildClass; import static spoon.testing.utils.ModelUtils.canBeBuilt; diff --git a/src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java b/src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java rename to src/test/resources/spoon/test/imports/testclasses2/AbstractMapBasedMultimap.java diff --git a/src/test/java/spoon/test/imports/testclasses2/ImportSameName.java b/src/test/resources/spoon/test/imports/testclasses2/ImportSameName.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/ImportSameName.java rename to src/test/resources/spoon/test/imports/testclasses2/ImportSameName.java diff --git a/src/test/java/spoon/test/imports/testclasses2/Interners.java b/src/test/resources/spoon/test/imports/testclasses2/Interners.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/Interners.java rename to src/test/resources/spoon/test/imports/testclasses2/Interners.java diff --git a/src/test/java/spoon/test/imports/testclasses2/JavaLangConflict.java b/src/test/resources/spoon/test/imports/testclasses2/JavaLangConflict.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/JavaLangConflict.java rename to src/test/resources/spoon/test/imports/testclasses2/JavaLangConflict.java diff --git a/src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java b/src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/StaticWithNested.java rename to src/test/resources/spoon/test/imports/testclasses2/StaticWithNested.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/LangTestSuite.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/EnumTestSuite.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/EnumTestSuite.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enum2/EnumTestSuite.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enum2/EnumTestSuite.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/EnumTestSuite.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/EnumTestSuite.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/enums/EnumTestSuite.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/enums/EnumTestSuite.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/AllLangTestSuite.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/AllLangTestSuite.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/AllLangTestSuite.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticcollision/AllLangTestSuite.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/AllLangTestJava3.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/AllLangTestJava3.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/AllLangTestJava3.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticjava3/AllLangTestJava3.java diff --git a/src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/AllLangTestSuiteStaticMethod.java b/src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/AllLangTestSuiteStaticMethod.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/AllLangTestSuiteStaticMethod.java rename to src/test/resources/spoon/test/imports/testclasses2/apachetestsuite/staticmethod/AllLangTestSuiteStaticMethod.java diff --git a/src/test/java/spoon/test/imports/testclasses2/toto/ImportSameName.java b/src/test/resources/spoon/test/imports/testclasses2/toto/ImportSameName.java similarity index 100% rename from src/test/java/spoon/test/imports/testclasses2/toto/ImportSameName.java rename to src/test/resources/spoon/test/imports/testclasses2/toto/ImportSameName.java