FunctionalDoublesCube extends Cube<Double, Double, Double, Double> { @Override public Double[] getValues() { throw new UnsupportedOperationException("Cannot get data - this cube is defined by a function"); } 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 = UnsupportedOperationException.class) public void testGetData() { CUBE.getValues(); }