### Question:
ComplexPolynomial { public Complex evaluate(Complex argument) { Complex value; value = coefficients[0]; for (int i = 1; i < coefficients.length; i++) value = value.multiply(argument).add(coefficients[i]); return value; } ComplexPolynomial(Complex[] coefficients);  ComplexPolynomial(double[] coefficients); int getDegree(); Complex[] getCoefficients(); Complex evaluate(Complex argument); ComplexPolynomial multiply(ComplexPolynomial other); static ComplexPolynomial rootsToPolynomial(Complex[] roots);  }### Answer:
@Test public void testEvaluate() { ComplexPolynomial polynomial = new ComplexPolynomial(new double[] {0.2, 0.11}); Complex exponent = (new Complex(0, -0.5)).exp(); assertEquals(new Complex(0.87758256189037276, -0.47942553860420301), exponent, new Complex(1e-6, 1e-6)); Complex value = polynomial.evaluate(exponent); Complex expected2 = new Complex(0.28551651237807457, -0.095885107720840607); assertEquals(expected2, value, new Complex(1e-6, 1e-6)); }