@Test public void writeInt() throws Exception { OkBuffer data = new OkBuffer(); data.writeInt(0xabcdef01); data.writeInt(0x87654321); assertEquals("OkBuffer[size=8 data=abcdef0187654321]", data.toString()); }
@Test public void writeShort() throws Exception { OkBuffer data = new OkBuffer(); data.writeShort(0xabcd); data.writeShort(0x4321); assertEquals("OkBuffer[size=4 data=abcd4321]", data.toString()); }
@Test public void writeBytes() throws Exception { OkBuffer data = new OkBuffer(); data.writeByte(0xab); data.writeByte(0xcd); assertEquals("OkBuffer[size=2 data=abcd]", data.toString()); }
@Test public void writeIntegerDoesntQuiteFitInSegment() throws Exception { OkBuffer data = new OkBuffer(); data.writeUtf8(repeat('a', Segment.SIZE - 3)); data.writeInt(0xabcdef01); data.writeInt(0x87654321); assertEquals(asList(Segment.SIZE - 3, 8), data.segmentSizes()); assertEquals(repeat('a', Segment.SIZE - 3), data.readUtf8(Segment.SIZE - 3)); assertEquals("OkBuffer[size=8 data=abcdef0187654321]", data.toString()); }
@Test public void writeLastByteInSegment() throws Exception { OkBuffer data = new OkBuffer(); data.writeUtf8(repeat('a', Segment.SIZE - 1)); data.writeByte(0x20); data.writeByte(0x21); assertEquals(asList(Segment.SIZE, 1), data.segmentSizes()); assertEquals(repeat('a', Segment.SIZE - 1), data.readUtf8(Segment.SIZE - 1)); assertEquals("OkBuffer[size=2 data=2021]", data.toString()); }
@Test public void toStringOnLargeBufferIncludesMd5() throws Exception { OkBuffer buffer = new OkBuffer(); buffer.write(ByteString.encodeUtf8("12345678901234567")); assertEquals("OkBuffer[size=17 md5=2c9728a2138b2f25e9f89f99bdccf8db]", buffer.toString()); }
@Test public void toStringOnSmallBufferIncludesContents() throws Exception { OkBuffer buffer = new OkBuffer(); buffer.write(ByteString.decodeHex("a1b2c3d4e5f61a2b3c4d5e6f10203040")); assertEquals("OkBuffer[size=16 data=a1b2c3d4e5f61a2b3c4d5e6f10203040]", buffer.toString()); }
@Test public void toStringOnEmptyBuffer() throws Exception { OkBuffer buffer = new OkBuffer(); assertEquals("OkBuffer[size=0]", buffer.toString()); }
@Test public void toStringOnMultipleSegmentBuffer() throws Exception { OkBuffer buffer = new OkBuffer(); buffer.writeUtf8(repeat('a', 6144)); assertEquals("OkBuffer[size=6144 md5=d890021f28522533c1cc1b9b1f83ce73]", buffer.toString()); }