compressor_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package gocql
  2. import (
  3. "bytes"
  4. "code.google.com/p/snappy-go/snappy"
  5. "testing"
  6. )
  7. func TestSnappyCompressor(t *testing.T) {
  8. c := SnappyCompressor{}
  9. if c.Name() != "snappy" {
  10. t.Fatalf("expected name to be 'snappy', got %v", c.Name())
  11. }
  12. str := "My Test String"
  13. //Test Encoding
  14. if expected, err := snappy.Encode(nil, []byte(str)); err != nil {
  15. t.Fatalf("failed to encode '%v' with error %v", str, err)
  16. } else if res, err := c.Encode([]byte(str)); err != nil {
  17. t.Fatalf("failed to encode '%v' with error %v", str, err)
  18. } else if bytes.Compare(expected, res) != 0 {
  19. t.Fatal("failed to match the expected encoded value with the result encoded value.")
  20. }
  21. val, err := c.Encode([]byte(str))
  22. if err != nil {
  23. t.Fatalf("failed to encode '%v' with error '%v'", str, err)
  24. }
  25. //Test Decoding
  26. if expected, err := snappy.Decode(nil, val); err != nil {
  27. t.Fatalf("failed to decode '%v' with error %v", val, err)
  28. } else if res, err := c.Decode(val); err != nil {
  29. t.Fatalf("failed to decode '%v' with error %v", val, err)
  30. } else if bytes.Compare(expected, res) != 0 {
  31. t.Fatal("failed to match the expected decoded value with the result decoded value.")
  32. }
  33. }