transaction: add miner tx test from dev

This commit is contained in:
Roman Khimov 2019-08-30 18:53:26 +03:00
parent 88a47aeeb4
commit 868c9d6e8c

View file

@ -5,33 +5,26 @@ import (
"encoding/hex" "encoding/hex"
"testing" "testing"
"github.com/CityOfZion/neo-go/pkg/wire/payload/transaction/types"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
func TestEncodeDecodeMiner(t *testing.T) { func TestEncodeDecodeMiner(t *testing.T) {
// transaction from mainnet a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264 // transaction from mainnet a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264
rawtx := "0000fcd30e22000001e72d286979ee6cb1b7e65dfddfb2e384100b8d148e7758de42e4168b71792c60c8000000000000001f72e68b4e39602912106d53b229378a082784b200" rawtx := "0000fcd30e22000001e72d286979ee6cb1b7e65dfddfb2e384100b8d148e7758de42e4168b71792c60c8000000000000001f72e68b4e39602912106d53b229378a082784b200"
rawtxBytes, _ := hex.DecodeString(rawtx) tx := decodeTransaction(rawtx, t)
assert.Equal(t, MinerType, tx.Type)
m := NewMiner(0) assert.IsType(t, tx.Data, &MinerTX{})
assert.Equal(t, 0, int(tx.Version))
r := bytes.NewReader(rawtxBytes) m := tx.Data.(*MinerTX)
err := m.Decode(r)
assert.Equal(t, nil, err)
assert.Equal(t, types.Miner, m.Type)
assert.Equal(t, uint32(571397116), m.Nonce) assert.Equal(t, uint32(571397116), m.Nonce)
assert.Equal(t, "a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264", m.Hash.ReverseString()) assert.Equal(t, "a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264", tx.Hash().ReverseString())
// Encode // Encode
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
err = m.Encode(buf) err := tx.EncodeBinary(buf)
assert.Equal(t, nil, err) assert.Equal(t, nil, err)
assert.Equal(t, rawtxBytes, buf.Bytes()) assert.Equal(t, rawtx, hex.EncodeToString(buf.Bytes()))
} }