@Test(dataProvider = "tiling")
public void testSaveBytesTiling(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels,
int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception {
if (percentageOfTilingTests == 0) return;
File tmp = File.createTempFile("OMETiffWriterTest_Tiling", ".ome.tiff");
tmp.deleteOnExit();
Plane originalPlane = WriterUtilities.writeImage(tmp, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff);
TiffReader reader = new TiffReader();
reader.setId(tmp.getAbsolutePath());
int expectedTileSize = tileSize;
if (tileSize < TILE_GRANULARITY) {
expectedTileSize = TILE_GRANULARITY;
}
else {
expectedTileSize = Math.round((float)tileSize/TILE_GRANULARITY) * TILE_GRANULARITY;
}
IFD tileIFd = reader.getIFDs().get(0);
assertEquals(tileIFd.getIFDIntValue(IFD.TILE_LENGTH), expectedTileSize);
assertEquals(tileIFd.getIFDIntValue(IFD.TILE_WIDTH), expectedTileSize);
WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression);
tmp.delete();
reader.close();
}