summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-19 13:29:20 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-20 12:23:29 +0100
commit61bda66d5b7789a1deb580992ff4adf2835def47 (patch)
tree98ad497b1053c93d30a0b95c6f947b4eda14e8ff /vespajlib/src/test
parentc68838b159e51eeb6810a1d8689d09f6494a9554 (diff)
Add zstd support to Compressor
Introduce zstandard compression using airlift aircompressor - a pure Java implementation.
Diffstat (limited to 'vespajlib/src/test')
-rw-r--r--vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java27
-rw-r--r--vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java22
2 files changed, 49 insertions, 0 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java b/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java
new file mode 100644
index 00000000000..0c6af48deb8
--- /dev/null
+++ b/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java
@@ -0,0 +1,27 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.compress;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * @author bjorncs
+ */
+class CompressorTest {
+
+ @Test
+ void compresses_and_decompresses_input_using_zstd() {
+ byte[] inputData = "The quick brown fox jumps over the lazy dog".getBytes();
+ Compressor compressor = new Compressor(CompressionType.ZSTD);
+ Compressor.Compression compression = compressor.compress(CompressionType.ZSTD, inputData, Optional.empty());
+ assertEquals(inputData.length, compression.uncompressedSize());
+ byte[] compressedData = compression.data();
+ byte[] decompressedData = compressor.decompress(CompressionType.ZSTD, compressedData, 0, inputData.length, Optional.of(compressedData.length));
+ assertArrayEquals(inputData, decompressedData);
+ }
+
+}
diff --git a/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java b/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java
new file mode 100644
index 00000000000..837482a089a
--- /dev/null
+++ b/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java
@@ -0,0 +1,22 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.compress;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+
+/**
+ * @author bjorncs
+ */
+class ZstdCompressorTest {
+
+ @Test
+ void compresses_and_decompresses_input() {
+ byte[] inputData = "The quick brown fox jumps over the lazy dog".getBytes();
+ ZstdCompressor compressor = new ZstdCompressor();
+ byte[] compressedData = compressor.compress(inputData, 0, inputData.length);
+ byte[] decompressedData = compressor.decompress(compressedData, 0, compressedData.length);
+ assertArrayEquals(inputData, decompressedData);
+ }
+
+} \ No newline at end of file