I'm working with JUnit 5 in Java SE 11 and discovered that assertEquals(-0.0,0.0) fails. Why is that? Java itself is perfectly happy with "-0. == 0.". Sample code follows.
double dVar1 = 0;
double dVar2 = -dVar1;
System.out.println( dVar1 == dVar2 ); // true
System.out.println( -0. == 0. ); // true
assertEquals( dVar1, dVar2, .00001 ); // passes
assertEquals( 0.0, -0.0, .0001 ); // passes
assertEquals( 0.0, -0.0 ); // fails
assertEquals( dVar1, dVar2 ); // fails