diff options
author | Robert Greig <rgreig@apache.org> | 2006-12-08 23:36:40 +0000 |
---|---|---|
committer | Robert Greig <rgreig@apache.org> | 2006-12-08 23:36:40 +0000 |
commit | 367e5eca21beb941a283497ec1d0bd021a0d0d22 (patch) | |
tree | 12ebc5869dd6dc992093ba04a3b03b0b730ba520 | |
parent | 3b5c4f9f77b0b4ed27a4080657ede2532854c285 (diff) | |
download | qpid-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.java | 4 | ||||
-rw-r--r-- | java/client/src/test/java/org/apache/qpid/test/unit/client/message/StreamMessageTest.java | 78 |
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(); |