github.com/cosmos/cosmos-sdk@v0.50.10/x/group/internal/orm/example_test.go (about)

     1  package orm
     2  
     3  import (
     4  	"github.com/cosmos/cosmos-sdk/codec"
     5  	"github.com/cosmos/cosmos-sdk/testutil/testdata"
     6  )
     7  
     8  type TestKeeper struct {
     9  	autoUInt64Table                     *AutoUInt64Table
    10  	primaryKeyTable                     *PrimaryKeyTable
    11  	autoUInt64TableModelByMetadataIndex Index
    12  	primaryKeyTableModelByNameIndex     Index
    13  	primaryKeyTableModelByNumberIndex   Index
    14  	primaryKeyTableModelByMetadataIndex Index
    15  }
    16  
    17  var (
    18  	AutoUInt64TablePrefix                     = [2]byte{0x0}
    19  	PrimaryKeyTablePrefix                     = [2]byte{0x1}
    20  	AutoUInt64TableSeqPrefix             byte = 0x2
    21  	AutoUInt64TableModelByMetadataPrefix byte = 0x4
    22  	PrimaryKeyTableModelByNamePrefix     byte = 0x5
    23  	PrimaryKeyTableModelByNumberPrefix   byte = 0x6
    24  	PrimaryKeyTableModelByMetadataPrefix byte = 0x7
    25  )
    26  
    27  func NewTestKeeper(cdc codec.Codec) TestKeeper {
    28  	k := TestKeeper{}
    29  	var err error
    30  
    31  	k.autoUInt64Table, err = NewAutoUInt64Table(AutoUInt64TablePrefix, AutoUInt64TableSeqPrefix, &testdata.TableModel{}, cdc)
    32  	if err != nil {
    33  		panic(err.Error())
    34  	}
    35  	k.autoUInt64TableModelByMetadataIndex, err = NewIndex(k.autoUInt64Table, AutoUInt64TableModelByMetadataPrefix, func(val interface{}) ([]interface{}, error) {
    36  		return []interface{}{val.(*testdata.TableModel).Metadata}, nil
    37  	}, testdata.TableModel{}.Metadata)
    38  	if err != nil {
    39  		panic(err.Error())
    40  	}
    41  
    42  	k.primaryKeyTable, err = NewPrimaryKeyTable(PrimaryKeyTablePrefix, &testdata.TableModel{}, cdc)
    43  	if err != nil {
    44  		panic(err.Error())
    45  	}
    46  	k.primaryKeyTableModelByNameIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByNamePrefix, func(val interface{}) ([]interface{}, error) {
    47  		return []interface{}{val.(*testdata.TableModel).Name}, nil
    48  	}, testdata.TableModel{}.Name)
    49  	if err != nil {
    50  		panic(err.Error())
    51  	}
    52  	k.primaryKeyTableModelByNumberIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByNumberPrefix, func(val interface{}) ([]interface{}, error) {
    53  		return []interface{}{val.(*testdata.TableModel).Number}, nil
    54  	}, testdata.TableModel{}.Number)
    55  	if err != nil {
    56  		panic(err.Error())
    57  	}
    58  	k.primaryKeyTableModelByMetadataIndex, err = NewIndex(k.primaryKeyTable, PrimaryKeyTableModelByMetadataPrefix, func(val interface{}) ([]interface{}, error) {
    59  		return []interface{}{val.(*testdata.TableModel).Metadata}, nil
    60  	}, testdata.TableModel{}.Metadata)
    61  	if err != nil {
    62  		panic(err.Error())
    63  	}
    64  
    65  	return k
    66  }