package Ġorg . kode in . db . impl . data Ċ Ċ import Ġorg . kode in . db . Ant icip ate Ċ import Ġorg . kode in . db . Value Ċ import Ġorg . kode in . db . data . Data DB Ċ import Ġorg . kode in . db . in Dir Ċ import Ġorg . kode in . db . in memory . in Memory Ċ import Ġorg . kode in . memory . file . FileSystem Ċ import Ġorg . kode in . memory . use Ċ import Ġorg . kode in . memory . util . Maybe Throwable Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertNull Ċ Ċ @ Suppress (" ClassName ") Ċ abstract Ġclass ĠData DB Tests _ 1 2 _ Checks Ġ: ĠData DB Tests () Ġ{ ĊĊĠĠĠ Ġclass ĠL DB Ġ: ĠData DB Tests _ 1 2 _ Checks () Ġ{ Ġoverride Ġval Ġfactory Ġ= ĠData DB . default . in Dir ( FileSystem . temp Directory . path ) Ġ} ĊĠĠĠ Ġclass ĠIM Ġ: ĠData DB Tests _ 1 2 _ Checks () Ġ{ Ġoverride Ġval Ġfactory Ġ= ĠData DB . in Memory Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 0 _ put OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 2 1 )) ĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 4 2 ), Ġempty Map (), ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 2 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 2 , Ġit . getInt ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 1 _ put KO () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 2 1 )) ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 4 2 ), Ġempty Map (), ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 1 , Ġit . getInt ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 2 _ delete OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 4 2 )) ĊĊĠĠĠĠĠĠĠ Ġd db . delete ( key , ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 4 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠassertNull ( ddb . get ( key )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 3 _ delete KO () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 4 2 )) ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd db . delete ( key , ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( ddb . new Key ( 1 , ĠValue . of (" test "))) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 2 , Ġit . getInt ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 4 _ batch OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 2 1 )) ĊĊĠĠĠĠĠĠĠ Ġd db . new Batch (). use Ġ{ Ġbatch Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . put ( key , ĠValue . of ( 4 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMaybe Throwable (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . write ( it , ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 2 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. shoot () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 2 , Ġit . getInt ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 5 _ batch KO () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġd db . new Key ( 1 , ĠValue . of (" test ")) ĊĠĠĠĠĠĠĠ Ġd db . put ( key , ĠValue . of ( 2 1 )) ĊĊĠĠĠĠĠĠĠ Ġd db . new Batch (). use Ġ{ Ġbatch Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . put ( key , ĠValue . of ( 4 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaybe Throwable (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . write ( it , ĠAnt icip ate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( it . getInt ( 0 ) Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. shoot () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġd db . get ( key ) !!. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 1 , Ġit . getInt ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ