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 }