github.com/MetalBlockchain/metalgo@v1.11.9/snow/engine/avalanche/vertex/builder_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 vertex
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/MetalBlockchain/metalgo/ids"
    12  )
    13  
    14  func TestBuildDuplicateTxs(t *testing.T) {
    15  	require := require.New(t)
    16  
    17  	chainID := ids.ID{1}
    18  	height := uint64(2)
    19  	parentIDs := []ids.ID{{4}, {5}}
    20  	txs := [][]byte{{6}, {6}}
    21  	_, err := Build(
    22  		chainID,
    23  		height,
    24  		parentIDs,
    25  		txs,
    26  	)
    27  	require.ErrorIs(err, errInvalidTxs)
    28  }
    29  
    30  func TestBuildValid(t *testing.T) {
    31  	require := require.New(t)
    32  
    33  	chainID := ids.ID{1}
    34  	height := uint64(2)
    35  	parentIDs := []ids.ID{{4}, {5}}
    36  	txs := [][]byte{{7}, {6}}
    37  	vtx, err := Build(
    38  		chainID,
    39  		height,
    40  		parentIDs,
    41  		txs,
    42  	)
    43  	require.NoError(err)
    44  	require.Equal(chainID, vtx.ChainID())
    45  	require.Equal(height, vtx.Height())
    46  	require.Equal(parentIDs, vtx.ParentIDs())
    47  	require.Equal(txs, vtx.Txs())
    48  }