encoding_test.go 1011 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package ethutil
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestCompactEncode(t *testing.T) {
  7. test1 := []int{1, 2, 3, 4, 5}
  8. if res := CompactEncode(test1); res != "\x11\x23\x45" {
  9. t.Error(fmt.Sprintf("even compact encode failed. Got: %q", res))
  10. }
  11. test2 := []int{0, 1, 2, 3, 4, 5}
  12. if res := CompactEncode(test2); res != "\x00\x01\x23\x45" {
  13. t.Error(fmt.Sprintf("odd compact encode failed. Got: %q", res))
  14. }
  15. test3 := []int{0, 15, 1, 12, 11, 8 /*term*/, 16}
  16. if res := CompactEncode(test3); res != "\x20\x0f\x1c\xb8" {
  17. t.Error(fmt.Sprintf("odd terminated compact encode failed. Got: %q", res))
  18. }
  19. test4 := []int{15, 1, 12, 11, 8 /*term*/, 16}
  20. if res := CompactEncode(test4); res != "\x3f\x1c\xb8" {
  21. t.Error(fmt.Sprintf("even terminated compact encode failed. Got: %q", res))
  22. }
  23. }
  24. func TestCompactHexDecode(t *testing.T) {
  25. exp := []int{7, 6, 6, 5, 7, 2, 6, 2, 16}
  26. res := CompactHexDecode("verb")
  27. if !CompareIntSlice(res, exp) {
  28. t.Error("Error compact hex decode. Expected", exp, "got", res)
  29. }
  30. }