Browse Source

Added test cases for compressor to improve testing coverage

Phillip Couto 11 years ago
parent
commit
8e84296721
1 changed files with 38 additions and 0 deletions
  1. 38 0
      compressor_test.go

+ 38 - 0
compressor_test.go

@@ -0,0 +1,38 @@
+package gocql
+
+import (
+	"bytes"
+	"code.google.com/p/snappy-go/snappy"
+	"testing"
+)
+
+func TestSnappyCompressor(t *testing.T) {
+	c := SnappyCompressor{}
+	if c.Name() != "snappy" {
+		t.Fatalf("expected name to be 'snappy', got %v", c.Name())
+	}
+
+	str := "My Test String"
+	//Test Encoding
+	if expected, err := snappy.Encode(nil, []byte(str)); err != nil {
+		t.Fatalf("failed to encode '%v' with error %v", str, err)
+	} else if res, err := c.Encode([]byte(str)); err != nil {
+		t.Fatalf("failed to encode '%v' with error %v", str, err)
+	} else if bytes.Compare(expected, res) != 0 {
+		t.Fatal("failed to match the expected encoded value with the result encoded value.")
+	}
+
+	val, err := c.Encode([]byte(str))
+	if err != nil {
+		t.Fatalf("failed to encode '%v' with error '%v'", str, err)
+	}
+
+	//Test Decoding
+	if expected, err := snappy.Decode(nil, val); err != nil {
+		t.Fatalf("failed to decode '%v' with error %v", val, err)
+	} else if res, err := c.Decode(val); err != nil {
+		t.Fatalf("failed to decode '%v' with error %v", val, err)
+	} else if bytes.Compare(expected, res) != 0 {
+		t.Fatal("failed to match the expected decoded value with the result decoded value.")
+	}
+}