github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/core/state/trailing_slot_state_cache_test.go (about)

     1  package state_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	types "github.com/prysmaticlabs/eth2-types"
     8  	"github.com/prysmaticlabs/prysm/beacon-chain/core/state"
     9  	"github.com/prysmaticlabs/prysm/shared/testutil"
    10  	"github.com/prysmaticlabs/prysm/shared/testutil/require"
    11  )
    12  
    13  func TestTrailingSlotState_RoundTrip(t *testing.T) {
    14  	ctx := context.Background()
    15  	r := []byte{'a'}
    16  	s, err := state.NextSlotState(ctx, r)
    17  	require.NoError(t, err)
    18  	require.Equal(t, nil, s)
    19  
    20  	s, _ = testutil.DeterministicGenesisState(t, 1)
    21  	require.NoError(t, state.UpdateNextSlotCache(ctx, r, s))
    22  	s, err = state.NextSlotState(ctx, r)
    23  	require.NoError(t, err)
    24  	require.Equal(t, types.Slot(1), s.Slot())
    25  
    26  	require.NoError(t, state.UpdateNextSlotCache(ctx, r, s))
    27  	s, err = state.NextSlotState(ctx, r)
    28  	require.NoError(t, err)
    29  	require.Equal(t, types.Slot(2), s.Slot())
    30  }