github.com/MetalBlockchain/metalgo@v1.11.9/snow/choices/status_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 choices
     5  
     6  import (
     7  	"math"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestStatusValid(t *testing.T) {
    14  	require := require.New(t)
    15  
    16  	require.NoError(Accepted.Valid())
    17  	require.NoError(Rejected.Valid())
    18  	require.NoError(Processing.Valid())
    19  	require.NoError(Unknown.Valid())
    20  	err := Status(math.MaxInt32).Valid()
    21  	require.ErrorIs(err, errUnknownStatus)
    22  }
    23  
    24  func TestStatusDecided(t *testing.T) {
    25  	require := require.New(t)
    26  
    27  	require.True(Accepted.Decided())
    28  	require.True(Rejected.Decided())
    29  	require.False(Processing.Decided())
    30  	require.False(Unknown.Decided())
    31  	require.False(Status(math.MaxInt32).Decided())
    32  }
    33  
    34  func TestStatusFetched(t *testing.T) {
    35  	require := require.New(t)
    36  
    37  	require.True(Accepted.Fetched())
    38  	require.True(Rejected.Fetched())
    39  	require.True(Processing.Fetched())
    40  	require.False(Unknown.Fetched())
    41  	require.False(Status(math.MaxInt32).Fetched())
    42  }
    43  
    44  func TestStatusString(t *testing.T) {
    45  	require := require.New(t)
    46  
    47  	require.Equal("Accepted", Accepted.String())
    48  	require.Equal("Rejected", Rejected.String())
    49  	require.Equal("Processing", Processing.String())
    50  	require.Equal("Unknown", Unknown.String())
    51  	require.Equal("Invalid status", Status(math.MaxInt32).String())
    52  }