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 }