github.com/stafiprotocol/go-substrate-rpc-client@v1.4.7/types/type_test.go (about)

     1  // Go Substrate RPC Client (GSRPC) provides APIs and types around Polkadot and any Substrate-based chain RPC calls
     2  //
     3  // Copyright 2020 Stafi Protocol
     4  //
     5  // Licensed under the Apache License, Version 2.0 (the "License");
     6  // you may not use this file except in compliance with the License.
     7  // You may obtain a copy of the License at
     8  //
     9  //     http://www.apache.org/licenses/LICENSE-2.0
    10  //
    11  // Unless required by applicable law or agreed to in writing, software
    12  // distributed under the License is distributed on an "AS IS" BASIS,
    13  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  // See the License for the specific language governing permissions and
    15  // limitations under the License.
    16  
    17  package types_test
    18  
    19  import (
    20  	"testing"
    21  
    22  	. "github.com/stafiprotocol/go-substrate-rpc-client/types"
    23  )
    24  
    25  func TestType_EncodeDecode(t *testing.T) {
    26  	assertRoundtrip(t, Type(""))
    27  	assertRoundtrip(t, Type("Custom Type"))
    28  }
    29  
    30  func TestType_EncodedLength(t *testing.T) {
    31  	assertEncodedLength(t, []encodedLengthAssert{
    32  		{Type(""), 1},
    33  		{Type("Custom Type"), 12},
    34  	})
    35  }
    36  
    37  func TestType_Encode(t *testing.T) {
    38  	assertEncode(t, []encodingAssert{
    39  		{Type(""), MustHexDecodeString("0x00")},
    40  		{Type("Custom Type"), MustHexDecodeString("0x2c437573746f6d2054797065")},
    41  	})
    42  }
    43  
    44  func TestType_Hash(t *testing.T) {
    45  	assertHash(t, []hashAssert{
    46  		{Type(""), MustHexDecodeString("0x03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314")},
    47  		{Type("Custom Type"), MustHexDecodeString(
    48  			"0x7c2996c160a91b8479eae96ade3ad8b287edc22997bf209b7bc0ca04d3bc0725")},
    49  	})
    50  }
    51  
    52  func TestType_Hex(t *testing.T) {
    53  	assertEncodeToHex(t, []encodeToHexAssert{
    54  		{Type(""), "0x00"},
    55  		{Type("Custom Type"), "0x2c437573746f6d2054797065"},
    56  	})
    57  }
    58  
    59  func TestType_Type(t *testing.T) {
    60  	assertString(t, []stringAssert{
    61  		{Type(""), ""},
    62  		{Type("Custom Type"), "Custom Type"},
    63  	})
    64  }
    65  
    66  func TestType_Eq(t *testing.T) {
    67  	assertEq(t, []eqAssert{
    68  		{Type("Custom Type"), Type("Custom Type"), true},
    69  		{Type(""), Type("23"), false},
    70  		{Type("Custom Type"), NewU8(23), false},
    71  		{Type("Custom Type"), NewBool(false), false},
    72  	})
    73  }