JUnit assertions should not be made from the run method of a Runnable, because failed assertions result in
AssertionErrors being thrown. If the error is thrown from a thread other than the one that ran the test, the thread will exit but the
test won't fail.
public void run() {
// ...
Assert.assertEquals(expected, actual); // Noncompliant
}