@Test public void testCubic() { ComplexNumber[] result = CUBIC.getRoots(ONE_REAL_ROOT); assertEquals(result.length, 3); assertComplexEquals(result[0], new ComplexNumber(1, 0)); assertComplexEquals(result[1], new ComplexNumber(0, Math.sqrt(10 / 3.))); assertComplexEquals(result[2], new ComplexNumber(0, -Math.sqrt(10 / 3.))); result = CUBIC.getRoots(ONE_DISTINCT_ROOT); assertEquals(result.length, 3); for (final ComplexNumber c : result) { assertComplexEquals(c, new ComplexNumber(1, 0)); } result = CUBIC.getRoots(THREE_ROOTS); assertEquals(result.length, 3); assertComplexEquals(result[0], new ComplexNumber(1, 0)); assertComplexEquals(result[1], new ComplexNumber(3, 0)); assertComplexEquals(result[2], new ComplexNumber(2, 0)); }