{
public void test(TestHarness harness)
{
byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB};
ByteLookupTable t = new ByteLookupTable(0, bytes);
LookupOp op = new LookupOp(t, null);
Raster raster = Raster.createWritableRaster(
new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8), null);
Raster dest = op.createCompatibleDestRaster(raster);
harness.check(dest.getWidth(), 10);
harness.check(dest.getHeight(), 20);
harness.check(dest.getNumBands(), 1);
harness.check(dest.getSampleModel() instanceof MultiPixelPackedSampleModel);
harness.check(dest.getTransferType(), raster.getTransferType());
harness.check(dest.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType());
harness.check(dest.getNumDataElements(), raster.getNumDataElements());
// try null argument
boolean pass = false;
try
{
op.createCompatibleDestRaster(null);
}
catch (NullPointerException e)
{
pass = true;
}
harness.check(pass);
// Try a different type
raster = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5));
Raster dst = op.createCompatibleDestRaster(raster);
harness.check(dst.getNumBands(), raster.getNumBands());
harness.check(dst.getTransferType(), raster.getTransferType());
harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType());
harness.check(dst.getNumDataElements(), raster.getNumDataElements());
// Try a different number of bands
raster = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5));
dst = op.createCompatibleDestRaster(raster);
harness.check(dst.getNumBands(), raster.getNumBands());
harness.check(dst.getTransferType(), raster.getTransferType());
harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType());
harness.check(dst.getNumDataElements(), raster.getNumDataElements());
}