diff --git a/serialize/base36/base36_test.go b/serialize/base36/base36_test.go new file mode 100644 index 0000000..7e8aaf5 --- /dev/null +++ b/serialize/base36/base36_test.go @@ -0,0 +1,42 @@ +package base36 + +import ( + "fmt" + "testing" +) + +func FuzzEncode(f *testing.F) { + testCases := []string{"a", "abc", "uuid"} + for _, tc := range testCases { + f.Add(tc) + } + f.Fuzz(func(t *testing.T, a string) { + encoded := Encode([]byte(a)) + redecoded, err := Decode(encoded) + fmt.Printf("Origin: %s, Encoded: %s\n", a, encoded) + if err != nil { + t.Errorf("Decode(%q) failed: %v", encoded, err) + } + if string(redecoded) != a { + t.Errorf("Decode(%q) = %q, want %q", encoded, redecoded, a) + } + }) +} + +func FuzzEncodeInt64(f *testing.F) { + testCases := []int64{1, 6, 34598347534, 234532543, 2342546456, 34587639284756293} + for _, tc := range testCases { + f.Add(tc) + } + f.Fuzz(func(t *testing.T, a int64) { + encoded := EncodeInt64(a) + redecoded, err := DecodeToInt64(encoded) + fmt.Printf("Origin: %d, Encoded: %s\n", a, encoded) + if err != nil { + t.Errorf("Decode(%q) failed: %v", encoded, err) + } + if redecoded != a { + t.Errorf("Decode(%q) = %q, want %q", encoded, redecoded, a) + } + }) +}