github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/testing/chain_test.go (about)

     1  package ibctesting_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	tmtypes "github.com/fibonacci-chain/fbc/libs/tendermint/types"
     7  	"github.com/stretchr/testify/require"
     8  
     9  	ibctesting "github.com/fibonacci-chain/fbc/libs/ibc-go/testing"
    10  	"github.com/fibonacci-chain/fbc/libs/ibc-go/testing/mock"
    11  )
    12  
    13  func TestCreateSortedSignerArray(t *testing.T) {
    14  	privVal1 := mock.NewPV()
    15  	pubKey1, err := privVal1.GetPubKey()
    16  	require.NoError(t, err)
    17  
    18  	privVal2 := mock.NewPV()
    19  	pubKey2, err := privVal2.GetPubKey()
    20  	require.NoError(t, err)
    21  
    22  	validator1 := tmtypes.NewValidator(pubKey1, 1)
    23  	validator2 := tmtypes.NewValidator(pubKey2, 2)
    24  
    25  	expected := []tmtypes.PrivValidator{privVal2, privVal1}
    26  
    27  	actual := ibctesting.CreateSortedSignerArray(privVal1, privVal2, validator1, validator2)
    28  	require.Equal(t, expected, actual)
    29  
    30  	// swap order
    31  	actual = ibctesting.CreateSortedSignerArray(privVal2, privVal1, validator2, validator1)
    32  	require.Equal(t, expected, actual)
    33  
    34  	// smaller address
    35  	validator1.Address = []byte{1}
    36  	validator2.Address = []byte{2}
    37  	validator2.VotingPower = 1
    38  
    39  	expected = []tmtypes.PrivValidator{privVal1, privVal2}
    40  
    41  	actual = ibctesting.CreateSortedSignerArray(privVal1, privVal2, validator1, validator2)
    42  	require.Equal(t, expected, actual)
    43  
    44  	// swap order
    45  	actual = ibctesting.CreateSortedSignerArray(privVal2, privVal1, validator2, validator1)
    46  	require.Equal(t, expected, actual)
    47  }