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

     1  package states_test
     2  
     3  import (
     4  	"bytes"
     5  	"math/big"
     6  	"testing"
     7  
     8  	"github.com/sixexorg/magnetic-ring/common"
     9  	"github.com/sixexorg/magnetic-ring/mock"
    10  	"github.com/sixexorg/magnetic-ring/store/mainchain/states"
    11  )
    12  
    13  func TestLeagueState_Serialize(t *testing.T) {
    14  	ls := new(states.LeagueState)
    15  	ls.Address = mock.Mock_Address_1
    16  	ls.Height = 1
    17  	ls.Creator = mock.Mock_Address_2
    18  	ls.MinBox = 1
    19  	ls.Rate = 100
    20  
    21  	ls.Data = new(states.League)
    22  
    23  	ls.Data.Nonce = 3
    24  	ls.Data.Name = common.Hash{}
    25  	ls.Data.FrozenBox = big.NewInt(99)
    26  	ls.Data.MemberRoot = common.Hash{}
    27  	ls.Data.Private = false
    28  
    29  	buf := new(bytes.Buffer)
    30  	err := ls.Serialize(buf)
    31  
    32  	if err != nil {
    33  		t.Errorf("error occured -->%v\n", err)
    34  		return
    35  	}
    36  
    37  	bufdata := buf.Bytes()
    38  	kbuf := ls.GetKey()
    39  
    40  	t.Logf("result-->%v\n", bufdata)
    41  
    42  	reverse := new(states.LeagueState)
    43  
    44  	dbuf := new(bytes.Buffer)
    45  
    46  	dbuf.Write(kbuf)
    47  	dbuf.Write(bufdata)
    48  
    49  	err = reverse.Deserialize(dbuf)
    50  
    51  	if err != nil {
    52  		t.Errorf("error occured -->%v\n", err)
    53  		return
    54  	}
    55  
    56  	t.Logf("height:%v\n", reverse.Height)
    57  }