diff src/test/java/org/msgpack/template/TestBigIntegerTemplate.java @ 0:cb825acd883a

first commit
author sugi
date Sat, 18 Oct 2014 15:06:15 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/org/msgpack/template/TestBigIntegerTemplate.java	Sat Oct 18 15:06:15 2014 +0900
@@ -0,0 +1,125 @@
+package org.msgpack.template;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.math.BigInteger;
+
+import org.junit.Test;
+import org.msgpack.MessagePack;
+import org.msgpack.TestSet;
+import org.msgpack.packer.BufferPacker;
+import org.msgpack.packer.Packer;
+import org.msgpack.unpacker.BufferUnpacker;
+import org.msgpack.unpacker.Unpacker;
+
+
+public class TestBigIntegerTemplate {
+
+    @Test
+    public void testPackUnpack() throws Exception {
+	new TestPackUnpack().testBigInteger();
+    }
+
+    @Test
+    public void testPackBufferUnpack() throws Exception {
+	new TestPackBufferUnpack().testBigInteger();
+    }
+
+    @Test
+    public void testBufferPackBufferUnpack() throws Exception {
+	new TestBufferPackBufferUnpack().testBigInteger();
+    }
+
+    @Test
+    public void testBufferPackUnpack() throws Exception {
+	new TestBufferPackUnpack().testBigInteger();
+    }
+
+    private static class TestPackUnpack extends TestSet {
+	@Test @Override
+	public void testBigInteger() throws Exception {
+	    super.testBigInteger();
+	}
+
+	@Override
+	public void testBigInteger(BigInteger v) throws Exception {
+	    MessagePack msgpack = new MessagePack();
+	    Template<BigInteger> tmpl = BigIntegerTemplate.instance;
+	    ByteArrayOutputStream out = new ByteArrayOutputStream();
+	    Packer packer = msgpack.createPacker(out);
+	    tmpl.write(packer, v);
+	    byte[] bytes = out.toByteArray();
+	    Unpacker unpacker = msgpack.createUnpacker(new ByteArrayInputStream(bytes));
+	    unpacker.resetReadByteCount();
+	    BigInteger ret = tmpl.read(unpacker, null);
+	    assertEquals(v, ret);
+	    assertEquals(bytes.length, unpacker.getReadByteCount());
+	}
+    }
+
+    private static class TestPackBufferUnpack extends TestSet {
+	@Test @Override
+	public void testBigInteger() throws Exception {
+	    super.testBigInteger();
+	}
+
+	@Override
+	public void testBigInteger(BigInteger v) throws Exception {
+	    MessagePack msgpack = new MessagePack();
+	    Template<BigInteger> tmpl = BigIntegerTemplate.instance;
+	    ByteArrayOutputStream out = new ByteArrayOutputStream();
+	    Packer packer = msgpack.createPacker(out);
+	    tmpl.write(packer, v);
+	    byte[] bytes = out.toByteArray();
+	    BufferUnpacker unpacker = msgpack.createBufferUnpacker(bytes);
+	    unpacker.resetReadByteCount();
+	    BigInteger ret = tmpl.read(unpacker, null);
+	    assertEquals(v, ret);
+	    assertEquals(bytes.length, unpacker.getReadByteCount());
+	}
+    }
+
+    private static class TestBufferPackBufferUnpack extends TestSet {
+	@Test @Override
+	public void testBigInteger() throws Exception {
+	    super.testBigInteger();
+	}
+
+	@Override
+	public void testBigInteger(BigInteger v) throws Exception {
+	    MessagePack msgpack = new MessagePack();
+	    Template<BigInteger> tmpl = BigIntegerTemplate.instance;
+	    BufferPacker packer = msgpack.createBufferPacker();
+	    tmpl.write(packer, v);
+	    byte[] bytes = packer.toByteArray();
+	    BufferUnpacker unpacker = msgpack.createBufferUnpacker(bytes);
+	    unpacker.resetReadByteCount();
+	    BigInteger ret = tmpl.read(unpacker, null);
+	    assertEquals(v, ret);
+	    assertEquals(bytes.length, unpacker.getReadByteCount());
+	}
+    }
+
+    private static class TestBufferPackUnpack extends TestSet {
+	@Test @Override
+	public void testBigInteger() throws Exception {
+	    super.testBigInteger();
+	}
+
+	@Override
+	public void testBigInteger(BigInteger v) throws Exception {
+	    MessagePack msgpack = new MessagePack();
+	    Template<BigInteger> tmpl = BigIntegerTemplate.instance;
+	    BufferPacker packer = msgpack.createBufferPacker();
+	    tmpl.write(packer, v);
+	    byte[] bytes = packer.toByteArray();
+	    Unpacker unpacker = msgpack.createUnpacker(new ByteArrayInputStream(bytes));
+	    unpacker.resetReadByteCount();
+	    BigInteger ret = tmpl.read(unpacker, null);
+	    assertEquals(v, ret);
+	    assertEquals(bytes.length, unpacker.getReadByteCount());
+	}
+    }
+}