@Test
  public void testRead1SPP32BPS() throws IOException {
    // 1 sample per pixel, 32 bits per sample (gray)
    FastByteArrayOutputStream out = new FastByteArrayOutputStream(16);
    DataOutput dataOut = new DataOutputStream(out);
    dataOut.writeInt(0x00000000);
    dataOut.writeInt(305419896);
    dataOut.writeInt(305419896);
    dataOut.writeInt(-610839792);

    InputStream in =
        new HorizontalDeDifferencingStream(out.createInputStream(), 4, 1, 32, ByteOrder.BIG_ENDIAN);
    DataInput dataIn = new DataInputStream(in);

    // Row 1
    assertEquals(0, dataIn.readInt());
    assertEquals(305419896, dataIn.readInt());
    assertEquals(610839792, dataIn.readInt());
    assertEquals(0, dataIn.readInt());

    // EOF
    assertEquals(-1, in.read());
  }