New AssertThatInstanceOf inspection that moves instanceof expressions out of assertThat(). Fixes to documentation.
This commit is contained in:
@@ -242,6 +242,13 @@ public class Playground {
|
||||
assertThat(opt).isAbsent();
|
||||
}
|
||||
|
||||
private void assertThatInstance() {
|
||||
String foo = "foo";
|
||||
assertThat(foo instanceof String).isTrue();
|
||||
assertThat(foo).isInstanceOf(String.class);
|
||||
assertThat(foo).isNotInstanceOf(String.class);
|
||||
}
|
||||
|
||||
private void junitAssertions() {
|
||||
assertFalse(!(new int[3].length == new ArrayList<Integer>().size()));
|
||||
assertThat(!(new int[3].length == new ArrayList<Integer>().size())).isFalse();
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package de.platon42.intellij.plugins.cajon.inspections
|
||||
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
|
||||
import de.platon42.intellij.jupiter.MyFixture
|
||||
import de.platon42.intellij.jupiter.TestDataSubPath
|
||||
import de.platon42.intellij.plugins.cajon.AbstractCajonTest
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
internal class AssertThatInstanceOfInspectionTest : AbstractCajonTest() {
|
||||
|
||||
@Test
|
||||
@TestDataSubPath("inspections/InstanceOf")
|
||||
internal fun assertThat_with_instanceof_can_be_moved_out(@MyFixture myFixture: JavaCodeInsightTestFixture) {
|
||||
runTest {
|
||||
myFixture.enableInspections(AssertThatInstanceOfInspection::class.java)
|
||||
myFixture.configureByFile("InstanceOfBefore.java")
|
||||
executeQuickFixes(myFixture, Regex.fromLiteral("Replace instanceof expression by assertThat().isInstanceOf()"), 5)
|
||||
executeQuickFixes(myFixture, Regex.fromLiteral("Replace instanceof expression by assertThat().isNotInstanceOf()"), 6)
|
||||
myFixture.checkResultByFile("InstanceOfAfter.java")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class InstanceOf {
|
||||
|
||||
private void instanceOf() {
|
||||
Boolean object = Boolean.TRUE;
|
||||
|
||||
assertThat(object).isInstanceOf(Boolean.class);
|
||||
assertThat(object).isInstanceOf(Boolean.class);
|
||||
assertThat(object).isInstanceOf(Boolean.class);
|
||||
assertThat(object).isInstanceOf(Boolean.class);
|
||||
assertThat(object).isInstanceOf(Boolean.class);
|
||||
|
||||
assertThat(object).isNotInstanceOf(Boolean.class);
|
||||
assertThat(object).isNotInstanceOf(Boolean.class);
|
||||
assertThat(object).isNotInstanceOf(Boolean.class);
|
||||
assertThat(object).isNotInstanceOf(Boolean.class);
|
||||
assertThat(object).isNotInstanceOf(Boolean.class);
|
||||
|
||||
assertThat(object).as("nah").isNotInstanceOf(Boolean.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class InstanceOf {
|
||||
|
||||
private void instanceOf() {
|
||||
Boolean object = Boolean.TRUE;
|
||||
|
||||
assertThat(object instanceof Boolean).isEqualTo(Boolean.TRUE);
|
||||
assertThat(object instanceof Boolean).isEqualTo(true);
|
||||
assertThat(object instanceof Boolean).isNotEqualTo(Boolean.FALSE);
|
||||
assertThat(object instanceof Boolean).isNotEqualTo(false);
|
||||
assertThat(object instanceof Boolean).isTrue();
|
||||
|
||||
assertThat(object instanceof Boolean).isEqualTo(Boolean.FALSE);
|
||||
assertThat(object instanceof Boolean).isEqualTo(false);
|
||||
assertThat(object instanceof Boolean).isNotEqualTo(Boolean.TRUE);
|
||||
assertThat(object instanceof Boolean).isNotEqualTo(true);
|
||||
assertThat(object instanceof Boolean).isFalse();
|
||||
|
||||
assertThat(((object)) instanceof Boolean).as("nah").isEqualTo(true && !true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user