Skip to content
Snippets Groups Projects
collective_beacon_test.go 1.23 KiB
package collectiveBeacon

import (
	"testing"

	"github.com/iotaledger/goshimmer/packages/binary/drng/payload/header"
	"github.com/iotaledger/goshimmer/packages/binary/marshalutil"
	"github.com/stretchr/testify/require"
)

func TestParse(t *testing.T) {
	header := header.New(header.CollectiveBeaconType(), 0)
	payload := New(header.Instance(),
		0,
		[]byte("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), // prevSignature
		[]byte("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"), // signature
		[]byte("CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"))                                                 // distributed PK
	bytes := payload.Bytes()

	marshalUtil := marshalutil.New(bytes)
	parsedPayload, err := Parse(marshalUtil)
	require.NoError(t, err)

	require.Equal(t, payload.SubType(), parsedPayload.SubType())
	require.Equal(t, payload.Instance(), parsedPayload.Instance())
	require.Equal(t, payload.Round(), parsedPayload.Round())
	require.Equal(t, payload.PrevSignature(), parsedPayload.PrevSignature())
	require.Equal(t, payload.Signature(), parsedPayload.Signature())
	require.Equal(t, payload.DistributedPK(), parsedPayload.DistributedPK())
}