github.com/elastos/Elastos.ELA.SideChain.ETH@v0.2.2/chainbridge-core/crypto/secp256k1/secp256k1_test.go (about)

     1  // Copyright 2020 ChainSafe Systems
     2  // SPDX-License-Identifier: LGPL-3.0-only
     3  
     4  package secp256k1
     5  
     6  import (
     7  	"reflect"
     8  	"testing"
     9  )
    10  
    11  func TestNewKeypairFromSeed(t *testing.T) {
    12  	kp, err := GenerateKeypair()
    13  	if err != nil {
    14  		t.Fatal(err)
    15  	}
    16  
    17  	if kp.PublicKey() == "" || kp.Address() == "" {
    18  		t.Fatalf("key is missing data: %#v", kp)
    19  	}
    20  }
    21  
    22  func TestEncodeAndDecodeKeypair(t *testing.T) {
    23  	kp, err := GenerateKeypair()
    24  	if err != nil {
    25  		t.Fatal(err)
    26  	}
    27  
    28  	enc := kp.Encode()
    29  	res := new(Keypair)
    30  	err = res.Decode(enc)
    31  	if err != nil {
    32  		t.Fatal(err)
    33  	}
    34  
    35  	if !reflect.DeepEqual(res, kp) {
    36  		t.Fatalf("Fail: got %#v expected %#v", res, kp)
    37  	}
    38  }