github.com/MetalBlockchain/metalgo@v1.11.9/vms/proposervm/summary/parse_test.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package summary 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 11 "github.com/MetalBlockchain/metalgo/codec" 12 ) 13 14 func TestParse(t *testing.T) { 15 require := require.New(t) 16 17 forkHeight := uint64(2022) 18 block := []byte("blockBytes") 19 coreSummary := []byte("coreSummary") 20 builtSummary, err := Build(forkHeight, block, coreSummary) 21 require.NoError(err) 22 23 summaryBytes := builtSummary.Bytes() 24 parsedSummary, err := Parse(summaryBytes) 25 require.NoError(err) 26 27 require.Equal(builtSummary.Bytes(), parsedSummary.Bytes()) 28 require.Equal(builtSummary.ID(), parsedSummary.ID()) 29 require.Equal(builtSummary.ForkHeight(), parsedSummary.ForkHeight()) 30 require.Equal(builtSummary.BlockBytes(), parsedSummary.BlockBytes()) 31 require.Equal(builtSummary.InnerSummaryBytes(), parsedSummary.InnerSummaryBytes()) 32 } 33 34 func TestParseGibberish(t *testing.T) { 35 require := require.New(t) 36 37 bytes := []byte{0, 1, 2, 3, 4, 5} 38 39 _, err := Parse(bytes) 40 require.ErrorIs(err, codec.ErrUnknownVersion) 41 }