github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/core/interop/context_test.go (about)

     1  package interop
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/nspcc-dev/neo-go/pkg/config"
     7  	"github.com/nspcc-dev/neo-go/pkg/core/block"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestIsHardforkEnabled(t *testing.T) {
    12  	t.Run("not configured", func(t *testing.T) {
    13  		ic := &Context{Hardforks: map[string]uint32{config.HFAspidochelone.String(): 0, config.HFBasilisk.String(): 0}, Block: &block.Block{Header: block.Header{Index: 10}}}
    14  		require.True(t, ic.IsHardforkEnabled(config.HFAspidochelone))
    15  		require.True(t, ic.IsHardforkEnabled(config.HFBasilisk))
    16  	})
    17  	t.Run("new disabled", func(t *testing.T) {
    18  		ic := &Context{Hardforks: map[string]uint32{config.HFAspidochelone.String(): 5}, Block: &block.Block{Header: block.Header{Index: 10}}}
    19  		require.True(t, ic.IsHardforkEnabled(config.HFAspidochelone))
    20  		require.False(t, ic.IsHardforkEnabled(config.HFBasilisk))
    21  	})
    22  	t.Run("old enabled", func(t *testing.T) {
    23  		ic := &Context{Hardforks: map[string]uint32{config.HFAspidochelone.String(): 0, config.HFBasilisk.String(): 10}, Block: &block.Block{Header: block.Header{Index: 5}}}
    24  		require.True(t, ic.IsHardforkEnabled(config.HFAspidochelone))
    25  		require.False(t, ic.IsHardforkEnabled(config.HFBasilisk))
    26  	})
    27  	t.Run("not yet enabled", func(t *testing.T) {
    28  		ic := &Context{Hardforks: map[string]uint32{config.HFAspidochelone.String(): 10}, Block: &block.Block{Header: block.Header{Index: 5}}}
    29  		require.False(t, ic.IsHardforkEnabled(config.HFAspidochelone))
    30  	})
    31  	t.Run("already enabled", func(t *testing.T) {
    32  		ic := &Context{Hardforks: map[string]uint32{config.HFAspidochelone.String(): 10}, Block: &block.Block{Header: block.Header{Index: 15}}}
    33  		require.True(t, ic.IsHardforkEnabled(config.HFAspidochelone))
    34  	})
    35  }