public void testWriteBandRasterData_WithFLOAT64() throws IOException {
_product.addBand("b1", ProductData.TYPE_FLOAT64);
final double startValue = 1.5f;
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 float expValue = (float) (startValue + j);
assertEquals("index at [" + j + "]", expValue, _ios.readFloat(), 1.0e-6);
}
}