Author: bryanduxbury
Date: Sat Apr 3 19:45:20 2010
New Revision: 930568
URL: http://svn.apache.org/viewvc?rev=930568&view=rev
Log:
java: add a basic test for TMemoryInputTransport
Added:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java
Added:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java?rev=930568&view=auto
==============================================================================
---
incubator/thrift/trunk/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java
(added)
+++
incubator/thrift/trunk/lib/java/test/org/apache/thrift/transport/TestTMemoryInputTransport.java
Sat Apr 3 19:45:20 2010
@@ -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());
+ }
+}