From ea1f0bc5dd80037f21af3394fa0b13f2f53dbeeb Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 24 Jun 2019 16:10:44 +0200 Subject: [PATCH] simplify negated assertions: don't skip the message (IDEA-216849) GitOrigin-RevId: 6ed42ded956e238a5766d8f9931a31ba34bc5e21 --- .../SimplifiableAssertionInspection.java | 11 +++++++---- .../NegatedTrue.after.java | 2 +- .../simplifiable_junit_assertion/NegatedTrue.java | 2 +- .../junit/SimplifiableJUnitAssertionFixTest.java | 2 ++ 4 files changed, 11 insertions(+), 6 deletions(-) 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 17057fdc7d1d..de2c292ba1c8 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/testFrameworks/SimplifiableAssertionInspection.java @@ -177,7 +177,7 @@ public abstract class SimplifiableAssertionInspection extends BaseInspection { replaceAssertLiteralWithAssertEquals(callExpression, position, assertTrueFalseHint.getMessage(), assertTrueFalseHint.getArgIndex(), "assertArrayEquals"); } else if (BoolUtils.isNegation(position)) { - replaceWithNegatedBooleanAssertion(callExpression, (PsiPrefixExpression) position, assertTrue ? "assertFalse" : "assertTrue"); + replaceWithNegatedBooleanAssertion(callExpression, (PsiPrefixExpression) position, assertTrue ? "assertFalse" : "assertTrue", assertTrueFalseHint.getMessage(), assertTrueFalseHint.getArgIndex()); } } } @@ -318,14 +318,17 @@ public abstract class SimplifiableAssertionInspection extends BaseInspection { (PsiType.DOUBLE.equals(rhsType) && PsiType.FLOAT.equals(rhsType)); } - private void replaceWithNegatedBooleanAssertion(PsiMethodCallExpression callExpression, PsiPrefixExpression expression, String newMethodName) { + private void replaceWithNegatedBooleanAssertion(PsiMethodCallExpression callExpression, + PsiPrefixExpression expression, + String newMethodName, + PsiExpression message, + int positionIndex) { PsiExpression operand = PsiUtil.skipParenthesizedExprDown(expression.getOperand()); if (operand == null) { return; } StringBuilder builder = new StringBuilder(); - addStaticImportOrQualifier(newMethodName, callExpression, builder); - builder.append(newMethodName).append("(").append(operand.getText()).append(")"); + compoundMethodCall(callExpression, newMethodName, message, positionIndex, operand.getText(), builder); PsiReplacementUtil.replaceExpressionAndShorten(callExpression, builder.toString()); } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.after.java index cc91da520130..b4abdf2183da 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.after.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.after.java @@ -5,6 +5,6 @@ class MyTest { @Test public void testObjectsEquals() { - assertFalse(1 == 2); + assertFalse("message", 1 == 2); } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.java index 3297c6194b01..962f50c2108c 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/junit/simplifiable_junit_assertion/NegatedTrue.java @@ -4,6 +4,6 @@ class MyTest { @Test public void testObjectsEquals() { - assertTrue(!(1 == 2)); + assertTrue("message", !(1 == 2)); } } \ 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 97c0deacb426..8f18e3dd458e 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/junit/SimplifiableJUnitAssertionFixTest.java @@ -72,7 +72,9 @@ public class SimplifiableJUnitAssertionFixTest extends IGQuickFixesTestCase { myFixture.addClass("package org.junit;" + "public class Assert {" + " public static void assertTrue(boolean condition) {}" + + " public static void assertTrue(String message, boolean condition) {}" + " public static void assertFalse(boolean condition) {}" + + " public static void assertFalse(String message, boolean condition) {}" + " public static void assertEquals(boolean expected, boolean actual) {}" + " public static void assertNotEquals(long expected, long actual) {}" + " public static void assertArrayEquals(int[] expected, int[] actual) {}" +