summaryrefslogtreecommitdiff
path: root/java/src/test
diff options
context:
space:
mode:
authorMuga Nishizawa <muga@f11vm.(none)>2010-10-20 21:04:37 +0900
committerMuga Nishizawa <muga@f11vm.(none)>2010-10-20 21:04:37 +0900
commit64711e615e78328cee3250e83db0527f1c33c0f7 (patch)
treec09ce6f11d52f165fcce0d1e612978092e1c3d60 /java/src/test
parent2065affd45fbf74bdbeccee4cbd86aad4b321c7e (diff)
downloadmsgpack-python-64711e615e78328cee3250e83db0527f1c33c0f7.tar.gz
java: write test programs for org.msgpack.util.codegen.*.java
Diffstat (limited to 'java/src/test')
-rw-r--r--java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java121
-rw-r--r--java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java104
2 files changed, 225 insertions, 0 deletions
diff --git a/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java b/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java
index 40fed22..2e6ea58 100644
--- a/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java
+++ b/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java
@@ -2,6 +2,7 @@ package org.msgpack.util.codegen;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
@@ -15,8 +16,11 @@ import org.junit.Test;
import org.msgpack.CustomConverter;
import org.msgpack.CustomPacker;
import org.msgpack.CustomUnpacker;
+import org.msgpack.MessageConvertable;
import org.msgpack.MessagePackObject;
+import org.msgpack.MessagePackable;
import org.msgpack.MessagePacker;
+import org.msgpack.MessageTypeException;
import org.msgpack.Packer;
import org.msgpack.Template;
import org.msgpack.Unpacker;
@@ -1007,4 +1011,121 @@ public class TestPackConvert extends TestCase {
public SampleSuperClass() {
}
}
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass00() throws Exception {
+ BaseMessagePackableConvertableClass src = new BaseMessagePackableConvertableClass();
+ MessagePackableConvertableClass src1 = new MessagePackableConvertableClass();
+ List<MessagePackableConvertableClass> src2 = new ArrayList<MessagePackableConvertableClass>();
+ src1.f0 = 0;
+ src1.f1 = 1;
+ src.f0 = src1;
+ src.f1 = 1;
+ src2.add(src1);
+ src.f2 = src2;
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableConvertableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableConvertableClass.class);
+ Unpacker pac = new Unpacker(in);
+ Iterator<MessagePackObject> it = pac.iterator();
+ assertTrue(it.hasNext());
+ MessagePackObject mpo = it.next();
+ BaseMessagePackableConvertableClass dst = (BaseMessagePackableConvertableClass) tmpl
+ .convert(mpo);
+ assertEquals(src.f0.f0, dst.f0.f0);
+ assertEquals(src.f0.f1, dst.f0.f1);
+ assertEquals(src.f1, dst.f1);
+ assertEquals(src.f2.size(), dst.f2.size());
+ assertEquals(src.f2.get(0).f0, dst.f2.get(0).f0);
+ assertEquals(src.f2.get(0).f1, dst.f2.get(0).f1);
+ assertFalse(it.hasNext());
+ }
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass01() throws Exception {
+ BaseMessagePackableConvertableClass src = new BaseMessagePackableConvertableClass();
+ src.f0 = null;
+ src.f1 = 1;
+ src.f2 = null;
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableConvertableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableConvertableClass.class);
+ Unpacker pac = new Unpacker(in);
+ Iterator<MessagePackObject> it = pac.iterator();
+ assertTrue(it.hasNext());
+ MessagePackObject mpo = it.next();
+ BaseMessagePackableConvertableClass dst = (BaseMessagePackableConvertableClass) tmpl
+ .convert(mpo);
+ assertEquals(src.f0, dst.f0);
+ assertEquals(src.f1, dst.f1);
+ assertEquals(src.f2, dst.f2);
+ assertFalse(it.hasNext());
+ }
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass02() throws Exception {
+ BaseMessagePackableConvertableClass src = null;
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableConvertableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableConvertableClass.class);
+ Unpacker pac = new Unpacker(in);
+ Iterator<MessagePackObject> it = pac.iterator();
+ assertTrue(it.hasNext());
+ MessagePackObject mpo = it.next();
+ BaseMessagePackableConvertableClass dst = (BaseMessagePackableConvertableClass) tmpl
+ .convert(mpo);
+ assertEquals(src, dst);
+ assertFalse(it.hasNext());
+ }
+
+ public static class BaseMessagePackableConvertableClass {
+ public MessagePackableConvertableClass f0;
+
+ public int f1;
+
+ public List<MessagePackableConvertableClass> f2;
+
+ public BaseMessagePackableConvertableClass() {
+ }
+ }
+
+ public static class MessagePackableConvertableClass implements
+ MessagePackable, MessageConvertable {
+
+ public int f0;
+
+ public int f1;
+
+ public MessagePackableConvertableClass() {
+ }
+
+ @Override
+ public void messagePack(Packer packer) throws IOException {
+ packer.pack(f0);
+ packer.pack(f1);
+ }
+
+ @Override
+ public void messageConvert(MessagePackObject obj)
+ throws MessageTypeException {
+ if (obj.isNil()) {
+ return;
+ }
+ MessagePackObject[] objs = obj.asArray();
+ f0 = objs[0].asInt();
+ f1 = objs[1].asInt();
+ }
+ }
}
diff --git a/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java b/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java
index 3222bec..dc56b6c 100644
--- a/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java
+++ b/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java
@@ -2,6 +2,7 @@ package org.msgpack.util.codegen;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
@@ -13,7 +14,10 @@ import org.junit.Test;
import org.msgpack.CustomConverter;
import org.msgpack.CustomPacker;
import org.msgpack.CustomUnpacker;
+import org.msgpack.MessagePackable;
import org.msgpack.MessagePacker;
+import org.msgpack.MessageTypeException;
+import org.msgpack.MessageUnpackable;
import org.msgpack.Packer;
import org.msgpack.Template;
import org.msgpack.Unpacker;
@@ -885,4 +889,104 @@ public class TestPackUnpack extends TestCase {
public SampleSuperClass() {
}
}
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass00() throws Exception {
+ BaseMessagePackableUnpackableClass src = new BaseMessagePackableUnpackableClass();
+ MessagePackableUnpackableClass src1 = new MessagePackableUnpackableClass();
+ List<MessagePackableUnpackableClass> src2 = new ArrayList<MessagePackableUnpackableClass>();
+ src1.f0 = 0;
+ src1.f1 = 1;
+ src.f0 = src1;
+ src.f1 = 1;
+ src2.add(src1);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableUnpackableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableUnpackableClass.class);
+ BaseMessagePackableUnpackableClass dst = (BaseMessagePackableUnpackableClass) tmpl
+ .unpack(new Unpacker(in));
+ assertEquals(src.f0.f0, dst.f0.f0);
+ assertEquals(src.f0.f1, dst.f0.f1);
+ assertEquals(src.f1, dst.f1);
+ assertEquals(src.f2.size(), dst.f2.size());
+ assertEquals(src.f2.get(0).f0, dst.f2.get(0).f0);
+ assertEquals(src.f2.get(0).f1, dst.f2.get(0).f1);
+ }
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass01() throws Exception {
+ BaseMessagePackableUnpackableClass src = new BaseMessagePackableUnpackableClass();
+ src.f0 = null;
+ src.f1 = 1;
+ src.f2 = null;
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableUnpackableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableUnpackableClass.class);
+ BaseMessagePackableUnpackableClass dst = (BaseMessagePackableUnpackableClass) tmpl
+ .unpack(new Unpacker(in));
+ assertEquals(src.f0, dst.f0);
+ assertEquals(src.f1, dst.f1);
+ assertEquals(src.f2, dst.f2);
+ }
+
+ //@Test
+ public void XtestMessagePackableUnpackableClass02() throws Exception {
+ BaseMessagePackableUnpackableClass src = null;
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MessagePacker packer = DynamicPacker
+ .create(BaseMessagePackableUnpackableClass.class);
+ packer.pack(new Packer(out), src);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Template tmpl = DynamicTemplate
+ .create(BaseMessagePackableUnpackableClass.class);
+ BaseMessagePackableUnpackableClass dst = (BaseMessagePackableUnpackableClass) tmpl
+ .unpack(new Unpacker(in));
+ assertEquals(src, dst);
+ }
+
+ public static class BaseMessagePackableUnpackableClass {
+ public MessagePackableUnpackableClass f0;
+
+ public int f1;
+
+ public List<MessagePackableUnpackableClass> f2;
+
+ public BaseMessagePackableUnpackableClass() {
+ }
+ }
+
+ public static class MessagePackableUnpackableClass implements
+ MessagePackable, MessageUnpackable {
+
+ public int f0;
+
+ public int f1;
+
+ public MessagePackableUnpackableClass() {
+ }
+
+ @Override
+ public void messagePack(Packer packer) throws IOException {
+ packer.pack(f0);
+ packer.pack(f1);
+ }
+
+ @Override
+ public void messageUnpack(Unpacker unpacker) throws IOException,
+ MessageTypeException {
+ if (unpacker.tryUnpackNull()) {
+ return;
+ }
+ f0 = unpacker.unpackInt();
+ f1 = unpacker.unpackInt();
+ }
+ }
}