8 "github.com/vapor/encoding/blockchain"
9 "github.com/vapor/protocol/bc"
10 "github.com/vapor/testutil"
13 func TestReadWriteOutputCommitment(t *testing.T) {
14 btmAssetID := testutil.MustDecodeAsset("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
20 oc: &OutputCommitment{
21 AssetAmount: bc.AssetAmount{AssetId: &btmAssetID, Amount: 100},
23 ControlProgram: testutil.MustDecodeHexString("00140876db6ca8f4542a836f0edd42b87d095d081182"),
25 encodeString: "39ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff64011600140876db6ca8f4542a836f0edd42b87d095d081182",
28 oc: &OutputCommitment{
29 AssetAmount: bc.AssetAmount{AssetId: &btmAssetID, Amount: 50},
31 ControlProgram: testutil.MustDecodeHexString("00148bf7800b2333afd8414d6e903d58c4908b9bbcc7"),
33 encodeString: "39ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff32011600148bf7800b2333afd8414d6e903d58c4908b9bbcc7",
37 for _, c := range cases {
39 buffer := bytes.NewBuffer(buff)
40 if err := c.oc.writeExtensibleString(buffer, nil, 1); err != nil {
44 got := hex.EncodeToString(buffer.Bytes())
45 if got != c.encodeString {
46 t.Errorf("got:%s, want:%s", got, c.encodeString)
49 oc := &OutputCommitment{}
50 _, err := oc.readFrom(blockchain.NewReader(buffer.Bytes()), 1)
55 if !testutil.DeepEqual(*oc, *c.oc) {
56 t.Errorf("got:%v, want:%v", *oc, *c.oc)