From 5ba7366f1ef6f7d1733a546c2f9f1e837dd69ac6 Mon Sep 17 00:00:00 2001 From: Mitsunori Komatsu Date: Thu, 18 Jun 2015 23:13:11 +0900 Subject: [PATCH] Fix unit test errors --- .../main/java/org/msgpack/value/Variable.java | 2 + .../dataformat/MessagePackExtensionType.java | 25 -------- .../jackson/dataformat/MessagePackParser.java | 7 ++- .../MessagePackExtensionTypeTest.java | 60 ------------------- .../dataformat/MessagePackParserTest.java | 14 +++-- 5 files changed, 16 insertions(+), 92 deletions(-) delete mode 100644 msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackExtensionType.java delete mode 100644 msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackExtensionTypeTest.java diff --git a/msgpack-core/src/main/java/org/msgpack/value/Variable.java b/msgpack-core/src/main/java/org/msgpack/value/Variable.java index 701ca51eb..b30a0383d 100644 --- a/msgpack-core/src/main/java/org/msgpack/value/Variable.java +++ b/msgpack-core/src/main/java/org/msgpack/value/Variable.java @@ -383,9 +383,11 @@ public Variable setIntegerValue(long v) { public Variable setIntegerValue(BigInteger v) { if (0 <= v.compareTo(LONG_MIN) && v.compareTo(LONG_MAX) <= 0) { this.type = Type.LONG; + this.accessor = integerAccessor; this.longValue = v.longValue(); } else { this.type = Type.BIG_INTEGER; + this.accessor = integerAccessor; this.objectValue = v; } return this; diff --git a/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackExtensionType.java b/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackExtensionType.java deleted file mode 100644 index 1218808e7..000000000 --- a/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackExtensionType.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.msgpack.jackson.dataformat; - - import java.nio.ByteBuffer; - -/** - * Created by komamitsu on 3/7/15. - */ -public class MessagePackExtensionType { - private final int extType; - private final ByteBuffer byteBuffer; - - public MessagePackExtensionType(int extType, ByteBuffer byteBuffer) { - this.extType = extType; - this.byteBuffer = byteBuffer.isReadOnly() ? - byteBuffer : byteBuffer.asReadOnlyBuffer(); - } - - public int extType() { - return extType; - } - - public ByteBuffer byteBuffer() { - return byteBuffer; - } -} diff --git a/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackParser.java b/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackParser.java index 4605eb69c..4c7184eb8 100644 --- a/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackParser.java +++ b/msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackParser.java @@ -220,7 +220,12 @@ protected void _handleEOF() throws JsonParseException {} @Override public String getText() throws IOException, JsonParseException { // This method can be called for new BigInteger(text) - return value.asRawValue().stringValue(); + if (value.isRawValue()) { + return value.asRawValue().stringValue(); + } + else { + return value.toString(); + } } @Override diff --git a/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackExtensionTypeTest.java b/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackExtensionTypeTest.java deleted file mode 100644 index 1356638f1..000000000 --- a/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackExtensionTypeTest.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.msgpack.jackson.dataformat; - -import org.junit.Test; - -import java.nio.ByteBuffer; - -import static org.junit.Assert.*; - -public class MessagePackExtensionTypeTest { - private void assertExtensionType(MessagePackExtensionType x, - int expectedExtType, ByteBuffer expectedByteBuffer) { - assertEquals(expectedExtType, x.extType()); - assertEquals(expectedByteBuffer, x.byteBuffer()); - assertTrue(x.byteBuffer().isReadOnly()); - } - - @Test - public void testMessagePackextensionType() { - byte[] bs = new byte[] {0x00, (byte) 0xCC, (byte) 0xFF}; - ByteBuffer expectedByteBuffer = ByteBuffer.wrap(bs); - - int extType = 1; - MessagePackExtensionType extensionType = - new MessagePackExtensionType(extType, ByteBuffer.wrap(bs)); - assertExtensionType(extensionType, extType, expectedByteBuffer); - - extType = 2; - ByteBuffer bb = ByteBuffer.allocate(3); - bb.put(bs); - bb.position(0); - extensionType = new MessagePackExtensionType(extType, bb); - assertExtensionType(extensionType, extType, expectedByteBuffer); - - extType = 3; - bb = ByteBuffer.allocateDirect(3); - bb.put(bs); - bb.position(0); - extensionType = new MessagePackExtensionType(extType, bb); - assertExtensionType(extensionType, extType, expectedByteBuffer); - - extType = -1; - extensionType = - new MessagePackExtensionType(extType, ByteBuffer.wrap(bs).asReadOnlyBuffer()); - assertExtensionType(extensionType, extType, expectedByteBuffer); - - extType = -2; - bb = ByteBuffer.allocate(3); - bb.put(bs); - bb.position(0); - extensionType = new MessagePackExtensionType(extType, bb.asReadOnlyBuffer()); - assertExtensionType(extensionType, extType, expectedByteBuffer); - - extType = -3; - bb = ByteBuffer.allocateDirect(3); - bb.put(bs); - bb.position(0); - extensionType = new MessagePackExtensionType(extType, bb.asReadOnlyBuffer()); - assertExtensionType(extensionType, extType, expectedByteBuffer); - } -} \ No newline at end of file diff --git a/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackParserTest.java b/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackParserTest.java index e223c71de..74de2ba7b 100644 --- a/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackParserTest.java +++ b/msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackParserTest.java @@ -9,6 +9,7 @@ import org.msgpack.core.MessagePack; import org.msgpack.core.MessagePacker; import org.msgpack.core.buffer.OutputStreamBufferOutput; +import org.msgpack.value.ExtensionValue; import java.io.*; import java.math.BigDecimal; @@ -19,6 +20,7 @@ import java.util.List; import java.util.Map; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertNull; @@ -142,9 +144,9 @@ else if (k.equals("bool")) { else if (k.equals("ext")) { // #9 bitmap |= 1 << 10; - MessagePackExtensionType extensionType = (MessagePackExtensionType) v; - assertEquals(0, extensionType.extType()); - assertEquals(ByteBuffer.wrap(extPayload), extensionType.byteBuffer()); + ExtensionValue extensionValue = (ExtensionValue) v; + assertEquals(0, extensionValue.getType()); + assertArrayEquals(extPayload, extensionValue.getData()); } } assertEquals(0x7FF, bitmap); @@ -249,9 +251,9 @@ else if (k.equals("child_map_age")) { // #10 assertEquals(true, array.get(i++)); // #11 - MessagePackExtensionType extensionType = (MessagePackExtensionType) array.get(i++); - assertEquals(-1, extensionType.extType()); - assertEquals(ByteBuffer.wrap(extPayload), extensionType.byteBuffer()); + ExtensionValue extensionValue = (ExtensionValue) array.get(i++); + assertEquals(-1, extensionValue.getType()); + assertArrayEquals(extPayload, extensionValue.getData()); } @Test