public void testWriteToStream_OneTiffShortValue() throws IOException { final TiffDirectoryEntry entry = new TiffDirectoryEntry(new TiffShort(232), new TiffShort(28)); final MemoryCacheImageOutputStream ios = new MemoryCacheImageOutputStream(new ByteArrayOutputStream()); entry.write(ios); assertEquals(12, ios.length()); ios.seek(0); assertEquals(232, ios.readShort()); assertEquals(TiffType.SHORT_TYPE, ios.readShort()); assertEquals(1, ios.readInt()); assertEquals(28, ios.readShort()); assertEquals(0, ios.readShort()); }
public void testWriteToStream() throws IOException { final TiffShort tiffShort = new TiffShort(_TIFFSHORT_MAX); final MemoryCacheImageOutputStream stream = new MemoryCacheImageOutputStream(new ByteArrayOutputStream()); tiffShort.write(stream); assertEquals(2, stream.length()); stream.seek(0); assertEquals((short) 0xffff, stream.readShort()); }
public void testWriteToStream_TwoTiffShortValue() throws IOException { final TiffShort[] values = new TiffShort[]{new TiffShort(28), new TiffShort(235)}; final TiffDirectoryEntry entry = new TiffDirectoryEntry(new TiffShort(232), values); final MemoryCacheImageOutputStream ios = new MemoryCacheImageOutputStream(new ByteArrayOutputStream()); entry.write(ios); assertEquals(12, ios.length()); ios.seek(0); assertEquals(232, ios.readShort()); assertEquals(TiffType.SHORT_TYPE, ios.readShort()); assertEquals(values.length, ios.readInt()); for (int i = 0; i < values.length; i++) { assertEquals("at index [" + i + "] ", values[i].getValue(), ios.readShort()); } }
assertEquals(tag.getValue(), stream.readShort()); assertEquals(type.getValue(), stream.readShort()); assertEquals(values.length, stream.readInt()); assertEquals(valuesOffset, stream.readInt()); for (int i = 0; i < values.length; i++) { final TiffShort value = (TiffShort) values[i]; assertEquals("failure at index " + i, value.getValue(), stream.readShort());
public void testWriteBandRasterData_WithINT16() throws IOException { _product.addBand("b1", ProductData.TYPE_INT16); final int startValue = 1; final ProductData data = createProductDataForBand(_product.getBand("b1"), startValue); final TiffHeader tiffHeader = new TiffHeader(new Product[]{_product}); final GeoTiffBandWriter bandWriter = new GeoTiffBandWriter(tiffHeader.getIfdAt(0), _ios, _product); tiffHeader.write(_ios); bandWriter.writeBandRasterData(_product.getBand("b1"), 0, 0, _WIDTH, _HEIGHT, data, ProgressMonitor.NULL); final TiffIFD ifd = tiffHeader.getIfdAt(0); final int firstIFDOffset = 10; final long expSize = ifd.getRequiredEntireSize() + firstIFDOffset; final TiffIFD tiffIFD = tiffHeader.getIfdAt(0); final TiffDirectoryEntry entry = tiffIFD.getEntry(TiffTag.STRIP_OFFSETS); final TiffLong[] offsets = (TiffLong[]) entry.getValues(); assertEquals(expSize, _ios.length()); _ios.seek(offsets[0].getValue()); for (int j = 0; j < _WIDTH * _HEIGHT; j++) { final short expValue = (short) (startValue + j); assertEquals("index at [" + j + "]", expValue, _ios.readShort()); } }