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 0000000..2cfbac6
--- /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());
+  }
+}