github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/encoding/base58/base58_test.go (about) 1 package base58 2 3 import ( 4 "encoding/hex" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestCheckEncodeDecode(t *testing.T) { 12 var b58CsumEncoded = "KxhEDBQyyEFymvfJD96q8stMbJMbZUb6D1PmXqBWZDU2WvbvVs9o" 13 var b58CsumDecodedHex = "802bfe58ab6d9fd575bdc3a624e4825dd2b375d64ac033fbc46ea79dbab4f69a3e01" 14 15 b58CsumDecoded, _ := hex.DecodeString(b58CsumDecodedHex) 16 encoded := CheckEncode(b58CsumDecoded) 17 decoded, err := CheckDecode(b58CsumEncoded) 18 assert.Nil(t, err) 19 assert.Equal(t, encoded, b58CsumEncoded) 20 assert.Equal(t, decoded, b58CsumDecoded) 21 } 22 23 func TestCheckDecodeFailures(t *testing.T) { 24 badbase58 := "BASE%*" 25 _, err := CheckDecode(badbase58) 26 assert.NotNil(t, err) 27 shortbase58 := "THqY" 28 _, err = CheckDecode(shortbase58) 29 assert.NotNil(t, err) 30 badcsum := "KxhEDBQyyEFymvfJD96q8stMbJMbZUb6D1PmXqBWZDU2WvbvVs9A" 31 _, err = CheckDecode(badcsum) 32 assert.NotNil(t, err) 33 } 34 35 func TestBase58LeadingZeroes(t *testing.T) { 36 buf := []byte{0, 0, 0, 1} 37 b58 := CheckEncode(buf) 38 dec, err := CheckDecode(b58) 39 require.NoError(t, err) 40 require.Equal(t, buf, dec) 41 }