FunctionalDoublesCube extends Cube<Double, Double, Double, Double> { @Override public Double getValue(final Double x, final Double y, Double z) { Validate.notNull(x, "x"); Validate.notNull(y, "y"); Validate.notNull(z, "z"); return _function.evaluate(x, y, z); } FunctionalDoublesCube(final Function<Double, Double> function);  FunctionalDoublesCube(final Function<Double, Double> function, final String name); static FunctionalDoublesCube from(final Function<Double, Double> function); static FunctionalDoublesCube from(final Function<Double, Double> function, final String name); @Override Double[] getXData(); @Override Double[] getYData(); @Override Double[] getZData(); @Override Double[] getValues(); @Override int size(); @Override Double getValue(final Double x, final Double y, Double z); @Override Double getValue(final Triple<Double, Double, Double> xyz); Function<Double, Double> getFunction(); @Override int hashCode(); @Override boolean equals(final Object obj);  }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullX() { CUBE.getValue(null, 2., 3.); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullY() { CUBE.getValue(1., null, 4.); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullZ() { CUBE.getValue(1., 1., null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullTriple() { CUBE.getValue(null); }