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 }