The standard assertions library methods such as ``org.junit.Assert.assertEquals``, and ``org.junit.Assert.assertSame`` expect the first argument to be the expected value and the second argument to be the actual value. For AssertJ, it's the other way around, the argument of ``org.assertj.core.api.Assertions.assertThat`` is the actual value, and the subsequent calls contain the expected values. Swap them, and your test will still have the same outcome (succeed/fail when it should) but the error messages will be confusing.