summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'test/com/isode/stroke/compress/ZLibDecompressorTest.java')
-rw-r--r--test/com/isode/stroke/compress/ZLibDecompressorTest.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/test/com/isode/stroke/compress/ZLibDecompressorTest.java b/test/com/isode/stroke/compress/ZLibDecompressorTest.java
new file mode 100644
index 0000000..838a324
--- /dev/null
+++ b/test/com/isode/stroke/compress/ZLibDecompressorTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2010 Remko Tron¨on
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+/*
+ * Copyright (c) 2010-2011, Isode Limited, London, England.
+ * All rights reserved.
+ */
+package com.isode.stroke.compress;
+
+import com.isode.stroke.base.ByteArray;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author Kev
+ */
+public class ZLibDecompressorTest {
+
+ @Test
+ public void testProcess() throws ZLibException {
+ ZLibDecompressor testling = new ZLibDecompressor();
+ ByteArray result = testling.process(ZLibCompressorTest.unhex("78da4acbcf07000000ffff"));
+
+ assertEquals(new ByteArray("foo"), result);
+ }
+
+ @Test
+ public void testProcess_Twice() throws ZLibException {
+ ZLibDecompressor testling = new ZLibDecompressor();
+ testling.process(ZLibCompressorTest.unhex("78da4acbcf07000000ffff"));
+ ByteArray result = testling.process(ZLibCompressorTest.unhex("4a4a2c02000000ffff"));
+
+ assertEquals(new ByteArray("bar"), result);
+ }
+
+ @Test(expected = ZLibException.class)
+ public void testProcess_Invalid() throws ZLibException {
+ ZLibDecompressor testling = new ZLibDecompressor();
+ testling.process(new ByteArray("invalid"));
+ }
+
+ @Test
+ public void testProcess_Huge() throws ZLibException {
+ ByteArray data = new ByteArray();
+ for (int i = 0; i < 2048; ++i) {
+ data.append((byte) i);
+ }
+ ByteArray original = new ByteArray(data);
+ ByteArray compressed = new ZLibCompressor().process(original);
+ ByteArray decompressed = new ZLibDecompressor().process(compressed);
+
+ assertEquals(original, decompressed);
+ }
+
+ @Test
+ public void testProcess_ChunkSize() throws ZLibException {
+ ByteArray data = new ByteArray();
+ for (int i = 0; i < 1024; ++i) {
+ data.append((byte) i);
+ }
+ ByteArray original = new ByteArray(data);
+ ByteArray compressed = new ZLibCompressor().process(original);
+ ByteArray decompressed = new ZLibDecompressor().process(compressed);
+
+ assertEquals(original, decompressed);
+ }
+}