package Ġjp . my dns . k oko ichi 0 2 0 6 . count d ow nt imer . module . main . inter actor Ċ Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġjp . my dns . k oko ichi 0 2 0 6 . count d ow nt imer . data manager . DataStore Manager Ċ import Ġjp . my dns . k oko ichi 0 2 0 6 . count d ow nt imer . data manager . Mock DataStore Manager Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . time . LocalDateTime Ċ Ċ /** Ċ Ġ* Ġãĥ¡ ãĤ¤ãĥ³ çĶ» éĿ¢ ãģ® Interactor ãĤ¯ãĥ©ãĤ¹ ãģ® åįĺ ä½ĵ ãĥĨãĤ¹ãĥĪ ãĢĤ Ċ Ġ*/ Ċ class ĠMain Interactor Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġinter actor : ĠMain Interactor ĊĠĠĠ Ġval Ġmock DataStore Manager : ĠMock DataStore Manager Ġ= ĠMock DataStore Manager () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstrument ation Ġ= ĠInstrument ation Registry . get Instrumentation () ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġinstrument ation . target Context ĊĠĠĠĠĠĠĠ Ġinter actor Ġ= ĠMain Interactor ( context , Ġmock DataStore Manager ) ĊĠĠĠĠĠĠĠ Ġinit Mock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Mock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Mock () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock DataStore Manager . clear () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock DataStore Manager . getCount ( Mock DataStore Manager . Mock ed Method . WRITE _ STRING ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock DataStore Manager . getCount ( Mock DataStore Manager . Mock ed Method . READ _ STRING ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Title () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġ" This Ġis Ġmy Ġtimer Ġtitle " ĊĠĠĠĠĠĠĠ Ġmock DataStore Manager . stringValue Ġ= Ġtitle ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġinter actor . getTitle () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ ĠassertEquals ( result , Ġtitle ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock DataStore Manager . getCount ( Mock DataStore Manager . Mock ed Method . READ _ STRING ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( DataStore Manager . KEY _ TIMER _ TITLE , Ġmock DataStore Manager . string Key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Started Time () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġval Ġstarted At Str Ġ= Ġ" 1 9 7 0 - 0 1 - 0 1 Ġ 0 9 : 0 0 : 0 0 " ĊĠĠĠĠĠĠĠ Ġmock DataStore Manager . stringValue Ġ= Ġstarted At Str ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġinter actor . get Started Time () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime . of ( 1 9 7 0 , Ġ 1 , Ġ 1 , Ġ 9 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock DataStore Manager . getCount ( Mock DataStore Manager . Mock ed Method . READ _ STRING ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( DataStore Manager . KEY _ STARTED _ AT , Ġmock DataStore Manager . string Key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Dead Line () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġval Ġdeadline Ġ= Ġ" 1 9 7 0 - 0 1 - 0 1 Ġ 0 9 : 0 0 : 0 0 " ĊĠĠĠĠĠĠĠ Ġmock DataStore Manager . stringValue Ġ= Ġdeadline ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġinter actor . get Dead Line () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock DataStore Manager . getCount ( Mock DataStore Manager . Mock ed Method . READ _ STRING ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( DataStore Manager . KEY _ DEAD LINE , Ġmock DataStore Manager . string Key ) ĊĠĠĠ Ġ} Ċ } Ċ