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 }