@Test public void testGetDegrees1() { System.out.println("getDegrees1"); RotateQuadrantOp op = new RotateQuadrantOp(0); AssertJUnit.assertEquals(0, op.getDegrees()); op = new RotateQuadrantOp(90); AssertJUnit.assertEquals(90, op.getDegrees()); op = new RotateQuadrantOp(180); AssertJUnit.assertEquals(180, op.getDegrees()); op = new RotateQuadrantOp(270); AssertJUnit.assertEquals(270, op.getDegrees()); }
@Test public void testToString() { System.out.println("toString"); RotateQuadrantOp op = new RotateQuadrantOp(90); op.toString(); } }
@Override protected PlanarImage execute (RotateQuadrantOp operation, final EditableImage image, PlanarImage planarImage) { int degrees = operation.getDegrees(); log.debug("rotateQuadrant({}) - {}", degrees, planarImage.getSampleModel()); if (degrees != 0) { TransposeType transposeType = null; if (degrees == 90) { transposeType = TransposeDescriptor.ROTATE_90; } else if (degrees == 180) { transposeType = TransposeDescriptor.ROTATE_180; } else if (degrees == 270) { transposeType = TransposeDescriptor.ROTATE_270; } else { throw new IllegalArgumentException("degrees: " + degrees); } planarImage = TransposeDescriptor.create(planarImage, transposeType, null); // FIXME: hints JAIUtils.logImage(log, ">>>> rotateQuadrant() returning", planarImage); } return planarImage; } }
@Test public void testGetDegreesBadValues() { System.out.println("getDegreesBadValues"); for (int degrees = 0; degrees < 360; degrees++) { if ((degrees % 90) != 0) { try { RotateQuadrantOp op = new RotateQuadrantOp(degrees); } catch (IllegalArgumentException e) { continue; } Assert.fail("IllegalArgumentException expected for degrees=" + degrees); } } }
@Test public void testRotate (final EditableImage image, final int angle, final String prefix, final String hash) { EditableImage result = image.execute2(new RotateQuadrantOp(angle)); File f = (File)result.execute(new WriteOp("TIFF", tmp + "/" + prefix + "-" + angle + ".tif")).getOutput(); assertChecksum(hash, f); if ((angle / 90) % 2 == 0) { AssertJUnit.assertEquals(image.getWidth(), result.getWidth()); AssertJUnit.assertEquals(image.getHeight(), result.getHeight()); } else { AssertJUnit.assertEquals(image.getWidth(), result.getHeight()); AssertJUnit.assertEquals(image.getHeight(), result.getWidth()); } } }