From e3bf8a404b993da62676d1d435e49a37c404fe3b Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 19:32:45 +0900 Subject: java: adds MessagePack class --- .../org/msgpack/TestMessagePackStaticMethods.java | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java new file mode 100644 index 0000000..dea2a37 --- /dev/null +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -0,0 +1,121 @@ +package org.msgpack; + +import org.msgpack.*; +import org.msgpack.object.*; +import static org.msgpack.Templates.*; + +import java.io.*; +import java.util.*; +import java.math.BigInteger; + +import org.junit.Test; +import junit.framework.TestCase; + +public class TestMessagePackStaticMethods extends TestCase { + @Test + public void testPackToByteArray() throws Exception { + byte[] a = MessagePack.pack("msgpack"); + byte[] b = MessagePack.pack((Object)1); + byte[] c = MessagePack.pack((Object)null); + + { + MessagePackObject aobj = MessagePack.unpack(a); + MessagePackObject bobj = MessagePack.unpack(b); + MessagePackObject cobj = MessagePack.unpack(c); + + assertEquals(aobj, RawType.create("msgpack")); + assertEquals(bobj, IntegerType.create(1)); + assertEquals(cobj, NilType.create()); + } + } + + @Test + public void testPackToStream() throws Exception { + ByteArrayOutputStream aout = new ByteArrayOutputStream(); + MessagePack.pack(aout, "msgpack"); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + MessagePack.pack(bout, (Object)1); + ByteArrayOutputStream cout = new ByteArrayOutputStream(); + MessagePack.pack(cout, (Object)null); + + { + InputStream ain = new ByteArrayInputStream(aout.toByteArray()); + MessagePackObject aobj = MessagePack.unpack(ain); + InputStream bin = new ByteArrayInputStream(bout.toByteArray()); + MessagePackObject bobj = MessagePack.unpack(bin); + InputStream cin = new ByteArrayInputStream(cout.toByteArray()); + MessagePackObject cobj = MessagePack.unpack(cin); + + assertEquals(aobj, RawType.create("msgpack")); + assertEquals(bobj, IntegerType.create(1)); + assertEquals(cobj, NilType.create()); + } + } + + @Test + public void testCheckedPackToByteArray() throws Exception { + byte[] a = MessagePack.pack("msgpack", TString); + byte[] b = MessagePack.pack((Object)1, TInteger); + byte[] c = MessagePack.pack((Object)null, TAny); + + { + Object aobj = MessagePack.unpack(a, TString); + Object bobj = MessagePack.unpack(b, TInteger); + Object cobj_any = MessagePack.unpack(c, TAny); + Object cobj_obj = MessagePack.unpack(c, tOptional(TAny)); + assertEquals(aobj, "msgpack"); + assertEquals(bobj, 1); + assertEquals(cobj_any, NilType.create()); + assertEquals(cobj_obj, null); + } + + { + String aobj = MessagePack.unpack(a, String.class); + Integer bobj = MessagePack.unpack(b, Integer.class); + Object cobj = MessagePack.unpack(c, Object.class); + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + } + } + + @Test + public void testCheckedPackToStream() throws Exception { + ByteArrayOutputStream aout = new ByteArrayOutputStream(); + MessagePack.pack(aout, "msgpack"); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + MessagePack.pack(bout, (Object)1); + ByteArrayOutputStream cout = new ByteArrayOutputStream(); + MessagePack.pack(cout, (Object)null); + + { + InputStream ain = new ByteArrayInputStream(aout.toByteArray()); + Object aobj = MessagePack.unpack(ain, TString); + InputStream bin = new ByteArrayInputStream(bout.toByteArray()); + Object bobj = MessagePack.unpack(bin, TInteger); + InputStream cin_any = new ByteArrayInputStream(cout.toByteArray()); + Object cobj_any = MessagePack.unpack(cin_any, TAny); + InputStream cin_obj = new ByteArrayInputStream(cout.toByteArray()); + Object cobj_obj = MessagePack.unpack(cin_obj, tOptional(TAny)); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, 1); + assertEquals(cobj_any, NilType.create()); + assertEquals(cobj_obj, null); + } + + { + InputStream ain = new ByteArrayInputStream(aout.toByteArray()); + String aobj = MessagePack.unpack(ain, String.class); + InputStream bin = new ByteArrayInputStream(bout.toByteArray()); + Integer bobj = MessagePack.unpack(bin, Integer.class); + InputStream cin = new ByteArrayInputStream(cout.toByteArray()); + Object cobj = MessagePack.unpack(cin, Object.class); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + } + } +} + -- cgit v1.2.1 From 19ff0dd17fee50f2ea18b6f941c9f7068260bcb7 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 20:11:39 +0900 Subject: java: fixes ListTemplate and MapTemplate --- .../org/msgpack/TestMessagePackStaticMethods.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java index dea2a37..b91615b 100644 --- a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -17,15 +17,18 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] a = MessagePack.pack("msgpack"); byte[] b = MessagePack.pack((Object)1); byte[] c = MessagePack.pack((Object)null); + byte[] d = MessagePack.pack(createStringList()); { MessagePackObject aobj = MessagePack.unpack(a); MessagePackObject bobj = MessagePack.unpack(b); MessagePackObject cobj = MessagePack.unpack(c); + MessagePackObject dobj = MessagePack.unpack(d); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); + assertEquals(dobj, createStringList_dynamic()); } } @@ -37,6 +40,8 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePack.pack(bout, (Object)1); ByteArrayOutputStream cout = new ByteArrayOutputStream(); MessagePack.pack(cout, (Object)null); + ByteArrayOutputStream dout = new ByteArrayOutputStream(); + MessagePack.pack(dout, createStringList()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -45,10 +50,13 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePackObject bobj = MessagePack.unpack(bin); InputStream cin = new ByteArrayInputStream(cout.toByteArray()); MessagePackObject cobj = MessagePack.unpack(cin); + InputStream din = new ByteArrayInputStream(dout.toByteArray()); + MessagePackObject dobj = MessagePack.unpack(din); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); + assertEquals(dobj, createStringList_dynamic()); } } @@ -57,16 +65,19 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] a = MessagePack.pack("msgpack", TString); byte[] b = MessagePack.pack((Object)1, TInteger); byte[] c = MessagePack.pack((Object)null, TAny); + byte[] d = MessagePack.pack(createStringList(), tList(TString)); { Object aobj = MessagePack.unpack(a, TString); Object bobj = MessagePack.unpack(b, TInteger); Object cobj_any = MessagePack.unpack(c, TAny); Object cobj_obj = MessagePack.unpack(c, tOptional(TAny)); + Object dobj = MessagePack.unpack(d, tList(TString)); assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); + assertEquals(dobj, createStringList()); } { @@ -87,6 +98,8 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePack.pack(bout, (Object)1); ByteArrayOutputStream cout = new ByteArrayOutputStream(); MessagePack.pack(cout, (Object)null); + ByteArrayOutputStream dout = new ByteArrayOutputStream(); + MessagePack.pack(dout, createStringList()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -97,11 +110,14 @@ public class TestMessagePackStaticMethods extends TestCase { Object cobj_any = MessagePack.unpack(cin_any, TAny); InputStream cin_obj = new ByteArrayInputStream(cout.toByteArray()); Object cobj_obj = MessagePack.unpack(cin_obj, tOptional(TAny)); + InputStream din = new ByteArrayInputStream(dout.toByteArray()); + Object dobj = MessagePack.unpack(din, tList(TString)); assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); + assertEquals(dobj, createStringList()); } { @@ -117,5 +133,21 @@ public class TestMessagePackStaticMethods extends TestCase { assertEquals(cobj, null); } } + + private List createStringList() { + List list = new ArrayList(); + list.add("frsyuki"); + list.add("kumofs"); + list.add("gem-compile"); + return list; + } + + private MessagePackObject createStringList_dynamic() { + MessagePackObject[] array = new MessagePackObject[3]; + array[0] = RawType.create("frsyuki"); + array[1] = RawType.create("kumofs"); + array[2] = RawType.create("gem-compile"); + return ArrayType.create(array); + } } -- cgit v1.2.1 From 7ac4ad3e38d5537e83a36f2d9fb9a5ce872c0c57 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 20:46:22 +0900 Subject: java: adds MessagePack.register methods --- .../org/msgpack/TestMessagePackStaticMethods.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java index b91615b..f2aad15 100644 --- a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -12,23 +12,51 @@ import org.junit.Test; import junit.framework.TestCase; public class TestMessagePackStaticMethods extends TestCase { + public static class CustomClass { + public boolean bool; + public String str; + public List list; + + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CustomClass)) { + return false; + } + CustomClass o = (CustomClass)obj; + return bool == o.bool && str.equals(o.str) && list.equals(o.list); + } + + public String toString() { + return "CustomClass"; + } + } + + static { + MessagePack.register(CustomClass.class); + } + @Test public void testPackToByteArray() throws Exception { byte[] a = MessagePack.pack("msgpack"); byte[] b = MessagePack.pack((Object)1); byte[] c = MessagePack.pack((Object)null); byte[] d = MessagePack.pack(createStringList()); + byte[] e = MessagePack.pack(createCustomClass()); { MessagePackObject aobj = MessagePack.unpack(a); MessagePackObject bobj = MessagePack.unpack(b); MessagePackObject cobj = MessagePack.unpack(c); MessagePackObject dobj = MessagePack.unpack(d); + MessagePackObject eobj = MessagePack.unpack(e); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); assertEquals(dobj, createStringList_dynamic()); + assertEquals(eobj, createCustomClass_dynamic()); } } @@ -42,6 +70,8 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePack.pack(cout, (Object)null); ByteArrayOutputStream dout = new ByteArrayOutputStream(); MessagePack.pack(dout, createStringList()); + ByteArrayOutputStream eout = new ByteArrayOutputStream(); + MessagePack.pack(eout, createCustomClass()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -52,11 +82,14 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePackObject cobj = MessagePack.unpack(cin); InputStream din = new ByteArrayInputStream(dout.toByteArray()); MessagePackObject dobj = MessagePack.unpack(din); + InputStream ein = new ByteArrayInputStream(eout.toByteArray()); + MessagePackObject eobj = MessagePack.unpack(ein); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); assertEquals(dobj, createStringList_dynamic()); + assertEquals(eobj, createCustomClass_dynamic()); } } @@ -66,6 +99,7 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] b = MessagePack.pack((Object)1, TInteger); byte[] c = MessagePack.pack((Object)null, TAny); byte[] d = MessagePack.pack(createStringList(), tList(TString)); + byte[] e = MessagePack.pack(createCustomClass(), tClass(CustomClass.class)); { Object aobj = MessagePack.unpack(a, TString); @@ -73,20 +107,26 @@ public class TestMessagePackStaticMethods extends TestCase { Object cobj_any = MessagePack.unpack(c, TAny); Object cobj_obj = MessagePack.unpack(c, tOptional(TAny)); Object dobj = MessagePack.unpack(d, tList(TString)); + Object eobj = MessagePack.unpack(e, tClass(CustomClass.class)); + assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); assertEquals(dobj, createStringList()); + assertEquals(eobj, createCustomClass()); } { String aobj = MessagePack.unpack(a, String.class); Integer bobj = MessagePack.unpack(b, Integer.class); Object cobj = MessagePack.unpack(c, Object.class); + CustomClass eobj = MessagePack.unpack(e, CustomClass.class); + assertEquals(aobj, "msgpack"); assertEquals(bobj, (Integer)1); assertEquals(cobj, null); + assertEquals(eobj, createCustomClass()); } } @@ -100,6 +140,8 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePack.pack(cout, (Object)null); ByteArrayOutputStream dout = new ByteArrayOutputStream(); MessagePack.pack(dout, createStringList()); + ByteArrayOutputStream eout = new ByteArrayOutputStream(); + MessagePack.pack(eout, createCustomClass()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -112,12 +154,15 @@ public class TestMessagePackStaticMethods extends TestCase { Object cobj_obj = MessagePack.unpack(cin_obj, tOptional(TAny)); InputStream din = new ByteArrayInputStream(dout.toByteArray()); Object dobj = MessagePack.unpack(din, tList(TString)); + InputStream ein = new ByteArrayInputStream(eout.toByteArray()); + Object eobj = MessagePack.unpack(ein, tClass(CustomClass.class)); assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); assertEquals(dobj, createStringList()); + assertEquals(eobj, createCustomClass()); } { @@ -127,13 +172,17 @@ public class TestMessagePackStaticMethods extends TestCase { Integer bobj = MessagePack.unpack(bin, Integer.class); InputStream cin = new ByteArrayInputStream(cout.toByteArray()); Object cobj = MessagePack.unpack(cin, Object.class); + InputStream ein = new ByteArrayInputStream(eout.toByteArray()); + Object eobj = MessagePack.unpack(ein, CustomClass.class); assertEquals(aobj, "msgpack"); assertEquals(bobj, (Integer)1); assertEquals(cobj, null); + assertEquals(eobj, createCustomClass()); } } + private List createStringList() { List list = new ArrayList(); list.add("frsyuki"); @@ -149,5 +198,29 @@ public class TestMessagePackStaticMethods extends TestCase { array[2] = RawType.create("gem-compile"); return ArrayType.create(array); } + + + private CustomClass createCustomClass() { + CustomClass obj = new CustomClass(); + obj.bool = true; + obj.str = "viver"; + obj.list = new ArrayList(); + obj.list.add(1); + obj.list.add(2); + obj.list.add(3); + return obj; + } + + private MessagePackObject createCustomClass_dynamic() { + MessagePackObject[] obj = new MessagePackObject[3]; + obj[0] = BooleanType.create(true); + obj[1] = RawType.create("viver"); + MessagePackObject[] list = new MessagePackObject[3]; + list[0] = IntegerType.create(1); + list[1] = IntegerType.create(2); + list[2] = IntegerType.create(3); + obj[2] = ArrayType.create(list); + return ArrayType.create(obj); + } } -- cgit v1.2.1 From 1b3231e6174e3ea908a5fd3ae1437e43b1a2c320 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 20:59:19 +0900 Subject: java: improves test case of the MessagePack class --- .../org/msgpack/TestMessagePackStaticMethods.java | 114 +++++++++++++++++---- 1 file changed, 92 insertions(+), 22 deletions(-) (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java index f2aad15..5d97953 100644 --- a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -2,6 +2,7 @@ package org.msgpack; import org.msgpack.*; import org.msgpack.object.*; +import org.msgpack.annotation.*; import static org.msgpack.Templates.*; import java.io.*; @@ -12,7 +13,7 @@ import org.junit.Test; import junit.framework.TestCase; public class TestMessagePackStaticMethods extends TestCase { - public static class CustomClass { + public static class ProvidedClass { public boolean bool; public String str; public List list; @@ -21,20 +22,44 @@ public class TestMessagePackStaticMethods extends TestCase { if (obj == this) { return true; } - if (!(obj instanceof CustomClass)) { + if (!(obj instanceof ProvidedClass)) { return false; } - CustomClass o = (CustomClass)obj; + ProvidedClass o = (ProvidedClass)obj; return bool == o.bool && str.equals(o.str) && list.equals(o.list); } public String toString() { - return "CustomClass"; + return "ProvidedClass"; + } + } + + @MessagePackMessage + public static class UserDefinedClass { + public boolean bool; + public String str; + public List list; + + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof UserDefinedClass)) { + return false; + } + UserDefinedClass o = (UserDefinedClass)obj; + return bool == o.bool && str.equals(o.str) && list.equals(o.list); + } + + public String toString() { + return "UserDefinedClass"; } } static { - MessagePack.register(CustomClass.class); + // provided classes needs registration + MessagePack.register(ProvidedClass.class); + // annotated classes doesn't need registration } @Test @@ -43,7 +68,8 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] b = MessagePack.pack((Object)1); byte[] c = MessagePack.pack((Object)null); byte[] d = MessagePack.pack(createStringList()); - byte[] e = MessagePack.pack(createCustomClass()); + byte[] e = MessagePack.pack(createProvidedClass()); + byte[] f = MessagePack.pack(createUserDefinedClass_dynamic()); { MessagePackObject aobj = MessagePack.unpack(a); @@ -51,12 +77,14 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePackObject cobj = MessagePack.unpack(c); MessagePackObject dobj = MessagePack.unpack(d); MessagePackObject eobj = MessagePack.unpack(e); + MessagePackObject fobj = MessagePack.unpack(f); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); assertEquals(dobj, createStringList_dynamic()); - assertEquals(eobj, createCustomClass_dynamic()); + assertEquals(eobj, createProvidedClass_dynamic()); + assertEquals(fobj, createUserDefinedClass_dynamic()); } } @@ -71,7 +99,9 @@ public class TestMessagePackStaticMethods extends TestCase { ByteArrayOutputStream dout = new ByteArrayOutputStream(); MessagePack.pack(dout, createStringList()); ByteArrayOutputStream eout = new ByteArrayOutputStream(); - MessagePack.pack(eout, createCustomClass()); + MessagePack.pack(eout, createProvidedClass()); + ByteArrayOutputStream fout = new ByteArrayOutputStream(); + MessagePack.pack(fout, createUserDefinedClass()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -84,12 +114,15 @@ public class TestMessagePackStaticMethods extends TestCase { MessagePackObject dobj = MessagePack.unpack(din); InputStream ein = new ByteArrayInputStream(eout.toByteArray()); MessagePackObject eobj = MessagePack.unpack(ein); + InputStream fin = new ByteArrayInputStream(fout.toByteArray()); + MessagePackObject fobj = MessagePack.unpack(fin); assertEquals(aobj, RawType.create("msgpack")); assertEquals(bobj, IntegerType.create(1)); assertEquals(cobj, NilType.create()); assertEquals(dobj, createStringList_dynamic()); - assertEquals(eobj, createCustomClass_dynamic()); + assertEquals(eobj, createProvidedClass_dynamic()); + assertEquals(fobj, createUserDefinedClass_dynamic()); } } @@ -99,7 +132,8 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] b = MessagePack.pack((Object)1, TInteger); byte[] c = MessagePack.pack((Object)null, TAny); byte[] d = MessagePack.pack(createStringList(), tList(TString)); - byte[] e = MessagePack.pack(createCustomClass(), tClass(CustomClass.class)); + byte[] e = MessagePack.pack(createProvidedClass(), tClass(ProvidedClass.class)); + byte[] f = MessagePack.pack(createUserDefinedClass(), tClass(UserDefinedClass.class)); { Object aobj = MessagePack.unpack(a, TString); @@ -107,26 +141,30 @@ public class TestMessagePackStaticMethods extends TestCase { Object cobj_any = MessagePack.unpack(c, TAny); Object cobj_obj = MessagePack.unpack(c, tOptional(TAny)); Object dobj = MessagePack.unpack(d, tList(TString)); - Object eobj = MessagePack.unpack(e, tClass(CustomClass.class)); + Object eobj = MessagePack.unpack(e, tClass(ProvidedClass.class)); + Object fobj = MessagePack.unpack(f, tClass(UserDefinedClass.class)); assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); assertEquals(dobj, createStringList()); - assertEquals(eobj, createCustomClass()); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); } { String aobj = MessagePack.unpack(a, String.class); Integer bobj = MessagePack.unpack(b, Integer.class); Object cobj = MessagePack.unpack(c, Object.class); - CustomClass eobj = MessagePack.unpack(e, CustomClass.class); + ProvidedClass eobj = MessagePack.unpack(e, ProvidedClass.class); + UserDefinedClass fobj = MessagePack.unpack(f, UserDefinedClass.class); assertEquals(aobj, "msgpack"); assertEquals(bobj, (Integer)1); assertEquals(cobj, null); - assertEquals(eobj, createCustomClass()); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); } } @@ -141,7 +179,9 @@ public class TestMessagePackStaticMethods extends TestCase { ByteArrayOutputStream dout = new ByteArrayOutputStream(); MessagePack.pack(dout, createStringList()); ByteArrayOutputStream eout = new ByteArrayOutputStream(); - MessagePack.pack(eout, createCustomClass()); + MessagePack.pack(eout, createProvidedClass()); + ByteArrayOutputStream fout = new ByteArrayOutputStream(); + MessagePack.pack(fout, createUserDefinedClass()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); @@ -155,14 +195,17 @@ public class TestMessagePackStaticMethods extends TestCase { InputStream din = new ByteArrayInputStream(dout.toByteArray()); Object dobj = MessagePack.unpack(din, tList(TString)); InputStream ein = new ByteArrayInputStream(eout.toByteArray()); - Object eobj = MessagePack.unpack(ein, tClass(CustomClass.class)); + Object eobj = MessagePack.unpack(ein, tClass(ProvidedClass.class)); + InputStream fin = new ByteArrayInputStream(fout.toByteArray()); + Object fobj = MessagePack.unpack(fin, tClass(UserDefinedClass.class)); assertEquals(aobj, "msgpack"); assertEquals(bobj, 1); assertEquals(cobj_any, NilType.create()); assertEquals(cobj_obj, null); assertEquals(dobj, createStringList()); - assertEquals(eobj, createCustomClass()); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); } { @@ -173,12 +216,15 @@ public class TestMessagePackStaticMethods extends TestCase { InputStream cin = new ByteArrayInputStream(cout.toByteArray()); Object cobj = MessagePack.unpack(cin, Object.class); InputStream ein = new ByteArrayInputStream(eout.toByteArray()); - Object eobj = MessagePack.unpack(ein, CustomClass.class); + ProvidedClass eobj = MessagePack.unpack(ein, ProvidedClass.class); + InputStream fin = new ByteArrayInputStream(fout.toByteArray()); + UserDefinedClass fobj = MessagePack.unpack(fin, UserDefinedClass.class); assertEquals(aobj, "msgpack"); assertEquals(bobj, (Integer)1); assertEquals(cobj, null); - assertEquals(eobj, createCustomClass()); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); } } @@ -200,8 +246,8 @@ public class TestMessagePackStaticMethods extends TestCase { } - private CustomClass createCustomClass() { - CustomClass obj = new CustomClass(); + private ProvidedClass createProvidedClass() { + ProvidedClass obj = new ProvidedClass(); obj.bool = true; obj.str = "viver"; obj.list = new ArrayList(); @@ -211,7 +257,7 @@ public class TestMessagePackStaticMethods extends TestCase { return obj; } - private MessagePackObject createCustomClass_dynamic() { + private MessagePackObject createProvidedClass_dynamic() { MessagePackObject[] obj = new MessagePackObject[3]; obj[0] = BooleanType.create(true); obj[1] = RawType.create("viver"); @@ -222,5 +268,29 @@ public class TestMessagePackStaticMethods extends TestCase { obj[2] = ArrayType.create(list); return ArrayType.create(obj); } + + + private UserDefinedClass createUserDefinedClass() { + UserDefinedClass obj = new UserDefinedClass(); + obj.bool = false; + obj.str = "muga"; + obj.list = new ArrayList(); + obj.list.add(9); + obj.list.add(10); + obj.list.add(11); + return obj; + } + + private MessagePackObject createUserDefinedClass_dynamic() { + MessagePackObject[] obj = new MessagePackObject[3]; + obj[0] = BooleanType.create(false); + obj[1] = RawType.create("muga"); + MessagePackObject[] list = new MessagePackObject[3]; + list[0] = IntegerType.create(9); + list[1] = IntegerType.create(10); + list[2] = IntegerType.create(11); + obj[2] = ArrayType.create(list); + return ArrayType.create(obj); + } } -- cgit v1.2.1 From 147056073d71a845fdbcd7562db344e9eb0c69c9 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 21:04:31 +0900 Subject: java: improves test case of the MessagePack class --- .../org/msgpack/TestMessagePackStaticMethods.java | 179 +++++++++++---------- 1 file changed, 90 insertions(+), 89 deletions(-) (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java index 5d97953..e7b8d84 100644 --- a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -57,74 +57,11 @@ public class TestMessagePackStaticMethods extends TestCase { } static { - // provided classes needs registration + // provided classes need registration MessagePack.register(ProvidedClass.class); - // annotated classes doesn't need registration + // annotated classes don't need registration } - @Test - public void testPackToByteArray() throws Exception { - byte[] a = MessagePack.pack("msgpack"); - byte[] b = MessagePack.pack((Object)1); - byte[] c = MessagePack.pack((Object)null); - byte[] d = MessagePack.pack(createStringList()); - byte[] e = MessagePack.pack(createProvidedClass()); - byte[] f = MessagePack.pack(createUserDefinedClass_dynamic()); - - { - MessagePackObject aobj = MessagePack.unpack(a); - MessagePackObject bobj = MessagePack.unpack(b); - MessagePackObject cobj = MessagePack.unpack(c); - MessagePackObject dobj = MessagePack.unpack(d); - MessagePackObject eobj = MessagePack.unpack(e); - MessagePackObject fobj = MessagePack.unpack(f); - - assertEquals(aobj, RawType.create("msgpack")); - assertEquals(bobj, IntegerType.create(1)); - assertEquals(cobj, NilType.create()); - assertEquals(dobj, createStringList_dynamic()); - assertEquals(eobj, createProvidedClass_dynamic()); - assertEquals(fobj, createUserDefinedClass_dynamic()); - } - } - - @Test - public void testPackToStream() throws Exception { - ByteArrayOutputStream aout = new ByteArrayOutputStream(); - MessagePack.pack(aout, "msgpack"); - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - MessagePack.pack(bout, (Object)1); - ByteArrayOutputStream cout = new ByteArrayOutputStream(); - MessagePack.pack(cout, (Object)null); - ByteArrayOutputStream dout = new ByteArrayOutputStream(); - MessagePack.pack(dout, createStringList()); - ByteArrayOutputStream eout = new ByteArrayOutputStream(); - MessagePack.pack(eout, createProvidedClass()); - ByteArrayOutputStream fout = new ByteArrayOutputStream(); - MessagePack.pack(fout, createUserDefinedClass()); - - { - InputStream ain = new ByteArrayInputStream(aout.toByteArray()); - MessagePackObject aobj = MessagePack.unpack(ain); - InputStream bin = new ByteArrayInputStream(bout.toByteArray()); - MessagePackObject bobj = MessagePack.unpack(bin); - InputStream cin = new ByteArrayInputStream(cout.toByteArray()); - MessagePackObject cobj = MessagePack.unpack(cin); - InputStream din = new ByteArrayInputStream(dout.toByteArray()); - MessagePackObject dobj = MessagePack.unpack(din); - InputStream ein = new ByteArrayInputStream(eout.toByteArray()); - MessagePackObject eobj = MessagePack.unpack(ein); - InputStream fin = new ByteArrayInputStream(fout.toByteArray()); - MessagePackObject fobj = MessagePack.unpack(fin); - - assertEquals(aobj, RawType.create("msgpack")); - assertEquals(bobj, IntegerType.create(1)); - assertEquals(cobj, NilType.create()); - assertEquals(dobj, createStringList_dynamic()); - assertEquals(eobj, createProvidedClass_dynamic()); - assertEquals(fobj, createUserDefinedClass_dynamic()); - } - } @Test public void testCheckedPackToByteArray() throws Exception { @@ -135,6 +72,20 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] e = MessagePack.pack(createProvidedClass(), tClass(ProvidedClass.class)); byte[] f = MessagePack.pack(createUserDefinedClass(), tClass(UserDefinedClass.class)); + { + String aobj = MessagePack.unpack(a, String.class); + Integer bobj = MessagePack.unpack(b, Integer.class); + Object cobj = MessagePack.unpack(c, Object.class); + ProvidedClass eobj = MessagePack.unpack(e, ProvidedClass.class); + UserDefinedClass fobj = MessagePack.unpack(f, UserDefinedClass.class); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); + } + { Object aobj = MessagePack.unpack(a, TString); Object bobj = MessagePack.unpack(b, TInteger); @@ -152,20 +103,6 @@ public class TestMessagePackStaticMethods extends TestCase { assertEquals(eobj, createProvidedClass()); assertEquals(fobj, createUserDefinedClass()); } - - { - String aobj = MessagePack.unpack(a, String.class); - Integer bobj = MessagePack.unpack(b, Integer.class); - Object cobj = MessagePack.unpack(c, Object.class); - ProvidedClass eobj = MessagePack.unpack(e, ProvidedClass.class); - UserDefinedClass fobj = MessagePack.unpack(f, UserDefinedClass.class); - - assertEquals(aobj, "msgpack"); - assertEquals(bobj, (Integer)1); - assertEquals(cobj, null); - assertEquals(eobj, createProvidedClass()); - assertEquals(fobj, createUserDefinedClass()); - } } @Test @@ -183,6 +120,25 @@ public class TestMessagePackStaticMethods extends TestCase { ByteArrayOutputStream fout = new ByteArrayOutputStream(); MessagePack.pack(fout, createUserDefinedClass()); + { + InputStream ain = new ByteArrayInputStream(aout.toByteArray()); + String aobj = MessagePack.unpack(ain, String.class); + InputStream bin = new ByteArrayInputStream(bout.toByteArray()); + Integer bobj = MessagePack.unpack(bin, Integer.class); + InputStream cin = new ByteArrayInputStream(cout.toByteArray()); + Object cobj = MessagePack.unpack(cin, Object.class); + InputStream ein = new ByteArrayInputStream(eout.toByteArray()); + ProvidedClass eobj = MessagePack.unpack(ein, ProvidedClass.class); + InputStream fin = new ByteArrayInputStream(fout.toByteArray()); + UserDefinedClass fobj = MessagePack.unpack(fin, UserDefinedClass.class); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); + } + { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); Object aobj = MessagePack.unpack(ain, TString); @@ -207,24 +163,69 @@ public class TestMessagePackStaticMethods extends TestCase { assertEquals(eobj, createProvidedClass()); assertEquals(fobj, createUserDefinedClass()); } + } + + @Test + public void testPackToByteArray() throws Exception { + byte[] a = MessagePack.pack("msgpack"); + byte[] b = MessagePack.pack((Object)1); + byte[] c = MessagePack.pack((Object)null); + byte[] d = MessagePack.pack(createStringList()); + byte[] e = MessagePack.pack(createProvidedClass()); + byte[] f = MessagePack.pack(createUserDefinedClass_dynamic()); + + { + MessagePackObject aobj = MessagePack.unpack(a); + MessagePackObject bobj = MessagePack.unpack(b); + MessagePackObject cobj = MessagePack.unpack(c); + MessagePackObject dobj = MessagePack.unpack(d); + MessagePackObject eobj = MessagePack.unpack(e); + MessagePackObject fobj = MessagePack.unpack(f); + + assertEquals(aobj, RawType.create("msgpack")); + assertEquals(bobj, IntegerType.create(1)); + assertEquals(cobj, NilType.create()); + assertEquals(dobj, createStringList_dynamic()); + assertEquals(eobj, createProvidedClass_dynamic()); + assertEquals(fobj, createUserDefinedClass_dynamic()); + } + } + + @Test + public void testPackToStream() throws Exception { + ByteArrayOutputStream aout = new ByteArrayOutputStream(); + MessagePack.pack(aout, "msgpack"); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + MessagePack.pack(bout, (Object)1); + ByteArrayOutputStream cout = new ByteArrayOutputStream(); + MessagePack.pack(cout, (Object)null); + ByteArrayOutputStream dout = new ByteArrayOutputStream(); + MessagePack.pack(dout, createStringList()); + ByteArrayOutputStream eout = new ByteArrayOutputStream(); + MessagePack.pack(eout, createProvidedClass()); + ByteArrayOutputStream fout = new ByteArrayOutputStream(); + MessagePack.pack(fout, createUserDefinedClass()); { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); - String aobj = MessagePack.unpack(ain, String.class); + MessagePackObject aobj = MessagePack.unpack(ain); InputStream bin = new ByteArrayInputStream(bout.toByteArray()); - Integer bobj = MessagePack.unpack(bin, Integer.class); + MessagePackObject bobj = MessagePack.unpack(bin); InputStream cin = new ByteArrayInputStream(cout.toByteArray()); - Object cobj = MessagePack.unpack(cin, Object.class); + MessagePackObject cobj = MessagePack.unpack(cin); + InputStream din = new ByteArrayInputStream(dout.toByteArray()); + MessagePackObject dobj = MessagePack.unpack(din); InputStream ein = new ByteArrayInputStream(eout.toByteArray()); - ProvidedClass eobj = MessagePack.unpack(ein, ProvidedClass.class); + MessagePackObject eobj = MessagePack.unpack(ein); InputStream fin = new ByteArrayInputStream(fout.toByteArray()); - UserDefinedClass fobj = MessagePack.unpack(fin, UserDefinedClass.class); + MessagePackObject fobj = MessagePack.unpack(fin); - assertEquals(aobj, "msgpack"); - assertEquals(bobj, (Integer)1); - assertEquals(cobj, null); - assertEquals(eobj, createProvidedClass()); - assertEquals(fobj, createUserDefinedClass()); + assertEquals(aobj, RawType.create("msgpack")); + assertEquals(bobj, IntegerType.create(1)); + assertEquals(cobj, NilType.create()); + assertEquals(dobj, createStringList_dynamic()); + assertEquals(eobj, createProvidedClass_dynamic()); + assertEquals(fobj, createUserDefinedClass_dynamic()); } } -- cgit v1.2.1 From 1bd347d9970ba8d00b757ece940b8a32564821e4 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 21:17:19 +0900 Subject: java: fixes CustomMessage class --- .../org/msgpack/TestMessagePackStaticMethods.java | 66 +++++++++++----------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'java/src/test') diff --git a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java index e7b8d84..f08176e 100644 --- a/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java +++ b/java/src/test/java/org/msgpack/TestMessagePackStaticMethods.java @@ -72,20 +72,6 @@ public class TestMessagePackStaticMethods extends TestCase { byte[] e = MessagePack.pack(createProvidedClass(), tClass(ProvidedClass.class)); byte[] f = MessagePack.pack(createUserDefinedClass(), tClass(UserDefinedClass.class)); - { - String aobj = MessagePack.unpack(a, String.class); - Integer bobj = MessagePack.unpack(b, Integer.class); - Object cobj = MessagePack.unpack(c, Object.class); - ProvidedClass eobj = MessagePack.unpack(e, ProvidedClass.class); - UserDefinedClass fobj = MessagePack.unpack(f, UserDefinedClass.class); - - assertEquals(aobj, "msgpack"); - assertEquals(bobj, (Integer)1); - assertEquals(cobj, null); - assertEquals(eobj, createProvidedClass()); - assertEquals(fobj, createUserDefinedClass()); - } - { Object aobj = MessagePack.unpack(a, TString); Object bobj = MessagePack.unpack(b, TInteger); @@ -103,6 +89,20 @@ public class TestMessagePackStaticMethods extends TestCase { assertEquals(eobj, createProvidedClass()); assertEquals(fobj, createUserDefinedClass()); } + + { + String aobj = MessagePack.unpack(a, String.class); + Integer bobj = MessagePack.unpack(b, Integer.class); + Object cobj = MessagePack.unpack(c, Object.class); + ProvidedClass eobj = MessagePack.unpack(e, ProvidedClass.class); + UserDefinedClass fobj = MessagePack.unpack(f, UserDefinedClass.class); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); + } } @Test @@ -120,25 +120,6 @@ public class TestMessagePackStaticMethods extends TestCase { ByteArrayOutputStream fout = new ByteArrayOutputStream(); MessagePack.pack(fout, createUserDefinedClass()); - { - InputStream ain = new ByteArrayInputStream(aout.toByteArray()); - String aobj = MessagePack.unpack(ain, String.class); - InputStream bin = new ByteArrayInputStream(bout.toByteArray()); - Integer bobj = MessagePack.unpack(bin, Integer.class); - InputStream cin = new ByteArrayInputStream(cout.toByteArray()); - Object cobj = MessagePack.unpack(cin, Object.class); - InputStream ein = new ByteArrayInputStream(eout.toByteArray()); - ProvidedClass eobj = MessagePack.unpack(ein, ProvidedClass.class); - InputStream fin = new ByteArrayInputStream(fout.toByteArray()); - UserDefinedClass fobj = MessagePack.unpack(fin, UserDefinedClass.class); - - assertEquals(aobj, "msgpack"); - assertEquals(bobj, (Integer)1); - assertEquals(cobj, null); - assertEquals(eobj, createProvidedClass()); - assertEquals(fobj, createUserDefinedClass()); - } - { InputStream ain = new ByteArrayInputStream(aout.toByteArray()); Object aobj = MessagePack.unpack(ain, TString); @@ -163,6 +144,25 @@ public class TestMessagePackStaticMethods extends TestCase { assertEquals(eobj, createProvidedClass()); assertEquals(fobj, createUserDefinedClass()); } + + { + InputStream ain = new ByteArrayInputStream(aout.toByteArray()); + String aobj = MessagePack.unpack(ain, String.class); + InputStream bin = new ByteArrayInputStream(bout.toByteArray()); + Integer bobj = MessagePack.unpack(bin, Integer.class); + InputStream cin = new ByteArrayInputStream(cout.toByteArray()); + Object cobj = MessagePack.unpack(cin, Object.class); + InputStream ein = new ByteArrayInputStream(eout.toByteArray()); + ProvidedClass eobj = MessagePack.unpack(ein, ProvidedClass.class); + InputStream fin = new ByteArrayInputStream(fout.toByteArray()); + UserDefinedClass fobj = MessagePack.unpack(fin, UserDefinedClass.class); + + assertEquals(aobj, "msgpack"); + assertEquals(bobj, (Integer)1); + assertEquals(cobj, null); + assertEquals(eobj, createProvidedClass()); + assertEquals(fobj, createUserDefinedClass()); + } } @Test -- cgit v1.2.1