github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/store/mainchain/extstates/ext_data_test.go (about)

     1  package extstates
     2  
     3  import (
     4  	"bytes"
     5  	"math/big"
     6  	"testing"
     7  
     8  	"github.com/magiconair/properties/assert"
     9  	"github.com/sixexorg/magnetic-ring/common"
    10  	"github.com/sixexorg/magnetic-ring/core/orgchain/types"
    11  	"github.com/sixexorg/magnetic-ring/rlp"
    12  )
    13  
    14  func TestExtData(t *testing.T) {
    15  
    16  	ed := &ExtData{
    17  		Height: 1,
    18  		LeagueBlock: &LeagueBlockSimple{
    19  			Header: &types.Header{
    20  
    21  				Difficulty: big.NewInt(1),
    22  				Extra:      make([]byte, 0),
    23  			},
    24  			EnergyUsed: big.NewInt(1),
    25  			TxHashes: make(common.HashArray, 0),
    26  		},
    27  		MainTxUsed:    make(common.HashArray, 0),
    28  		AccountStates: make([]*EasyLeagueAccount, 0),
    29  	}
    30  	buff := bytes.NewBuffer(nil)
    31  	err := rlp.Encode(buff, ed)
    32  	if err != nil {
    33  		t.Error(err)
    34  		t.Fail()
    35  		return
    36  	}
    37  	var ed2 *ExtData
    38  	err = rlp.Decode(buff, &ed2)
    39  	if err != nil {
    40  		t.Error(err)
    41  		t.Fail()
    42  		return
    43  	}
    44  	assert.Equal(t, ed, ed2)
    45  }