ConstantDoublesSurface extends Surface<Double, Double, Double> { @Override public Double[] getXData() { throw new UnsupportedOperationException("Cannot get x data for constant surface"); } ConstantDoublesSurface(final double z);  ConstantDoublesSurface(final double z, final String name); static ConstantDoublesSurface from(final double z); static ConstantDoublesSurface from(final double z, final String name); @Override Double[] getXData(); @Override Double[] getYData(); @Override Double[] getZData(); @Override int size(); @Override Double getZValue(final Double x, final Double y); @Override Double getZValue(final Pair<Double, Double> xy); @Override int hashCode(); @Override boolean equals(final Object obj);  }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testGetXData() { SURFACE.getXData(); }