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  }