From: Bryan Duxbury Date: Sat, 3 Apr 2010 19:45:20 +0000 (+0000) Subject: java: add a basic test for TMemoryInputTransport X-Git-Tag: 0.3.0~45 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=c81a10a432c9d272c3d4bc461d5070b9c4062084;p=common%2Fthrift.git java: add a basic test for TMemoryInputTransport git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930568 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java b/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java new file mode 100644 index 00000000..2cfbac60 --- /dev/null +++ b/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java @@ -0,0 +1,45 @@ +package org.apache.thrift.transport; + +import java.util.Arrays; + +import junit.framework.TestCase; + +public class TestTMemoryInputTransport extends TestCase { + public void testFresh() throws Exception { + byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + TMemoryInputTransport trans = new TMemoryInputTransport(input_buf); + assertEquals(0, trans.getBufferPosition()); + assertEquals(input_buf, trans.getBuffer()); + assertEquals(10, trans.getBytesRemainingInBuffer()); + + byte[] buf1 = new byte[4]; + trans.readAll(buf1, 0, 4); + assertTrue(Arrays.equals(new byte[]{1, 2, 3, 4}, buf1)); + assertEquals(4, trans.getBufferPosition()); + assertEquals(6, trans.getBytesRemainingInBuffer()); + + trans.consumeBuffer(2); + + assertEquals(6, trans.getBufferPosition()); + assertEquals(4, trans.getBytesRemainingInBuffer()); + + trans.readAll(buf1, 0, 4); + assertTrue(Arrays.equals(new byte[]{7, 8, 9, 10}, buf1)); + assertEquals(10, trans.getBufferPosition()); + assertEquals(0, trans.getBytesRemainingInBuffer()); + } + + public void testReused() throws Exception { + byte[] input_buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + TMemoryInputTransport trans = new TMemoryInputTransport(input_buf); + assertEquals(0, trans.getBufferPosition()); + assertEquals(input_buf, trans.getBuffer()); + assertEquals(10, trans.getBytesRemainingInBuffer()); + + byte[] new_buf = new byte[]{10, 9, 8}; + trans.reset(new_buf); + assertEquals(0, trans.getBufferPosition()); + assertEquals(new_buf, trans.getBuffer()); + assertEquals(3, trans.getBytesRemainingInBuffer()); + } +}