github.com/trezor/blockbook@v0.4.1-0.20240328132726-e9a08582ee2c/bchain/coins/trezarcoin/trezarcoinparser_test.go (about)

     1  //go:build unittest
     2  
     3  package trezarcoin
     4  
     5  import (
     6  	"encoding/hex"
     7  	"os"
     8  	"reflect"
     9  	"testing"
    10  
    11  	"github.com/martinboehm/btcutil/chaincfg"
    12  	"github.com/trezor/blockbook/bchain/coins/btc"
    13  )
    14  
    15  func TestMain(m *testing.M) {
    16  	c := m.Run()
    17  	chaincfg.ResetParams()
    18  	os.Exit(c)
    19  }
    20  
    21  func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
    22  	type args struct {
    23  		address string
    24  	}
    25  	tests := []struct {
    26  		name    string
    27  		args    args
    28  		want    string
    29  		wantErr bool
    30  	}{
    31  		{
    32  			name:    "pubkeyhash1",
    33  			args:    args{address: "TovkYkEtp73t4KYEJxMxXhBMKVdDPmr7Hv"},
    34  			want:    "76a914a05ddd8e3268846a3e7a4ddf505adb942cc6557488ac",
    35  			wantErr: false,
    36  		},
    37  		{
    38  			name:    "pubkeyhash2",
    39  			args:    args{address: "TuEoL199onxdg7z69D12AmhMnEEAH742Ro"},
    40  			want:    "76a914daa04d741763566e77a9df316f6cf755e8e77d3088ac",
    41  			wantErr: false,
    42  		},
    43  		{
    44  			name:    "scripthash1",
    45  			args:    args{address: "4Nx2k3S57z4PbUoP9M6BpQBCpizn8critB"},
    46  			want:    "a9146568dc26eb0054c19042114cae9cff56e816a06c87",
    47  			wantErr: false,
    48  		},
    49  		{
    50  			name:    "scripthash2",
    51  			args:    args{address: "4XvMi1G8rXtgZnz5G8S9yA3QzTtaC8TLrY"},
    52  			want:    "a914c7d0fdbdc654f7154b014f83b9d607f3adfbf4f887",
    53  			wantErr: false,
    54  		},
    55  	}
    56  	parser := NewTrezarcoinParser(GetChainParams("main"), &btc.Configuration{})
    57  
    58  	for _, tt := range tests {
    59  		t.Run(tt.name, func(t *testing.T) {
    60  			got, err := parser.GetAddrDescFromAddress(tt.args.address)
    61  			if (err != nil) != tt.wantErr {
    62  				t.Errorf("GetAddrDescFromAddress() error = %v, wantErr %v", err, tt.wantErr)
    63  				return
    64  			}
    65  			h := hex.EncodeToString(got)
    66  			if !reflect.DeepEqual(h, tt.want) {
    67  				t.Errorf("GetAddrDescFromAddress() = %v, want %v", h, tt.want)
    68  			}
    69  		})
    70  	}
    71  }