package Ġde . r ki . cor on aw arn app . statistics . source Ċ Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtest helpers . Base IO Test Ċ import Ġjava . io . File Ċ Ċ class ĠStatistics Cache Test Ġ: ĠBase IO Test () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtest Dir Ġ= ĠFile ( IO _ TEST _ BASE DIR , Ġthis :: class . java . simple Name ) ĊĠĠĠ Ġprivate Ġval Ġandroid Cache Dir Ġ= ĠFile ( test Dir , Ġ" cache ") ĊĠĠĠ Ġprivate Ġval Ġstatistics Cache Dir Ġ= ĠFile ( android Cache Dir , Ġ" statistics ") ĊĊĠĠĠ Ġprivate Ġval Ġcache File Ġ= ĠFile ( statistics Cache Dir , Ġ" cache _ raw ") ĊĊĠĠĠ Ġprivate Ġval ĠtestData Ġ= Ġ" Row , ĠRow , ĠRow ĠYour ĠBo at ". encode To ByteArray () ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġteardown () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Dir . delete Re cursively () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Instance () Ġ= ĠStatistics Cache ( ĊĠĠĠĠĠĠĠ Ġcache Dir Ġ= Ġstatistics Cache Dir ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġstart `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Instance (). load () ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġcache File . exists () ĠshouldBe Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` loading Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcache File . parent File ?. mkdir s () ĊĠĠĠĠĠĠĠ Ġcache File . write Bytes ( testData ) ĊĠĠĠĠĠĠĠ Ġcreate Instance (). load () ĠshouldBe ĠtestData ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` saving Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcache File . exists () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġcreate Instance (). save ( testData ) ĊĠĠĠĠĠĠĠ Ġcache File . read Bytes () ĠshouldBe ĠtestData ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de leting Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcache File . parent File ?. mkdir s () ĊĠĠĠĠĠĠĠ Ġcache File . write Bytes ( testData ) ĊĠĠĠĠĠĠĠ Ġcreate Instance (). save ( null ) ĊĠĠĠĠĠĠĠ Ġcache File . exists () ĠshouldBe Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ