From 17def94ba4c2ee1a748b60fb48b1066f39286a67 Mon Sep 17 00:00:00 2001 From: Muga Nishizawa <muga@f11vm.(none)> Date: Sun, 17 Oct 2010 18:24:08 +0900 Subject: [PATCH] java: describe test programs for org.msgpack.template.*.java --- java/src/test/java/org/msgpack/Util.java | 19 + .../org/msgpack/template/TestPackConvert.java | 320 +++++++++++++++++ .../org/msgpack/template/TestPackUnpack.java | 326 ++++++++++++++++++ ...kerConverter.java => TestPackConvert.java} | 2 +- ...ackerUnpacker.java => TestPackUnpack.java} | 2 +- 5 files changed, 667 insertions(+), 2 deletions(-) create mode 100644 java/src/test/java/org/msgpack/Util.java create mode 100644 java/src/test/java/org/msgpack/template/TestPackConvert.java create mode 100644 java/src/test/java/org/msgpack/template/TestPackUnpack.java rename java/src/test/java/org/msgpack/util/codegen/{TestDynamicCodeGenPackerConverter.java => TestPackConvert.java} (99%) rename java/src/test/java/org/msgpack/util/codegen/{TestDynamicCodeGenPackerUnpacker.java => TestPackUnpack.java} (99%) diff --git a/java/src/test/java/org/msgpack/Util.java b/java/src/test/java/org/msgpack/Util.java new file mode 100644 index 00000000..442b4d67 --- /dev/null +++ b/java/src/test/java/org/msgpack/Util.java @@ -0,0 +1,19 @@ +package org.msgpack; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayInputStream; +import java.util.Iterator; + +public class Util { + + public static MessagePackObject unpackOne(byte[] bytes) { + ByteArrayInputStream in = new ByteArrayInputStream(bytes); + Unpacker pac = new Unpacker(in); + Iterator<MessagePackObject> it = pac.iterator(); + assertEquals(true, it.hasNext()); + MessagePackObject obj = it.next(); + assertEquals(false, it.hasNext()); + return obj; + } +} diff --git a/java/src/test/java/org/msgpack/template/TestPackConvert.java b/java/src/test/java/org/msgpack/template/TestPackConvert.java new file mode 100644 index 00000000..15237b6d --- /dev/null +++ b/java/src/test/java/org/msgpack/template/TestPackConvert.java @@ -0,0 +1,320 @@ +package org.msgpack.template; + +import java.io.ByteArrayOutputStream; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import org.junit.Test; +import org.msgpack.MessagePackObject; +import org.msgpack.Packer; +import org.msgpack.Template; +import org.msgpack.Util; + +import junit.framework.TestCase; + +public class TestPackConvert extends TestCase { + + @Test + public void testInteger() throws Exception { + // _testInteger(null); // FIXME + _testInteger(0); + _testInteger(-1); + _testInteger(1); + _testInteger(Integer.MIN_VALUE); + _testInteger(Integer.MAX_VALUE); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testInteger(rand.nextInt()); + } + } + + static void _testInteger(Integer src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = IntegerTemplate.getInstance(); + Integer dst = (Integer) tmpl.convert(obj); + assertEquals(src, dst); + } + + @Test + public void testLong() throws Exception { + // _testLong(null); // FIXME + _testLong((long) 0); + _testLong((long) -1); + _testLong((long) 1); + _testLong((long) Integer.MIN_VALUE); + _testLong((long) Integer.MAX_VALUE); + _testLong(Long.MIN_VALUE); + _testLong(Long.MAX_VALUE); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testLong(rand.nextLong()); + } + } + + public void _testLong(Long src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = LongTemplate.getInstance(); + Long dst = (Long) tmpl.convert(obj); + assertEquals(src, dst); + } + + @Test + public void testBiginteger() throws Exception { + // _testBigInteger(null); // FIXME + _testBigInteger(BigInteger.valueOf(0)); + _testBigInteger(BigInteger.valueOf(-1)); + _testBigInteger(BigInteger.valueOf(1)); + _testBigInteger(BigInteger.valueOf(Integer.MIN_VALUE)); + _testBigInteger(BigInteger.valueOf(Integer.MAX_VALUE)); + _testBigInteger(BigInteger.valueOf(Long.MIN_VALUE)); + _testBigInteger(BigInteger.valueOf(Long.MAX_VALUE)); + BigInteger max = BigInteger.valueOf(Long.MAX_VALUE).setBit(63); + _testBigInteger(max); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testBigInteger(max.subtract(BigInteger.valueOf(Math.abs(rand + .nextLong())))); + } + } + + static void _testBigInteger(BigInteger src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = BigIntegerTemplate.getInstance(); + BigInteger dst = (BigInteger) tmpl.convert(obj); + assertEquals(src, dst); + } + + @Test + public void testFloat() throws Exception { + // _testFloat(null); // FIXME + _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()); + } + } + + static void _testFloat(Float src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = FloatTemplate.getInstance(); + Float dst = (Float) tmpl.convert(obj); + assertEquals(src, dst, 10e-10); + } + + @Test + public void testDouble() throws Exception { + // _testDouble(null); // FIXME + _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()); + } + } + + static void _testDouble(Double src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = DoubleTemplate.getInstance(); + Double dst = (Double) tmpl.convert(obj); + assertEquals(src, dst, 10e-10); + } + + @Test + public void testBoolean() throws Exception { + // _testBoolean(null); // FIXME + _testBoolean(false); + _testBoolean(true); + } + + static void _testBoolean(Boolean src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = BooleanTemplate.getInstance(); + Boolean dst = (Boolean) tmpl.convert(obj); + assertEquals(src, dst); + } + + @Test + public void testString() throws Exception { + // _testString(null); // FIXME + _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()); + } + } + + static void _testString(String src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = StringTemplate.getInstance(); + String dst = (String) tmpl.convert(obj); + assertEquals(src, dst); + } + + @SuppressWarnings("unchecked") + @Test + public void testList() throws Exception { + // nullList // FIXME + List<Integer> emptyList = new ArrayList<Integer>(); + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(emptyList); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new ListTemplate(IntegerTemplate.getInstance()); + List<Integer> dst = (List<Integer>) tmpl.convert(obj); + assertEquals(emptyList, dst); + } + + for (int i = 0; i < 1000; i++) { + List<Integer> l = new ArrayList<Integer>(); + int len = (int) Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) { + l.add(j); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(l); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new ListTemplate(IntegerTemplate.getInstance()); + List<Integer> dst = (List<Integer>) tmpl.convert(obj); + assertEquals(l.size(), dst.size()); + for (int j = 0; j < len; j++) { + assertEquals(l.get(j), dst.get(j)); + } + } + + for (int i = 0; i < 1000; i++) { + 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)); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(l); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new ListTemplate(StringTemplate.getInstance()); + List<String> dst = (List<String>) tmpl.convert(obj); + assertEquals(l.size(), dst.size()); + for (int j = 0; j < len; j++) { + assertEquals(l.get(j), dst.get(j)); + } + } + } + + @SuppressWarnings("unchecked") + @Test + public void testMap() throws Exception { + // nullMap // FIXME + Map<Integer, Integer> emptyMap = new HashMap<Integer, Integer>(); + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(emptyMap); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new MapTemplate(IntegerTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<Integer, Integer> dst = (Map<Integer, Integer>) tmpl + .convert(obj); + assertEquals(emptyMap, dst); + } + + for (int i = 0; i < 1000; i++) { + 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); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(m); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new MapTemplate(IntegerTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<Integer, Integer> map = (Map<Integer, Integer>) tmpl + .convert(obj); + assertEquals(m.size(), map.size()); + for (Map.Entry<Integer, Integer> pair : map.entrySet()) { + Integer val = m.get(pair.getKey()); + assertNotNull(val); + assertEquals(val, pair.getValue()); + } + } + + for (int i = 0; i < 1000; i++) { + 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); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(m); + MessagePackObject obj = Util.unpackOne(out.toByteArray()); + Template tmpl = new MapTemplate(StringTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<String, Integer> map = (Map<String, Integer>) tmpl.convert(obj); + assertEquals(m.size(), map.size()); + for (Map.Entry<String, Integer> pair : map.entrySet()) { + Integer val = m.get(pair.getKey()); + assertNotNull(val); + assertEquals(val, pair.getValue()); + } + } + } +} diff --git a/java/src/test/java/org/msgpack/template/TestPackUnpack.java b/java/src/test/java/org/msgpack/template/TestPackUnpack.java new file mode 100644 index 00000000..fbd510fd --- /dev/null +++ b/java/src/test/java/org/msgpack/template/TestPackUnpack.java @@ -0,0 +1,326 @@ +package org.msgpack.template; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import org.junit.Test; +import org.msgpack.Packer; +import org.msgpack.Template; +import org.msgpack.Unpacker; + +import junit.framework.TestCase; + +public class TestPackUnpack extends TestCase { + @Test + public void testInteger() throws Exception { + // _testInteger(null); // FIXME + _testInteger(0); + _testInteger(-1); + _testInteger(1); + _testInteger(Integer.MIN_VALUE); + _testInteger(Integer.MAX_VALUE); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testInteger(rand.nextInt()); + } + } + + static void _testInteger(Integer src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = IntegerTemplate.getInstance(); + Integer dst = (Integer) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst); + } + + @Test + public void testLong() throws Exception { + // _testLong(null); // FIXME + _testLong((long) 0); + _testLong((long) -1); + _testLong((long) 1); + _testLong((long) Integer.MIN_VALUE); + _testLong((long) Integer.MAX_VALUE); + _testLong(Long.MIN_VALUE); + _testLong(Long.MAX_VALUE); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testLong(rand.nextLong()); + } + } + + static void _testLong(Long src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = LongTemplate.getInstance(); + Long dst = (Long) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst); + } + + @Test + public void testBigInteger() throws Exception { + // _testBigInteger(null); // FIXME + _testBigInteger(BigInteger.valueOf(0)); + _testBigInteger(BigInteger.valueOf(-1)); + _testBigInteger(BigInteger.valueOf(1)); + _testBigInteger(BigInteger.valueOf(Integer.MIN_VALUE)); + _testBigInteger(BigInteger.valueOf(Integer.MAX_VALUE)); + _testBigInteger(BigInteger.valueOf(Long.MIN_VALUE)); + _testBigInteger(BigInteger.valueOf(Long.MAX_VALUE)); + BigInteger max = BigInteger.valueOf(Long.MAX_VALUE).setBit(63); + _testBigInteger(max); + Random rand = new Random(); + for (int i = 0; i < 1000; i++) { + _testBigInteger(max.subtract(BigInteger.valueOf(Math.abs(rand + .nextLong())))); + } + } + + static void _testBigInteger(BigInteger src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack((Object) src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = BigIntegerTemplate.getInstance(); + BigInteger dst = (BigInteger) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst); + } + + @Test + public void testFloat() throws Exception { + // _testFloat(null); // FIXME + _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()); + } + } + + static void _testFloat(Float src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = FloatTemplate.getInstance(); + Float dst = (Float) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst, 10e-10); + } + + @Test + public void testDouble() throws Exception { + // _testDouble(null); // FIXME + _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()); + } + } + + static void _testDouble(Double src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = DoubleTemplate.getInstance(); + Double dst = (Double) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst, 10e-10); + } + + @Test + public void testBoolean() throws Exception { + // _testBoolean(null); // FIXME + _testBoolean(false); + _testBoolean(true); + } + + static void _testBoolean(Boolean src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = BooleanTemplate.getInstance(); + Boolean dst = (Boolean) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst); + } + + @Test + public void testString() throws Exception { + // _testString(null); // FIXME + _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()); + } + } + + static void _testString(String src) throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(src); + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + Template tmpl = StringTemplate.getInstance(); + String dst = (String) tmpl.unpack(new Unpacker(in)); + assertEquals(src, dst); + } + + @SuppressWarnings("unchecked") + @Test + public void testList() throws Exception { + // nullList // FIXME + List<Integer> emptyList = new ArrayList<Integer>(); + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(emptyList); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new ListTemplate(IntegerTemplate.getInstance()); + List<Integer> dst = (List<Integer>) tmpl.unpack(new Unpacker(in)); + assertEquals(emptyList, dst); + } + + for (int i = 0; i < 1000; i++) { + List<Integer> l = new ArrayList<Integer>(); + int len = (int) Math.random() % 1000 + 1; + for (int j = 0; j < len; j++) { + l.add(j); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(l); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new ListTemplate(IntegerTemplate.getInstance()); + List<Integer> dst = (List<Integer>) tmpl.unpack(new Unpacker(in)); + assertEquals(len, dst.size()); + for (int j = 0; j < len; j++) { + assertEquals(l.get(j), dst.get(j)); + } + } + + for (int i = 0; i < 1000; i++) { + 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)); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(l); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new ListTemplate(StringTemplate.getInstance()); + List<String> dst = (List<String>) tmpl.unpack(new Unpacker(in)); + assertEquals(len, dst.size()); + for (int j = 0; j < len; j++) { + assertEquals(l.get(j), dst.get(j)); + } + } + } + + @SuppressWarnings("unchecked") + @Test + public void testMap() throws Exception { + // nullMap // FIXME + Map<Integer, Integer> emptyMap = new HashMap<Integer, Integer>(); + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(emptyMap); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new MapTemplate(IntegerTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<Integer, Integer> dst = (Map<Integer, Integer>) tmpl + .unpack(new Unpacker(in)); + assertEquals(emptyMap, dst); + } + + for (int i = 0; i < 1000; i++) { + 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); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(m); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new MapTemplate(IntegerTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<Integer, Integer> map = (Map<Integer, Integer>) tmpl + .unpack(new Unpacker(in)); + assertEquals(len, map.size()); + for (Map.Entry<Integer, Integer> pair : map.entrySet()) { + Integer val = m.get(pair.getKey()); + assertNotNull(val); + assertEquals(val, pair.getValue()); + } + } + + for (int i = 0; i < 1000; i++) { + 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); + } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Packer(out).pack(m); + ByteArrayInputStream in = new ByteArrayInputStream(out + .toByteArray()); + Template tmpl = new MapTemplate(StringTemplate.getInstance(), + IntegerTemplate.getInstance()); + Map<String, Integer> map = (Map<String, Integer>) tmpl + .unpack(new Unpacker(in)); + assertEquals(m.size(), map.size()); + for (Map.Entry<String, Integer> pair : map.entrySet()) { + Integer val = m.get(pair.getKey()); + assertNotNull(val); + assertEquals(val, pair.getValue()); + } + } + } +} diff --git a/java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerConverter.java b/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java similarity index 99% rename from java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerConverter.java rename to java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java index bad91ce3..40fed226 100644 --- a/java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerConverter.java +++ b/java/src/test/java/org/msgpack/util/codegen/TestPackConvert.java @@ -23,7 +23,7 @@ import org.msgpack.Unpacker; import org.msgpack.annotation.MessagePackMessage; import org.msgpack.annotation.MessagePackOrdinalEnum; -public class TestDynamicCodeGenPackerConverter extends TestCase { +public class TestPackConvert extends TestCase { @Test public void testPrimitiveTypeField00s() throws Exception { diff --git a/java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerUnpacker.java b/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java similarity index 99% rename from java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerUnpacker.java rename to java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java index 27f9adbc..3222bec8 100644 --- a/java/src/test/java/org/msgpack/util/codegen/TestDynamicCodeGenPackerUnpacker.java +++ b/java/src/test/java/org/msgpack/util/codegen/TestPackUnpack.java @@ -22,7 +22,7 @@ import org.msgpack.annotation.MessagePackOrdinalEnum; import junit.framework.TestCase; -public class TestDynamicCodeGenPackerUnpacker extends TestCase { +public class TestPackUnpack extends TestCase { @Test public void testPrimitiveTypeFields00() throws Exception {