package types
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/tendermint/tendermint/libs/bits"
|
|
)
|
|
|
|
func TestCopy(t *testing.T) {
|
|
t.Run("VerifyShallowCopy", func(t *testing.T) {
|
|
prsOne := PeerRoundState{}
|
|
prsOne.Prevotes = bits.NewBitArray(12)
|
|
prsTwo := prsOne
|
|
|
|
prsOne.Prevotes.SetIndex(1, true)
|
|
|
|
require.Equal(t, prsOne.Prevotes, prsTwo.Prevotes)
|
|
})
|
|
t.Run("DeepCopy", func(t *testing.T) {
|
|
prsOne := PeerRoundState{}
|
|
prsOne.Prevotes = bits.NewBitArray(12)
|
|
prsTwo := prsOne.Copy()
|
|
|
|
prsOne.Prevotes.SetIndex(1, true)
|
|
|
|
require.NotEqual(t, prsOne.Prevotes, prsTwo.Prevotes)
|
|
})
|
|
}
|