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

     1  package extstates_test
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"math/big"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/sixexorg/magnetic-ring/common"
    11  	"github.com/sixexorg/magnetic-ring/core/orgchain/types"
    12  	"github.com/sixexorg/magnetic-ring/mock"
    13  	"github.com/sixexorg/magnetic-ring/store/mainchain/extstates"
    14  )
    15  
    16  func TestSerializeAndReverse(t *testing.T) {
    17  	hash1 := common.Hash{1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
    18  	lbs := &extstates.LeagueBlockSimple{
    19  		Header: &types.Header{
    20  			Version:       0xA1,
    21  			PrevBlockHash: hash1,
    22  			LeagueId:      mock.LeagueAddress1,
    23  			TxRoot:        hash1,
    24  			StateRoot:     hash1,
    25  			ReceiptsRoot:  hash1,
    26  			Timestamp:     1540784752,
    27  			Difficulty:    big.NewInt(1023123012),
    28  			Height:        12688,
    29  		},
    30  		TxHashes: common.HashArray{},
    31  	}
    32  
    33  	blkhash := lbs.Header.Hash()
    34  	t.Logf("blkhash-->%v\n", blkhash)
    35  
    36  	buffer1 := new(bytes.Buffer)
    37  
    38  	err := lbs.Serialize(buffer1)
    39  
    40  	if err != nil {
    41  		t.Errorf("err=%v\n", err)
    42  		return
    43  	}
    44  
    45  	t.Logf("sbuf-->%v\n", buffer1.Bytes())
    46  
    47  	lbs2 := new(extstates.LeagueBlockSimple)
    48  	err = lbs2.Deserialize(buffer1)
    49  	if err != nil {
    50  		t.Errorf("err-->%v\n", err)
    51  		return
    52  	}
    53  
    54  	t.Logf("v=%v,height=%d", lbs.Header.Version, lbs.Header.Height)
    55  	lbs2.Hash()
    56  	assert.Equal(t, lbs, lbs2)
    57  }