[jvm] Use real JUnit test data

GitOrigin-RevId: dc5ebd84b479442960e8af91f34792d73f3aab44
This commit is contained in:
Bart van Helvert
2022-06-10 14:50:23 +00:00
committed by intellij-monorepo-bot
parent 4e07570df7
commit 4296c6a95e
5 changed files with 46 additions and 185 deletions
@@ -127,7 +127,7 @@ class JavaJUnitUnconstructableInspectionTest : JUnitUnconstructableTestCaseInspe
import java.util.Arrays;
import junit.framework.TestCase;
import org.junit.runner.RunWith;
import org.junit.runner.Parameterized;
import org.junit.runners.Parameterized;
import org.junit.Test;
@RunWith(Parameterized.class)
@@ -3,77 +3,23 @@ package com.intellij.codeInspection.tests.test.junit
import com.intellij.codeInspection.test.junit.JUnit5AssertionsConverterInspection
import com.intellij.codeInspection.tests.UastInspectionTestBase
import com.intellij.openapi.module.Module
import com.intellij.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.LightProjectDescriptor
abstract class JUnit5AssertionsConverterInspectionTestBase : UastInspectionTestBase() {
override val inspection = JUnit5AssertionsConverterInspection()
override fun setUp() {
super.setUp()
// JUnit 4
myFixture.addClass("""
package org.hamcrest;
public interface Matcher<T>{}
""".trimIndent())
myFixture.addClass("""
package org.hamcrest;
public class MatcherAssert{}
""".trimIndent())
myFixture.addClass("""
package org.junit;
import org.hamcrest.Matcher;
public class Assert {
public static void assertArrayEquals(Object[] expecteds, Object[] actuals) {}
public static void assertArrayEquals(String message, Object[] expecteds, Object[] actuals) {}
public static void assertTrue(String message, boolean condition) {}
public static void assertTrue(boolean condition) {}
public static void assertEquals(String message, Object expected, Object actual) {}
public static void assertEquals(Object expected, Object actual) {}
public static void fail() {}
public static void fail(String message) {}
public static <T> void assertThat(String reason, T actual, Matcher<? super T> matcher) {}
public static void assertNotEquals(double unexpected, double actual, double delta) {}
protected open class JUnitProjectDescriptor(languageLevel: LanguageLevel) : ProjectDescriptor(languageLevel) {
override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
super.configureModule(module, model, contentEntry)
model.addJUnit4Library()
model.addHamcrest()
model.addJUnit5Library()
}
""".trimIndent())
myFixture.addClass("""
package org.junit;
public class Assume {
public static void assumeTrue(boolean b) {}
public static void assumeTrue(String message, boolean b) {}
}
""".trimIndent())
// JUnit 5
myFixture.addClass("""
package org.junit.jupiter.api;
@org.junit.platform.commons.annotation.Testable
public @interface Test {}
""".trimIndent())
myFixture.addClass("""
package org.junit.platform.commons.annotation;
public @interface Testable {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public final class Assertions {
public static void assertArrayEquals(Object[] expected, Object[] actual) {}
public static void assertArrayEquals(Object[] expected, Object[] actual, String message) {}
public static void assertEquals(Object expected, Object actual) {}
public static void assertTrue(boolean expected) {}
public static void assertEquals(Object expected, Object actual, String message) {}
public static void assertTrue(Object expected, String message) {}
public static void fail(String message) {}
public static void fail() {}
}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public class Assumptions {
public static void assumeTrue(boolean b) {}
public static void assumeTrue(boolean b, String message) {}
}
""".trimIndent())
}
override fun getProjectDescriptor(): LightProjectDescriptor = JUnitProjectDescriptor(sdkLevel)
}
@@ -3,92 +3,22 @@ package com.intellij.codeInspection.tests.test.junit
import com.intellij.codeInspection.test.junit.JUnit5ConverterInspection
import com.intellij.codeInspection.tests.UastInspectionTestBase
import com.intellij.openapi.module.Module
import com.intellij.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.LightProjectDescriptor
abstract class JUnit5ConverterInspectionTestBase : UastInspectionTestBase() {
override val inspection = JUnit5ConverterInspection()
override fun setUp() {
super.setUp()
// JUnit 4
myFixture.addClass("""
package org.junit;
public @interface Test {}
""".trimIndent())
myFixture.addClass("""
package org.hamcrest;
public interface Matcher<T>{}
""".trimIndent())
myFixture.addClass("""
package org.hamcrest;
public class MatcherAssert{}
""".trimIndent())
myFixture.addClass("""
package org.junit;
import org.hamcrest.Matcher;
public class Assert {
public static void assertArrayEquals(Object[] expecteds, Object[] actuals) {}
public static void assertArrayEquals(String message, Object[] expecteds, Object[] actuals) {}
public static void assertTrue(String message, boolean condition) {}
public static void assertTrue(boolean condition) {}
public static void assertEquals(String message, Object expected, Object actual) {}
public static void assertEquals(Object expected, Object actual) {}
public static void fail() {}
public static void fail(String message) {}
public static <T> void assertThat(String reason, T actual, Matcher<? super T> matcher) {}
public static void assertNotEquals(double unexpected, double actual, double delta) {}
protected open class JUnitProjectDescriptor(languageLevel: LanguageLevel) : ProjectDescriptor(languageLevel) {
override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
super.configureModule(module, model, contentEntry)
model.addJUnit4Library()
model.addJUnit5Library()
}
""".trimIndent())
myFixture.addClass("""
package org.junit;
public class Assume {
public static void assumeTrue(boolean b) {}
public static void assumeTrue(String message, boolean b) {}
}
""".trimIndent())
// JUnit 5
myFixture.addClass("""
package org.junit.jupiter.api;
@org.junit.platform.commons.annotation.Testable
public @interface Test {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public @interface AfterEach {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public @interface BeforeAll {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public @interface BeforeEach {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public interface RepetitionInfo {}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public final class Assertions {
public static void assertArrayEquals(Object[] expected, Object[] actual) {}
public static void assertArrayEquals(Object[] expected, Object[] actual, String message) {}
public static void assertEquals(Object expected, Object actual) {}
public static void assertTrue(boolean expected) {}
public static void assertEquals(Object expected, Object actual, String message) {}
public static void assertTrue(Object expected, String message) {}
public static void fail(String message) {}
public static void fail() {}
}
""".trimIndent())
myFixture.addClass("""
package org.junit.jupiter.api;
public class Assumptions {
public static void assumeTrue(boolean b) {}
public static void assumeTrue(boolean b, String message) {}
}
""".trimIndent())
}
override fun getProjectDescriptor(): LightProjectDescriptor = JUnitProjectDescriptor(sdkLevel)
}
@@ -16,9 +16,16 @@ internal fun ModifiableRootModel.addJUnit4Library() {
PsiTestUtil.addLibrary(this, "junit4", jar.parent, jar.name)
}
internal fun ModifiableRootModel.addHamcrest() {
val jar = File(PathUtil.getJarPathForClass(org.hamcrest.MatcherAssert::class.java))
PsiTestUtil.addLibrary(this, "hamcrest-core", jar.parent, jar.name)
}
internal fun ModifiableRootModel.addJUnit5Library() {
val jupiterJar = File(PathUtil.getJarPathForClass(org.junit.jupiter.api.Test::class.java))
PsiTestUtil.addLibrary(this, "junit5-jupiter", jupiterJar.parent, jupiterJar.name)
val paramsJar = File(PathUtil.getJarPathForClass(org.junit.jupiter.params.ParameterizedTest::class.java))
PsiTestUtil.addLibrary(this, "junit5-params", paramsJar.parent, paramsJar.name)
val platformJar = File(PathUtil.getJarPathForClass(org.junit.platform.commons.annotation.Testable::class.java))
PsiTestUtil.addLibrary(this, "junit-platform", platformJar.parent, platformJar.name)
}
@@ -2,44 +2,22 @@ package com.intellij.codeInspection.tests.test.junit
import com.intellij.codeInspection.test.junit.JUnitUnconstructableTestCaseInspection
import com.intellij.codeInspection.tests.UastInspectionTestBase
import com.intellij.openapi.module.Module
import com.intellij.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.LightProjectDescriptor
abstract class JUnitUnconstructableTestCaseInspectionTestBase : UastInspectionTestBase() {
override val inspection = JUnitUnconstructableTestCaseInspection()
override fun setUp() {
super.setUp()
myFixture.addClass("""
package junit.framework;
public abstract class TestCase { }
""".trimIndent())
myFixture.addClass("""
package org.junit;
public @interface Test {
Class<? extends Throwable> expected() default Test.None.class;
}
""".trimIndent())
myFixture.addClass("""
package org.junit.runner;
public abstract class Runner implements Describable { }
""".trimIndent())
myFixture.addClass("""
package org.junit.runner;
public class Parameterized extends Runner {
public @interface Parameters {
String name() default "{index}";
}
}
""".trimIndent())
myFixture.addClass("""
package org.junit.runner;
public @interface RunWith {
Class<? extends Runner> value();
}
""".trimIndent())
protected open class JUnitProjectDescriptor(languageLevel: LanguageLevel) : ProjectDescriptor(languageLevel) {
override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
super.configureModule(module, model, contentEntry)
model.addJUnit3Library()
model.addJUnit4Library()
}
}
override fun getProjectDescriptor(): LightProjectDescriptor = JUnitProjectDescriptor(sdkLevel)
}