@Test
public void writeInt64() throws IOException {

    long l = Long.MAX_VALUE;
    writer.writeInt64(l);
    assertAndResetStreamContents(new byte[]{(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
        (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0x7f});
    l = Long.MIN_VALUE;
    writer.writeInt64(l);
    assertAndResetStreamContents(new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x80});
    l = 0L;
    writer.writeInt64(l);
    assertAndResetStreamContents(new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00});
    l = 1234567890L;
    writer.writeInt64(l);
    assertAndResetStreamContents(new byte[]{(byte) 0xd2, (byte) 0x02, (byte) 0x96, (byte) 0x49,
        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00});
}