This rule is defined by the following XPath expression:
//PrimaryExpression[ PrimaryPrefix/Name [@Image = 'assertTrue' or @Image = 'assertFalse'] ] [PrimarySuffix/Arguments /ArgumentList/Expression /EqualityExpression[count(.//NullLiteral) = 0]] [ancestor::ClassOrInterfaceDeclaration[//ClassOrInterfaceType[typeof(@Image, 'junit.framework.TestCase','TestCase')] or //MarkerAnnotation/Name[typeof(@Image, 'org.junit.Test', 'Test')]]]
Example:
public class FooTest extends TestCase { void testCode() { Object a, b; assertTrue(a==b); // bad usage assertSame(a, b); // good usage } }