summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2006-12-08 23:36:40 +0000
committerRobert Greig <rgreig@apache.org>2006-12-08 23:36:40 +0000
commit367e5eca21beb941a283497ec1d0bd021a0d0d22 (patch)
tree12ebc5869dd6dc992093ba04a3b03b0b730ba520
parent3b5c4f9f77b0b4ed27a4080657ede2532854c285 (diff)
downloadqpid-python-367e5eca21beb941a283497ec1d0bd021a0d0d22.tar.gz
Better StreamMessage unit test.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/new_persistence@484847 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java4
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java78
2 files changed, 26 insertions, 56 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java
index 882d54fd03..8efe1e17f4 100644
--- a/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java
+++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java
@@ -263,6 +263,10 @@ public class JMSStreamMessage extends AbstractBytesMessage implements StreamMess
{
int count = (_byteArrayRemaining >= bytes.length ? bytes.length : _byteArrayRemaining);
_byteArrayRemaining -= count;
+ if (_byteArrayRemaining == 0)
+ {
+ _byteArrayRemaining = -1;
+ }
if (count == 0)
{
return 0;
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java
index 83e555192c..af7856a78a 100644
--- a/java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java
@@ -215,12 +215,32 @@ public class StreamMessageTest extends TestCase
{
JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
byte[] bytes = {2, 3};
- bm.writeBytes(bytes);
+ bm.writeBytes(bytes);
+ bm.writeBytes(null);
+ bm.writeBytes(new byte[]{});
bm.reset();
int len = bm.readBytes(bytes);
assertEquals(2, len);
len = bm.readBytes(bytes);
assertEquals(-1, len);
+ len = bm.readBytes(bytes);
+ assertEquals(0, len);
+ }
+
+ public void testReadMultipleByteArrays() throws Exception
+ {
+ JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
+ byte[] bytes = {2, 3, 4};
+ bm.writeBytes(bytes);
+ bm.writeBytes(bytes);
+ bm.reset();
+ byte[] result = new byte[2];
+ int len = bm.readBytes(result);
+ assertEquals(2, len);
+ len = bm.readBytes(result);
+ assertEquals(1, len);
+ len = bm.readBytes(result);
+ assertEquals(2, len);
}
public void testEOFByte() throws Exception
@@ -398,61 +418,7 @@ public class StreamMessageTest extends TestCase
fail("expected MessageEOFException, got " + e);
}
}
-
- /**
- * Tests that the readBytes() method populates the passed in array
- * correctly
- * @throws Exception
- */
- public void testReadBytes() throws Exception
- {
- JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
- bm.writeByte((byte)3);
- bm.writeByte((byte)4);
- bm.reset();
- byte[] result = new byte[2];
- int count = bm.readBytes(result);
- assertEquals((byte)3, result[0]);
- assertEquals((byte)4, result[1]);
- assertEquals(2, count);
- }
-
- public void testReadBytesEOF() throws Exception
- {
- JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
- bm.writeByte((byte)3);
- bm.writeByte((byte)4);
- bm.reset();
- byte[] result = new byte[2];
- bm.readBytes(result);
- int count = bm.readBytes(result);
- assertEquals(-1, count);
- }
-
- public void testReadBytesWithLargerArray() throws Exception
- {
- JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
- bm.writeByte((byte)3);
- bm.writeByte((byte)4);
- bm.reset();
- byte[] result = new byte[3];
- int count = bm.readBytes(result);
- assertEquals(2, count);
- assertEquals((byte)3, result[0]);
- assertEquals((byte)4, result[1]);
- assertEquals((byte)0, result[2]);
- }
-
- public void testToBodyString() throws Exception
- {
- JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();
- final String testText = "This is a test";
- bm.writeString(testText);
- bm.reset();
- String result = bm.toBodyString();
- assertEquals(testText, result);
- }
-
+
public void testToBodyStringWithNull() throws Exception
{
JMSStreamMessage bm = TestMessageHelper.newJMSStreamMessage();