InterpolatedDoublesCube extends DoublesCube { @Override public Double getValue(Double x, Double y, Double z) { Validate.notNull(x, "x"); Validate.notNull(y, "y"); Validate.notNull(z, "z"); return _interpolator.interpolate(_dataBundle, new double[] {x, y, z}); } InterpolatedDoublesCube(double[] xData, double[] yData, double[] zData, double[] values, InterpolatorND interpolator);  InterpolatedDoublesCube(Double[] xData, Double[] yData, Double[] zData, Double[] values, InterpolatorND interpolator);  InterpolatedDoublesCube(List<Double> xData, List<Double> yData, List<Double> zData, List<Double> values, InterpolatorND interpolator);  InterpolatedDoublesCube(double[] xData, double[] yData, double[] zData, double[] values, InterpolatorND interpolator, String name);  InterpolatedDoublesCube(Double[] xData, Double[] yData, Double[] zData, Double[] values, InterpolatorND interpolator, String name);  InterpolatedDoublesCube(List<Double> xData, List<Double> yData, List<Double> zData, List<Double> values, InterpolatorND interpolator, String name); static InterpolatedDoublesCube from(double[] xData, double[] yData, double[] zData, double[] values, InterpolatorND interpolator); static InterpolatedDoublesCube from(Double[] xData, Double[] yData, Double[] zData, Double[] values, InterpolatorND interpolator); static InterpolatedDoublesCube from(List<Double> xData, List<Double> yData, List<Double> zData, List<Double> values, InterpolatorND interpolator); static InterpolatedDoublesCube from(double[] xData, double[] yData, double[] zData, double[] values, InterpolatorND interpolator, String name); static InterpolatedDoublesCube from(Double[] xData, Double[] yData, Double[] zData, Double[] values, InterpolatorND interpolator, String name); static InterpolatedDoublesCube from(List<Double> xData, List<Double> yData, List<Double> zData, List<Double> values, InterpolatorND interpolator,
      String name); @Override Double getValue(Double x, Double y, Double z); @Override Double getValue(Triple<Double, Double, Double> xyz); InterpolatorND getInterpolator(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void testGetZValue() { final double eps = 1e-15; assertEquals(CUBE.getValue(0., 1., 2.6), 2.6, eps); assertEquals(CUBE.getValue(3., 0., 0.01), 0.01, eps); assertEquals(CUBE.getValue(new Triple<>(0., 1., 2.6)), 2.6, eps); assertEquals(CUBE.getValue(new Triple<>(3., 0., 0.01)), 0.01, eps); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullX1() { CUBE.getValue(null, 2., 5.); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullY1() { CUBE.getValue(1., null, 1.); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullZ1() { CUBE.getValue(1., 1., null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullXYZ() { CUBE.getValue(null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullX2() { CUBE.getValue(new Triple<Double, Double, Double>(null, 2., 5.)); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullY2() { CUBE.getValue(new Triple<Double, Double, Double>(1., null, 1.)); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullZ2() { CUBE.getValue(new Triple<Double, Double, Double>(1., 1., null)); }