buf.clear();
buf.order(ByteOrder.BIG_ENDIAN);
}
public void testAsLongBuffer() {
LongBuffer longBuffer;
byte bytes[] = new byte[8];
long value;
// test BIG_ENDIAN long buffer, read
buf.clear();
buf.order(ByteOrder.BIG_ENDIAN);
longBuffer = buf.asLongBuffer();
assertSame(ByteOrder.BIG_ENDIAN, longBuffer.order());
while (longBuffer.remaining() > 0) {
buf.get(bytes);
value = longBuffer.get();
assertEquals(bytes2long(bytes, buf.order()), value);
}
// test LITTLE_ENDIAN long buffer, read
buf.clear();
buf.order(ByteOrder.LITTLE_ENDIAN);
longBuffer = buf.asLongBuffer();
assertSame(ByteOrder.LITTLE_ENDIAN, longBuffer.order());
while (longBuffer.remaining() > 0) {
buf.get(bytes);
value = longBuffer.get();
assertEquals(bytes2long(bytes, buf.order()), value);
}
if (!buf.isReadOnly()) {
// test BIG_ENDIAN long buffer, write
buf.clear();
buf.order(ByteOrder.BIG_ENDIAN);
longBuffer = buf.asLongBuffer();
assertSame(ByteOrder.BIG_ENDIAN, longBuffer.order());
while (longBuffer.remaining() > 0) {
value = (long) longBuffer.remaining();
longBuffer.put(value);
buf.get(bytes);
assertTrue(Arrays.equals(bytes, long2bytes(value, buf.order())));
}
// test LITTLE_ENDIAN long buffer, write
buf.clear();
buf.order(ByteOrder.LITTLE_ENDIAN);
longBuffer = buf.asLongBuffer();
assertSame(ByteOrder.LITTLE_ENDIAN, longBuffer.order());
while (longBuffer.remaining() > 0) {
value = (long) longBuffer.remaining();
longBuffer.put(value);
buf.get(bytes);
assertTrue(Arrays.equals(bytes, long2bytes(value, buf.order())));
}
}