batch_test.go 838 Bytes
Newer Older
1 2 3 4 5
package derive

import (
	"testing"

6
	"github.com/stretchr/testify/assert"
7

8
	"github.com/ethereum/go-ethereum/common"
9 10 11 12 13 14 15
	"github.com/ethereum/go-ethereum/common/hexutil"
)

func TestBatchRoundTrip(t *testing.T) {
	batches := []*BatchData{
		{
			BatchV1: BatchV1{
16
				ParentHash:   common.Hash{},
protolambda's avatar
protolambda committed
17
				EpochNum:     0,
18 19 20 21 22 23
				Timestamp:    0,
				Transactions: []hexutil.Bytes{},
			},
		},
		{
			BatchV1: BatchV1{
24
				ParentHash:   common.Hash{31: 0x42},
protolambda's avatar
protolambda committed
25
				EpochNum:     1,
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
				Timestamp:    1647026951,
				Transactions: []hexutil.Bytes{[]byte{0, 0, 0}, []byte{0x76, 0xfd, 0x7c}},
			},
		},
	}

	for i, batch := range batches {
		enc, err := batch.MarshalBinary()
		assert.NoError(t, err)
		var dec BatchData
		err = dec.UnmarshalBinary(enc)
		assert.NoError(t, err)
		assert.Equal(t, batch, &dec, "Batch not equal test case %v", i)
	}
}