package Ġorg . know ledger . ledger . test Ċ Ċ import Ġassert k . assertThat Ċ import Ġassert k . assertions . isEqualTo Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . know ledger . base 6 4 . base 6 4 Decoded Ċ import Ġorg . know ledger . base 6 4 . base 6 4 Encoded Ċ import Ġorg . know ledger . ledger . core . base . hash . to HexString Ċ import Ġorg . know ledger . ledger . crypto . Encoded PrivateKey Ċ import Ġorg . know ledger . ledger . crypto . Encoded PublicKey Ċ import Ġorg . know ledger . ledger . crypto . service . Identity Ċ import Ġorg . know ledger . ledger . crypto . to PrivateKey Ċ import Ġorg . know ledger . ledger . crypto . to PublicKey Ċ import Ġorg . tiny log . kotlin . Logger Ċ import Ġjava . security . Key ĊĊ Ċ /** Ċ Ġ* ĠTests Ġfor Ġencoding / de coding Ġ[ Key ] s . Ċ Ġ*/ Ċ class ĠTest PubKey Codec Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpair Ġ= ĠIdentity (" test ") ĊĠĠĠ Ġprivate Ġval Ġpr Ġ= Ġpair . privateKey ĊĠĠĠ Ġprivate Ġval Ġpub Ġ= Ġpair . publicKey ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġencode Ġand Ġdecode Ġof Ġprivate Ġand Ġpublic Ġkeys `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġenc pr Ġ= Ġpr . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġval Ġen cp ub Ġ= Ġpub . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġval Ġdec pr Ġ= ĠEn coded PrivateKey ( enc pr . base 6 4 Decoded ()). to PrivateKey () ĊĠĠĠĠĠĠĠ Ġval Ġde cp ub Ġ= ĠEn coded PublicKey ( enc pub . base 6 4 Decoded ()). to PublicKey () ĊĠĠĠĠĠĠĠ Ġ// Decode Ġof Ġencode Ġmatches Ġdecode ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEn coded PublicKey ( enc pub . base 6 4 Decoded ()). to PublicKey () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( de cp ub ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEn coded PrivateKey ( enc pr . base 6 4 Decoded ()). to PrivateKey () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( dec pr ) ĊĠĠĠĠĠĠĠ Ġ// Re - encode Ġmatches Ġoriginal Ġencode . ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġde cp ub . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( enc pub ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdec pr . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( enc pr ) ĊĠĠĠĠĠĠĠ Ġ// Encode Ġmatches ĠRe - encode ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġde cp ub . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdec pr . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpr . base 6 4 Encoded () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// Keys Ġmatch . ĊĠĠĠĠĠĠĠ ĠassertThat ( de cp ub ). isEqualTo ( pub ) ĊĠĠĠĠĠĠĠ ĠassertThat ( dec pr ). isEqualTo ( pr ) ĊĊĠĠĠĠĠĠĠ ĠLogger . debug Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Key : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġprivate : Ġ$ pr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġpublic : Ġ$ pub ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Hex : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġprivate : Ġ${ pr . encoded . to HexString ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġpublic : Ġ${ pub . encoded . to HexString ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Base 6 4 : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġprivate : Ġ$ enc pr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġpublic : Ġ$ enc pub ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Hex Ġto ĠBase 6 4 Ġto ĠHex : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġprivate : Ġ${ dec pr . encoded . to HexString ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġpublic : Ġ${ de cp ub . encoded . to HexString ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Hex Ġto ĠBase 6 4 Ġto ĠKey : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġprivate : Ġ$ dec pr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġpublic : Ġ$ de cp ub ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ