diff options
| author | Taro L. Saito <leo@xerial.org> | 2010-04-19 23:05:00 +0900 |
|---|---|---|
| committer | Taro L. Saito <leo@xerial.org> | 2010-04-19 23:05:00 +0900 |
| commit | f2622e54e350bcec9233084a0d52eb61dcdeddb1 (patch) | |
| tree | 116402b8afa715d55a8456169e5f6eeecd34f6f9 /java/src | |
| parent | 20fe9b6dde977cb7d923167292bbe89027a01795 (diff) | |
| download | msgpack-python-f2622e54e350bcec9233084a0d52eb61dcdeddb1.tar.gz | |
moved src and test codes to src/{main,test}/java
Diffstat (limited to 'java/src')
| -rw-r--r-- | java/src/main/java/org/msgpack/MessageMergeable.java (renamed from java/src/org/msgpack/MessageMergeable.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/MessagePackable.java (renamed from java/src/org/msgpack/MessagePackable.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/MessageTypeException.java (renamed from java/src/org/msgpack/MessageTypeException.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/Packer.java (renamed from java/src/org/msgpack/Packer.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/Schema.java (renamed from java/src/org/msgpack/Schema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/UnbufferedUnpacker.java (renamed from java/src/org/msgpack/UnbufferedUnpacker.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/UnpackException.java (renamed from java/src/org/msgpack/UnpackException.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/UnpackIterator.java (renamed from java/src/org/msgpack/UnpackIterator.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/Unpacker.java (renamed from java/src/org/msgpack/Unpacker.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/impl/UnpackerImpl.java (renamed from java/src/org/msgpack/impl/UnpackerImpl.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ArraySchema.java (renamed from java/src/org/msgpack/schema/ArraySchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ByteSchema.java (renamed from java/src/org/msgpack/schema/ByteSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ClassGenerator.java (renamed from java/src/org/msgpack/schema/ClassGenerator.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ClassSchema.java (renamed from java/src/org/msgpack/schema/ClassSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/DoubleSchema.java (renamed from java/src/org/msgpack/schema/DoubleSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/FieldSchema.java (renamed from java/src/org/msgpack/schema/FieldSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/FloatSchema.java (renamed from java/src/org/msgpack/schema/FloatSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/GenericClassSchema.java (renamed from java/src/org/msgpack/schema/GenericClassSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/GenericSchema.java (renamed from java/src/org/msgpack/schema/GenericSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/IArraySchema.java (renamed from java/src/org/msgpack/schema/IArraySchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/IMapSchema.java (renamed from java/src/org/msgpack/schema/IMapSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/IntSchema.java (renamed from java/src/org/msgpack/schema/IntSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/LongSchema.java (renamed from java/src/org/msgpack/schema/LongSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/MapSchema.java (renamed from java/src/org/msgpack/schema/MapSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/RawSchema.java (renamed from java/src/org/msgpack/schema/RawSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ReflectionClassSchema.java (renamed from java/src/org/msgpack/schema/ReflectionClassSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/SSchemaParser.java (renamed from java/src/org/msgpack/schema/SSchemaParser.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/ShortSchema.java (renamed from java/src/org/msgpack/schema/ShortSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/SpecificClassSchema.java (renamed from java/src/org/msgpack/schema/SpecificClassSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/main/java/org/msgpack/schema/StringSchema.java (renamed from java/src/org/msgpack/schema/StringSchema.java) | 0 | ||||
| -rw-r--r-- | java/src/test/java/org/msgpack/TestPackUnpack.java | 241 | ||||
| -rw-r--r-- | java/src/test/java/org/msgpack/TestSample.java | 11 |
32 files changed, 252 insertions, 0 deletions
diff --git a/java/src/org/msgpack/MessageMergeable.java b/java/src/main/java/org/msgpack/MessageMergeable.java index e5a5b45..e5a5b45 100644 --- a/java/src/org/msgpack/MessageMergeable.java +++ b/java/src/main/java/org/msgpack/MessageMergeable.java diff --git a/java/src/org/msgpack/MessagePackable.java b/java/src/main/java/org/msgpack/MessagePackable.java index 9e9852a..9e9852a 100644 --- a/java/src/org/msgpack/MessagePackable.java +++ b/java/src/main/java/org/msgpack/MessagePackable.java diff --git a/java/src/org/msgpack/MessageTypeException.java b/java/src/main/java/org/msgpack/MessageTypeException.java index feb6c08..feb6c08 100644 --- a/java/src/org/msgpack/MessageTypeException.java +++ b/java/src/main/java/org/msgpack/MessageTypeException.java diff --git a/java/src/org/msgpack/Packer.java b/java/src/main/java/org/msgpack/Packer.java index 935728d..935728d 100644 --- a/java/src/org/msgpack/Packer.java +++ b/java/src/main/java/org/msgpack/Packer.java diff --git a/java/src/org/msgpack/Schema.java b/java/src/main/java/org/msgpack/Schema.java index f191f7a..f191f7a 100644 --- a/java/src/org/msgpack/Schema.java +++ b/java/src/main/java/org/msgpack/Schema.java diff --git a/java/src/org/msgpack/UnbufferedUnpacker.java b/java/src/main/java/org/msgpack/UnbufferedUnpacker.java index b427973..b427973 100644 --- a/java/src/org/msgpack/UnbufferedUnpacker.java +++ b/java/src/main/java/org/msgpack/UnbufferedUnpacker.java diff --git a/java/src/org/msgpack/UnpackException.java b/java/src/main/java/org/msgpack/UnpackException.java index 35e3e44..35e3e44 100644 --- a/java/src/org/msgpack/UnpackException.java +++ b/java/src/main/java/org/msgpack/UnpackException.java diff --git a/java/src/org/msgpack/UnpackIterator.java b/java/src/main/java/org/msgpack/UnpackIterator.java index 0a78e83..0a78e83 100644 --- a/java/src/org/msgpack/UnpackIterator.java +++ b/java/src/main/java/org/msgpack/UnpackIterator.java diff --git a/java/src/org/msgpack/Unpacker.java b/java/src/main/java/org/msgpack/Unpacker.java index 458ffee..458ffee 100644 --- a/java/src/org/msgpack/Unpacker.java +++ b/java/src/main/java/org/msgpack/Unpacker.java diff --git a/java/src/org/msgpack/impl/UnpackerImpl.java b/java/src/main/java/org/msgpack/impl/UnpackerImpl.java index adc62b0..adc62b0 100644 --- a/java/src/org/msgpack/impl/UnpackerImpl.java +++ b/java/src/main/java/org/msgpack/impl/UnpackerImpl.java diff --git a/java/src/org/msgpack/schema/ArraySchema.java b/java/src/main/java/org/msgpack/schema/ArraySchema.java index fd47143..fd47143 100644 --- a/java/src/org/msgpack/schema/ArraySchema.java +++ b/java/src/main/java/org/msgpack/schema/ArraySchema.java diff --git a/java/src/org/msgpack/schema/ByteSchema.java b/java/src/main/java/org/msgpack/schema/ByteSchema.java index 9ee6a82..9ee6a82 100644 --- a/java/src/org/msgpack/schema/ByteSchema.java +++ b/java/src/main/java/org/msgpack/schema/ByteSchema.java diff --git a/java/src/org/msgpack/schema/ClassGenerator.java b/java/src/main/java/org/msgpack/schema/ClassGenerator.java index 061dcbb..061dcbb 100644 --- a/java/src/org/msgpack/schema/ClassGenerator.java +++ b/java/src/main/java/org/msgpack/schema/ClassGenerator.java diff --git a/java/src/org/msgpack/schema/ClassSchema.java b/java/src/main/java/org/msgpack/schema/ClassSchema.java index cd5c008..cd5c008 100644 --- a/java/src/org/msgpack/schema/ClassSchema.java +++ b/java/src/main/java/org/msgpack/schema/ClassSchema.java diff --git a/java/src/org/msgpack/schema/DoubleSchema.java b/java/src/main/java/org/msgpack/schema/DoubleSchema.java index d53e47d..d53e47d 100644 --- a/java/src/org/msgpack/schema/DoubleSchema.java +++ b/java/src/main/java/org/msgpack/schema/DoubleSchema.java diff --git a/java/src/org/msgpack/schema/FieldSchema.java b/java/src/main/java/org/msgpack/schema/FieldSchema.java index 66c2ff2..66c2ff2 100644 --- a/java/src/org/msgpack/schema/FieldSchema.java +++ b/java/src/main/java/org/msgpack/schema/FieldSchema.java diff --git a/java/src/org/msgpack/schema/FloatSchema.java b/java/src/main/java/org/msgpack/schema/FloatSchema.java index 2777521..2777521 100644 --- a/java/src/org/msgpack/schema/FloatSchema.java +++ b/java/src/main/java/org/msgpack/schema/FloatSchema.java diff --git a/java/src/org/msgpack/schema/GenericClassSchema.java b/java/src/main/java/org/msgpack/schema/GenericClassSchema.java index ffdd4ab..ffdd4ab 100644 --- a/java/src/org/msgpack/schema/GenericClassSchema.java +++ b/java/src/main/java/org/msgpack/schema/GenericClassSchema.java diff --git a/java/src/org/msgpack/schema/GenericSchema.java b/java/src/main/java/org/msgpack/schema/GenericSchema.java index 0adf898..0adf898 100644 --- a/java/src/org/msgpack/schema/GenericSchema.java +++ b/java/src/main/java/org/msgpack/schema/GenericSchema.java diff --git a/java/src/org/msgpack/schema/IArraySchema.java b/java/src/main/java/org/msgpack/schema/IArraySchema.java index 67e9f55..67e9f55 100644 --- a/java/src/org/msgpack/schema/IArraySchema.java +++ b/java/src/main/java/org/msgpack/schema/IArraySchema.java diff --git a/java/src/org/msgpack/schema/IMapSchema.java b/java/src/main/java/org/msgpack/schema/IMapSchema.java index 3a2f556..3a2f556 100644 --- a/java/src/org/msgpack/schema/IMapSchema.java +++ b/java/src/main/java/org/msgpack/schema/IMapSchema.java diff --git a/java/src/org/msgpack/schema/IntSchema.java b/java/src/main/java/org/msgpack/schema/IntSchema.java index 5a7e281..5a7e281 100644 --- a/java/src/org/msgpack/schema/IntSchema.java +++ b/java/src/main/java/org/msgpack/schema/IntSchema.java diff --git a/java/src/org/msgpack/schema/LongSchema.java b/java/src/main/java/org/msgpack/schema/LongSchema.java index 83a30e3..83a30e3 100644 --- a/java/src/org/msgpack/schema/LongSchema.java +++ b/java/src/main/java/org/msgpack/schema/LongSchema.java diff --git a/java/src/org/msgpack/schema/MapSchema.java b/java/src/main/java/org/msgpack/schema/MapSchema.java index ba75993..ba75993 100644 --- a/java/src/org/msgpack/schema/MapSchema.java +++ b/java/src/main/java/org/msgpack/schema/MapSchema.java diff --git a/java/src/org/msgpack/schema/RawSchema.java b/java/src/main/java/org/msgpack/schema/RawSchema.java index f621e4c..f621e4c 100644 --- a/java/src/org/msgpack/schema/RawSchema.java +++ b/java/src/main/java/org/msgpack/schema/RawSchema.java diff --git a/java/src/org/msgpack/schema/ReflectionClassSchema.java b/java/src/main/java/org/msgpack/schema/ReflectionClassSchema.java index fb94adf..fb94adf 100644 --- a/java/src/org/msgpack/schema/ReflectionClassSchema.java +++ b/java/src/main/java/org/msgpack/schema/ReflectionClassSchema.java diff --git a/java/src/org/msgpack/schema/SSchemaParser.java b/java/src/main/java/org/msgpack/schema/SSchemaParser.java index 4ae8a4b..4ae8a4b 100644 --- a/java/src/org/msgpack/schema/SSchemaParser.java +++ b/java/src/main/java/org/msgpack/schema/SSchemaParser.java diff --git a/java/src/org/msgpack/schema/ShortSchema.java b/java/src/main/java/org/msgpack/schema/ShortSchema.java index f32ab41..f32ab41 100644 --- a/java/src/org/msgpack/schema/ShortSchema.java +++ b/java/src/main/java/org/msgpack/schema/ShortSchema.java diff --git a/java/src/org/msgpack/schema/SpecificClassSchema.java b/java/src/main/java/org/msgpack/schema/SpecificClassSchema.java index 30bd9e1..30bd9e1 100644 --- a/java/src/org/msgpack/schema/SpecificClassSchema.java +++ b/java/src/main/java/org/msgpack/schema/SpecificClassSchema.java diff --git a/java/src/org/msgpack/schema/StringSchema.java b/java/src/main/java/org/msgpack/schema/StringSchema.java index 46d515b..46d515b 100644 --- a/java/src/org/msgpack/schema/StringSchema.java +++ b/java/src/main/java/org/msgpack/schema/StringSchema.java diff --git a/java/src/test/java/org/msgpack/TestPackUnpack.java b/java/src/test/java/org/msgpack/TestPackUnpack.java new file mode 100644 index 0000000..6877853 --- /dev/null +++ b/java/src/test/java/org/msgpack/TestPackUnpack.java @@ -0,0 +1,241 @@ +package org.msgpack; + +import org.msgpack.*; +import java.io.*; +import java.util.*; + +import org.junit.Test; +import static org.junit.Assert.*; + +public class TestPackUnpack { + protected Object unpackOne(ByteArrayOutputStream out) { + return unpackOne(out, null); + } + protected Object unpackOne(ByteArrayOutputStream out, Schema schema) { + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Unpacker upk = new Unpacker(in); + if (schema != null) + upk = upk.useSchema(schema); + Iterator<Object> it = upk.iterator(); + assertEquals(true, it.hasNext()); + Object obj = it.next(); + assertEquals(false, it.hasNext()); + return obj; + } + + @Test + public void testInt() throws Exception { + testInt(0); + testInt(-1); + testInt(1); + testInt(Integer.MIN_VALUE); + testInt(Integer.MAX_VALUE); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) + testInt(rand.nextInt()); + } + public void testInt(int val) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out); + if (obj instanceof Byte) + assertEquals(val, ((Byte)obj).intValue()); + else if (obj instanceof Integer) + assertEquals(val, ((Integer)obj).intValue()); + else if (obj instanceof Short) + assertEquals(val, ((Short)obj).intValue()); + else if (obj instanceof Long) + assertEquals(val, ((Long)obj).intValue()); + else { + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testFloat() throws Exception { + testFloat((float)0.0); + testFloat((float)-0.0); + testFloat((float)1.0); + testFloat((float)-1.0); + testFloat((float)Float.MAX_VALUE); + testFloat((float)Float.MIN_VALUE); + testFloat((float)Float.NaN); + testFloat((float)Float.NEGATIVE_INFINITY); + testFloat((float)Float.POSITIVE_INFINITY); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) + testFloat(rand.nextFloat()); + } + public void testFloat(float val) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out); + if (obj instanceof Float) + assertEquals(val, ((Float)obj).floatValue(), 10e-10); + else { + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testDouble() throws Exception { + testDouble((double)0.0); + testDouble((double)-0.0); + testDouble((double)1.0); + testDouble((double)-1.0); + testDouble((double)Double.MAX_VALUE); + testDouble((double)Double.MIN_VALUE); + testDouble((double)Double.NaN); + testDouble((double)Double.NEGATIVE_INFINITY); + testDouble((double)Double.POSITIVE_INFINITY); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) + testDouble(rand.nextDouble()); + } + public void testDouble(double val) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out); + if (obj instanceof Double) + assertEquals(val, ((Double)obj).doubleValue(), 10e-10); + else { + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testNil() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).packNil(); + Object obj = unpackOne(out); + assertEquals(null, obj); + } + + @Test + public void testBoolean() throws Exception { + testBoolean(false); + testBoolean(true); + } + public void testBoolean(boolean val) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out); + if (obj instanceof Boolean) + assertEquals(val, ((Boolean)obj).booleanValue()); + else { + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testString() throws Exception { + testString(""); + testString("a"); + testString("ab"); + testString("abc"); + // small size string + for (int i = 0; i < 100; i++) { + StringBuilder sb = new StringBuilder(); + int len = (int)Math.random() % 31 + 1; + for (int j = 0; j < len; j++) + sb.append('a' + ((int)Math.random()) & 26); + testString(sb.toString()); + } + // medium size string + for (int i = 0; i < 100; i++) { + StringBuilder sb = new StringBuilder(); + int len = (int)Math.random() % 100 + (1 << 15); + for (int j = 0; j < len; j++) + sb.append('a' + ((int)Math.random()) & 26); + testString(sb.toString()); + } + // large size string + for (int i = 0; i < 10; i++) { + StringBuilder sb = new StringBuilder(); + int len = (int)Math.random() % 100 + (1 << 31); + for (int j = 0; j < len; j++) + sb.append('a' + ((int)Math.random()) & 26); + testString(sb.toString()); + } + } + public void testString(String val) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out); + if (obj instanceof byte[]) + assertEquals(val, new String((byte[])obj)); + else { + System.out.println("obj=" + obj); + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testArray() throws Exception { + for (int i = 0; i < 1000; i++) { + Schema schema = Schema.parse("(array int)"); + List<Integer> l = new ArrayList<Integer>(); + int len = (int)Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) + l.add(j); + testArray(l, schema); + } + for (int i = 0; i < 1000; i++) { + Schema schema = Schema.parse("(array string)"); + List<String> l = new ArrayList<String>(); + int len = (int)Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) + l.add(Integer.toString(j)); + testArray(l, schema); + } + } + public void testArray(List val, Schema schema) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out, schema); + if (obj instanceof List) + assertTrue(val.equals(obj)); + else { + System.out.println("obj=" + obj); + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } + + @Test + public void testMap() throws Exception { + for (int i = 0; i < 1000; i++) { + Schema schema = Schema.parse("(map int int)"); + Map<Integer, Integer> m = new HashMap<Integer, Integer>(); + int len = (int)Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) + m.put(j, j); + testMap(m, schema); + } + for (int i = 0; i < 1000; i++) { + Schema schema = Schema.parse("(map string int)"); + Map<String, Integer> m = new HashMap<String, Integer>(); + int len = (int)Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) + m.put(Integer.toString(j), j); + testMap(m, schema); + } + } + public void testMap(Map val, Schema schema) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(val); + Object obj = unpackOne(out, schema); + if (obj instanceof Map) + assertTrue(val.equals(obj)); + else { + System.out.println("obj=" + obj); + System.out.println("Got unexpected class: " + obj.getClass()); + assertTrue(false); + } + } +}; diff --git a/java/src/test/java/org/msgpack/TestSample.java b/java/src/test/java/org/msgpack/TestSample.java new file mode 100644 index 0000000..d0e3bae --- /dev/null +++ b/java/src/test/java/org/msgpack/TestSample.java @@ -0,0 +1,11 @@ +package org.msgpack; + +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class TestSample { + @Test + public void testNull() throws Exception { + assertEquals("aiueo", 0, 0); + } +}; |
