Asserting two float numbers are the same is a very difficult problem
TL;DR: Don't compare floats
Problems
Wrong test results
Fragile tests
Fail fast principle violation
Solutions
Avoid floats unless you have REAL performance concerns
Use arbitrary precision numbers
If you need to compare floats compare with tolerance.
Context
Comparing float numbers is an old computer science problem.
The usual solution is to use threshold comparisons.
We recommend avoiding floats at all and trying to use infinite precision numbers.
Sample Code
Wrong
Assert.assertEquals(0.0012f, 0.0012f); // Deprecated
Assert.assertTrue(0.0012f == 0.0012f); // Not JUnit - Smell
Right
Assert.assertEquals(0.0012f, 0.0014f, 0.0002); // true
Assert.assertEquals(0.0012f, 0.0014f, 0.0001); // false
// last parameter is the delta threshold
Assert.assertEquals(12 / 10000, 12 / 10000); // true
Assert.assertEquals(12 / 10000, 14 / 10000); // false