github.com/koko1123/flow-go-1@v0.29.6/module/mempool/stdmap/backdata/mapBackData_test.go (about)

     1  package backdata
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/koko1123/flow-go-1/utils/unittest"
     9  )
    10  
    11  func TestMapBackData_StoreAnd(t *testing.T) {
    12  	backData := NewMapBackData()
    13  	entities := unittest.EntityListFixture(100)
    14  
    15  	// Add
    16  	for _, e := range entities {
    17  		// all entities must be stored successfully
    18  		require.True(t, backData.Add(e.ID(), e))
    19  	}
    20  
    21  	// ByID
    22  	for _, expected := range entities {
    23  		// all entities must be retrievable successfully
    24  		actual, ok := backData.ByID(expected.ID())
    25  		require.True(t, ok)
    26  		require.Equal(t, expected, actual)
    27  	}
    28  
    29  	// All
    30  	all := backData.All()
    31  	require.Equal(t, len(entities), len(all))
    32  	for _, expected := range entities {
    33  		actual, ok := backData.ByID(expected.ID())
    34  		require.True(t, ok)
    35  		require.Equal(t, expected, actual)
    36  	}
    37  
    38  	// Identifiers
    39  	ids := backData.Identifiers()
    40  	require.Equal(t, len(entities), len(ids))
    41  	for _, id := range ids {
    42  		require.True(t, backData.Has(id))
    43  	}
    44  
    45  	// Entities
    46  	actualEntities := backData.Entities()
    47  	require.Equal(t, len(entities), len(actualEntities))
    48  	require.ElementsMatch(t, entities, actualEntities)
    49  }