public void testMethod1(TestHarness harness)
{
harness.checkPoint("(int, int, int[], DataBuffer)");
SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10,
20, new int[] { 224, 28, 3 });
DataBuffer db = m.createDataBuffer();
int[] pixel = new int[3];
m.getPixel(1, 2, pixel, db);
harness.check(Arrays.equals(pixel, new int[] {0, 0, 0}));
m.setPixel(1, 2, new int[] {1, 2, 3}, db);
m.getPixel(1, 2, pixel, db);
harness.check(Arrays.equals(pixel, new int[] {1, 2, 3}));
// if the incoming array is null, a new one is created
pixel = m.getPixel(1, 2, (int[]) null, db);
harness.check(Arrays.equals(pixel, new int[] {1, 2, 3}));
// try null data buffer
boolean pass = false;
try
{
m.getPixel(1, 2, pixel, null);
}
catch (NullPointerException e)
{
pass = true;
}
harness.check(pass);
// try with a MultiPixelPackedSampleModel
m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 2);
db = m.createDataBuffer();
db.setElem(0, 27);
harness.check(m.getPixel(0, 0, (int[]) null, db)[0], 0);
harness.check(m.getPixel(1, 0, (int[]) null, db)[0], 1);
harness.check(m.getPixel(2, 0, (int[]) null, db)[0], 2);
harness.check(m.getPixel(3, 0, (int[]) null, db)[0], 3);
db.setElem(3, 27);
harness.check(m.getPixel(0, 1, (int[]) null, db)[0], 0);
harness.check(m.getPixel(1, 1, (int[]) null, db)[0], 1);
harness.check(m.getPixel(2, 1, (int[]) null, db)[0], 2);
harness.check(m.getPixel(3, 1, (int[]) null, db)[0], 3);
db.setElem(6, 0x18);
db.setElem(9, 0x30);
db.setElem(12, 0x1C);
harness.check(m.getPixel(1, 2, (int[]) null, db)[0], 1);
harness.check(m.getPixel(2, 2, (int[]) null, db)[0], 2);
harness.check(m.getPixel(1, 3, (int[]) null, db)[0], 3);
harness.check(m.getPixel(2, 3, (int[]) null, db)[0], 0);
harness.check(m.getPixel(1, 4, (int[]) null, db)[0], 1);