aboutsummaryrefslogtreecommitdiff
path: root/weed/compress/compression_test.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2016-06-02 18:09:14 -0700
committerChris Lu <chris.lu@gmail.com>2016-06-02 18:09:14 -0700
commit5ce6bbf07672bf3f3c8d26cd2ce0e3e853a47c44 (patch)
tree2e4dd2ad0a618ab2b7cdebcdb9c503526c31e2e8 /weed/compress/compression_test.go
parentcaeffa3998adc060fa66c4cd77af971ff2d26c57 (diff)
downloadseaweedfs-5ce6bbf07672bf3f3c8d26cd2ce0e3e853a47c44.tar.xz
seaweedfs-5ce6bbf07672bf3f3c8d26cd2ce0e3e853a47c44.zip
directory structure change to work with glide
glide has its own requirements. My previous workaround caused me some code checkin errors. Need to fix this.
Diffstat (limited to 'weed/compress/compression_test.go')
-rw-r--r--weed/compress/compression_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/weed/compress/compression_test.go b/weed/compress/compression_test.go
new file mode 100644
index 000000000..83b7c0055
--- /dev/null
+++ b/weed/compress/compression_test.go
@@ -0,0 +1,45 @@
+package compress
+
+import (
+ "math/rand"
+ "testing"
+)
+
+func TestSortedData(t *testing.T) {
+ data := make([]int32, 102400)
+ for i := 1; i < len(data); i++ {
+ data[i] = data[i-1] + rand.Int31n(15)
+ }
+ testCompressAndUncompress(t, data, "Sorted data")
+}
+
+func TestUnsortedData(t *testing.T) {
+ data := make([]int32, 102400)
+ for i := 0; i < len(data); i++ {
+ data[i] = rand.Int31n(255)
+ }
+ testCompressAndUncompress(t, data, "Unsorted data")
+}
+
+func testCompressAndUncompress(t *testing.T, data []int32, desc string) {
+
+ compressed_data, err := Compress32(data)
+ if err != nil {
+ t.Fatal("Compress error", err.Error())
+ }
+ uncompressed_data, err := Uncompress32(compressed_data, make([]int32, len(data)*2))
+ if err != nil {
+ t.Fatal("Compress error", err.Error())
+ }
+ if len(uncompressed_data) != len(data) {
+ t.Fatal("Len differs", len(data), len(uncompressed_data))
+ }
+ for i := 0; i < len(data); i++ {
+ if data[i] != uncompressed_data[i] {
+ t.Fatal("Data differs:", i, data[i], uncompressed_data[i])
+ }
+ }
+
+ println(desc, " Data length:", len(data), " => Compressed length:", len(compressed_data))
+
+}