From 9c25879c321610d36fcd4bcb2222d238ac59dc52 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Sat, 19 Aug 2017 18:25:57 +0200 Subject: [PATCH] simplifiable assertions: autoboxing (IDEA-176911) --- .../SimplifiableAssertionInspection.java | 8 ++++++-- .../BoxedComparisonToEquals.after.java | 10 ++++++++++ .../BoxedComparisonToEquals.java | 9 +++++++++ .../fixes/junit/SimplifiableJUnitAssertionFixTest.java | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.after.java create mode 100644 plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.java diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java index 382d879cf813..d964dd78cee0 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java @@ -20,12 +20,16 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.TypeConversionUtil; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.InspectionGadgetsFix; import com.siyeh.ig.PsiReplacementUtil; -import com.siyeh.ig.psiutils.*; +import com.siyeh.ig.psiutils.ComparisonUtils; +import com.siyeh.ig.psiutils.ImportUtils; +import com.siyeh.ig.psiutils.MethodCallUtils; +import com.siyeh.ig.psiutils.TypeUtils; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -97,7 +101,7 @@ public abstract class SimplifiableAssertionInspection extends BaseInspection { return false; } final PsiType type = lhs.getType(); - return type != null && ClassUtils.isPrimitive(type); + return type != null && TypeConversionUtil.isPrimitiveAndNotNullOrWrapper(type); } else if (expression instanceof PsiMethodCallExpression) { final PsiMethodCallExpression call = (PsiMethodCallExpression)expression; diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.after.java new file mode 100644 index 000000000000..f6cb92157b4e --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.after.java @@ -0,0 +1,10 @@ +import org.junit.*; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class BoxedComparisonToEquals { + void test(Integer a, int b) { + assertEquals((int) a, b); + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.java new file mode 100644 index 000000000000..720a614dfca4 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/BoxedComparisonToEquals.java @@ -0,0 +1,9 @@ +import org.junit.*; + +import static org.junit.Assert.assertTrue; + +public class BoxedComparisonToEquals { + void test(Integer a, int b) { + assertTrue(a == b); + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java index e5a0fe1c9685..834490f0c0c1 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java @@ -27,6 +27,7 @@ public class SimplifiableJUnitAssertionFixTest extends IGQuickFixesTestCase { public void testJUnit3TestCase() { doTest(); } public void testJUnit4TestCase() { doTest(); } public void testIntegerPrimitive() { doTest(); } + public void testBoxedComparisonToEquals() { doTest(); } public void testDoublePrimitive() { doTest(); } public void testEqualsToTrueJUnit5() { doTest(); } public void testTrueToEqualsJUnit5() { doTest(); }