ExponentialInterpolator1D extends Interpolator1D { @Override public Interpolator1DDataBundle getDataBundleFromSortedArrays(final double[] x, final double[] y) { int nValues = y.length; for (int i = 1; i < nValues; ++i) { ArgumentChecker.isTrue(y[i - 1] * y[i] > 0, "All y values should have the same sign"); } return new ArrayInterpolator1DDataBundle(x, y, true); }  @Override Double interpolate(final Interpolator1DDataBundle data, final Double value); @Override double firstDerivative(final Interpolator1DDataBundle data, final Double value); @Override Interpolator1DDataBundle getDataBundle(final double[] x, final double[] y); @Override Interpolator1DDataBundle getDataBundleFromSortedArrays(final double[] x, final double[] y); @Override double[] getNodeSensitivitiesForValue(Interpolator1DDataBundle data, Double value);  }
@Test public void testDataBundleType2() { assertEquals(INTERPOLATOR.getDataBundleFromSortedArrays(new double[] {1, 2, 3}, new double[] {1, 2, 3}).getClass(), ArrayInterpolator1DDataBundle.class); }