diff options
Diffstat (limited to 'test/java/com/wiredtiger/test/PackTest.java')
-rw-r--r-- | test/java/com/wiredtiger/test/PackTest.java | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/test/java/com/wiredtiger/test/PackTest.java b/test/java/com/wiredtiger/test/PackTest.java index f24ca6e2def..302313169cd 100644 --- a/test/java/com/wiredtiger/test/PackTest.java +++ b/test/java/com/wiredtiger/test/PackTest.java @@ -1,5 +1,5 @@ /*- - * Public Domain 2014-2016 MongoDB, Inc. + * Public Domain 2014-2017 MongoDB, Inc. * Public Domain 2008-2014 WiredTiger, Inc. * * This is free and unencumbered software released into the public domain. @@ -184,6 +184,47 @@ public class PackTest { } @Test + public void pack08() + throws WiredTigerPackingException { + String format = "u"; + PackOutputStream packer = new PackOutputStream(format); + PackInputStream unpacker; + byte[] b0 = {}; + byte[] b1 = { 0x00 }; + byte[] packed; + + packer.addByteArray(b0); + packed = packer.getValue(); + unpacker = new PackInputStream(format, packed); + Assert.assertTrue(java.util.Arrays.equals( + unpacker.getByteArray(), b0)); + + packer = new PackOutputStream(format); + packer.addByteArray(b1); + packed = packer.getValue(); + unpacker = new PackInputStream(format, packed); + Assert.assertTrue(java.util.Arrays.equals( + unpacker.getByteArray(), b1)); + + format = "uu"; + for (int i = 0; i < 2; i++) { + byte[] arg0 = (i == 0 ? b0 : b1); + for (int j = 0; j < 2; j++) { + byte[] arg1 = (j == 0 ? b0 : b1); + packer = new PackOutputStream(format); + packer.addByteArray(arg0); + packer.addByteArray(arg1); + packed = packer.getValue(); + unpacker = new PackInputStream(format, packed); + Assert.assertTrue(java.util.Arrays.equals( + unpacker.getByteArray(), arg0)); + Assert.assertTrue(java.util.Arrays.equals( + unpacker.getByteArray(), arg1)); + } + } + } + + @Test public void packUnpackNumber01() throws WiredTigerPackingException { // Verify that we can pack and unpack single signed longs. |