package Ġcom . github . no ah sh en . pan ther . persistence . level db Ċ Ċ import Ġcom . github . no ah sh en . pan ther . core . Account Ċ import Ġcom . github . no ah sh en . pan ther . persistence . Account Entity Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . io . File Ċ Ċ class ĠAccount Level Db Storage Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġaccount Storage : ĠAccount Level Db Storage ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Path Ġ= ĠSystem . getProperty (" user . dir ") ĊĠĠĠĠĠĠĠ Ġprintln ( project Path ) ĊĠĠĠĠĠĠĠ Ġval ĠfilePath Ġ= Ġproject Path Ġ+ Ġ"/ db files / account Save Load Test Storage " ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( filePath ) ĊĠĠĠĠĠĠĠ Ġif Ġ( file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile . delete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile . delete Re cursively () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġaccount Storage Ġ= ĠAccount Level Db Storage ( filePath ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsave And Load Account () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaccount 1 Ġ= ĠAccount . create Account () ĊĠĠĠĠĠĠĠ Ġval ĠpublicKey Ġ= Ġaccount 1 . publicKey ĊĊĠĠĠĠĠĠĠ Ġval Ġaccount Entity 1 Ġ= ĠAccount Entity ( publicKey . encoded , Ġaccount 1 . nonce , Ġaccount 1 . balance ) ĊĠĠĠĠĠĠĠ Ġaccount Storage . save Account ( account Entity 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġaccount Entity 2 : ĠAccount Entity ? Ġ= Ġaccount Storage . load Account ( publicKey . encoded ) ĊĠĠĠĠĠĠĠ Ġassert ( account Entity 2 !!. publicKey . content Equals ( publicKey . encoded )) ĊĠĠĠ Ġ} Ċ Ċ }