@Test
public void testSum() {
RenderedImage src1 = buildTestImage(10, 10);
RenderedImage src2 = buildTestImage(10, 10);
RenderedOp op = JiffleDescriptor.create(new RenderedImage[] {src1, src2}, new String[] {"a", "b"}, "res",
"res = a + b;", null, DataBuffer.TYPE_INT, null, null, null);
assertEquals(src1.getMinX(), op.getMinX());
assertEquals(src1.getWidth(), op.getWidth());
assertEquals(src1.getMinY(), op.getMinY());
assertEquals(src1.getHeight(), op.getHeight());
assertEquals(DataBuffer.TYPE_INT, op.getSampleModel().getDataType());
RandomIter srcIter = RandomIterFactory.create(src1, null);
RandomIter opIter = RandomIterFactory.create(op, null);
for(int y = src1.getMinY(); y < src1.getMinY() + src1.getHeight(); y++) {
for(int x = src1.getMinX(); x < src1.getMinX() + src1.getWidth(); x++) {
double expected = srcIter.getSampleDouble(x, y, 0) * 2;
double actual = opIter.getSampleDouble(x, y, 0);
assertEquals(expected, actual, 0d);
}
}
}