The most specific assertion methods possible should always be prefered to the use of ``++assertTrue++``, when the argument requires further processing. Doing so yields cleaner, clearer code, and therefore easier maintenance. == Noncompliant Code Example [source,text] ---- assertTrue(a == null); // Noncompliant assertFalse(a != null); // Noncompliant assertTrue(b != null); // Noncompliant assertFalse(b == null); // Noncompliant assertTrue(a == b); // Noncompliant assertFalse(a != b); // Noncompliant assertTrue(a.equals(b)); // Noncompliant assertFalse( !a.equals(b)); // Noncompliant assertTrue(!a); // Noncompliant assertFalse(!b); // Noncompliant ---- == Compliant Solution [source,text] ---- assertNull(a); assertNotNull(b); assertSame(a, b); assertEqual(a, b); assertFalse(a); assertTrue(b); ----