summaryrefslogtreecommitdiff
path: root/java/src/test
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-08-19 01:19:34 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-08-19 01:19:34 +0900
commitb4c98584db002cbb4d3960b6ed025212248dcce8 (patch)
treeeb1447469b02b154482e0513db3222e4e205bc3f /java/src/test
parent1d17836b7d2eb4e5e0f25d2466df70e137642061 (diff)
downloadmsgpack-python-b4c98584db002cbb4d3960b6ed025212248dcce8.tar.gz
java: adds Unpacker.unpackBigInteger()
Diffstat (limited to 'java/src/test')
-rw-r--r--java/src/test/java/org/msgpack/TestDirectConversion.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/java/src/test/java/org/msgpack/TestDirectConversion.java b/java/src/test/java/org/msgpack/TestDirectConversion.java
index dbacf01..1822ecb 100644
--- a/java/src/test/java/org/msgpack/TestDirectConversion.java
+++ b/java/src/test/java/org/msgpack/TestDirectConversion.java
@@ -3,6 +3,7 @@ package org.msgpack;
import org.msgpack.*;
import java.io.*;
import java.util.*;
+import java.math.BigInteger;
import org.junit.Test;
import static org.junit.Assert.*;
@@ -49,6 +50,29 @@ public class TestDirectConversion {
}
@Test
+ public void testBigInteger() throws Exception {
+ 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()) )) );
+ }
+ public void testBigInteger(BigInteger val) throws Exception {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ new Packer(out).pack(val);
+ ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+ Unpacker pac = new Unpacker(in);
+ assertEquals(val, pac.unpackBigInteger());
+ }
+
+ @Test
public void testFloat() throws Exception {
testFloat((float)0.0);
testFloat((float)-0.0);