cosmos-sdk/modules/base/tx_test.go

52 lines
975 B
Go
Raw Normal View History

package base
2017-05-18 08:22:28 -07:00
import (
"strconv"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/tendermint/go-wire/data"
"github.com/tendermint/basecoin"
2017-07-19 01:51:36 -07:00
"github.com/tendermint/basecoin/stack"
2017-05-18 08:22:28 -07:00
)
func TestEncoding(t *testing.T) {
assert := assert.New(t)
require := require.New(t)
raw := stack.NewRawTx([]byte{0x34, 0xa7})
raw2 := stack.NewRawTx([]byte{0x73, 0x86, 0x22})
2017-05-18 08:22:28 -07:00
cases := []struct {
Tx basecoin.Tx
}{
{raw},
{NewMultiTx(raw, raw2)},
2017-07-10 02:44:40 -07:00
{NewChainTx("foobar", 0, raw)},
2017-05-18 08:22:28 -07:00
}
for idx, tc := range cases {
i := strconv.Itoa(idx)
tx := tc.Tx
// test json in and out
js, err := data.ToJSON(tx)
require.Nil(err, i)
var jtx basecoin.Tx
err = data.FromJSON(js, &jtx)
require.Nil(err, i)
assert.Equal(tx, jtx, i)
// test wire in and out
bin, err := data.ToWire(tx)
require.Nil(err, i)
var wtx basecoin.Tx
err = data.FromWire(bin, &wtx)
require.Nil(err, i)
assert.Equal(tx, wtx, i)
}
}