resources.report.rules.pmd.SimplifyBooleanAssertion.html Maven / Gradle / Ivy
SimplifyBooleanAssertion
SimplifyBooleanAssertion
Avoid negation in an assertTrue or assertFalse test.
For example, rephrase:
assertTrue(!expr);
as:
assertFalse(expr);
//StatementExpression
[
.//Name[@Image='assertTrue' or @Image='assertFalse']
and
PrimaryExpression/PrimarySuffix/Arguments/ArgumentList
/Expression/UnaryExpressionNotPlusMinus[@Image='!']
/PrimaryExpression/PrimaryPrefix
]
[ancestor::ClassOrInterfaceDeclaration[//ClassOrInterfaceType[pmd-java:typeof(@Image, 'junit.framework.TestCase','TestCase')] or //MarkerAnnotation/Name[pmd-java:typeof(@Image, 'org.junit.Test', 'Test')]]]
Example(s):
public class SimpleTest extends TestCase {
public void testX() {
assertTrue("not empty", !r.isEmpty()); // replace with assertFalse("not empty", r.isEmpty())
assertFalse(!r.isEmpty()); // replace with assertTrue(r.isEmpty())
}
}