github.com/algorand/go-algorand-sdk@v1.24.0/types/address_test.go (about) 1 package types 2 3 import ( 4 "crypto/rand" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func randomBytes(s []byte) { 11 _, err := rand.Read(s) 12 if err != nil { 13 panic(err) 14 } 15 } 16 17 func TestEncodeDecode(t *testing.T) { 18 a := Address{} 19 for i := 0; i < 1000; i++ { 20 randomBytes(a[:]) 21 22 addr, err := EncodeAddress(a[:]) 23 require.NoError(t, err) 24 25 b, err := DecodeAddress(addr) 26 require.NoError(t, err) 27 28 require.Equal(t, a, b) 29 } 30 } 31 32 func TestGoldenValues(t *testing.T) { 33 golden := "7777777777777777777777777777777777777777777777777774MSJUVU" 34 a := Address{} 35 for i := 0; i < len(a); i++ { 36 a[i] = byte(0xFF) 37 } 38 require.Equal(t, golden, a.String()) 39 }