forked from TrueCloudLab/neoneo-go
9abda40171
Frequently one needs to check if struct serializes/deserializes properly. This commit implements helpers for such cases including: 1. JSON 2. io.Serializable interface
47 lines
1 KiB
Go
47 lines
1 KiB
Go
package state
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
|
|
"github.com/nspcc-dev/neo-go/pkg/internal/random"
|
|
"github.com/nspcc-dev/neo-go/pkg/internal/testserdes"
|
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
|
)
|
|
|
|
func TestDecodeEncodeUnspentCoin(t *testing.T) {
|
|
unspent := &UnspentCoin{
|
|
Height: 100500,
|
|
States: []OutputState{
|
|
{
|
|
Output: transaction.Output{
|
|
AssetID: random.Uint256(),
|
|
Amount: util.Fixed8(42),
|
|
ScriptHash: random.Uint160(),
|
|
},
|
|
SpendHeight: 201000,
|
|
State: CoinSpent,
|
|
},
|
|
{
|
|
Output: transaction.Output{
|
|
AssetID: random.Uint256(),
|
|
Amount: util.Fixed8(420),
|
|
ScriptHash: random.Uint160(),
|
|
},
|
|
SpendHeight: 0,
|
|
State: CoinConfirmed,
|
|
},
|
|
{
|
|
Output: transaction.Output{
|
|
AssetID: random.Uint256(),
|
|
Amount: util.Fixed8(4200),
|
|
ScriptHash: random.Uint160(),
|
|
},
|
|
SpendHeight: 111000,
|
|
State: CoinSpent & CoinClaimed,
|
|
},
|
|
},
|
|
}
|
|
|
|
testserdes.EncodeDecodeBinary(t, unspent, new(UnspentCoin))
|
|
}
|