package Ġcom . ke val p ate l 2 1 0 6 . y ip . repo . alarm Repo Ċ Ċ import Ġandroid . app . Alarm Manager Ċ import Ġandroid . content . Context Ċ import Ġcom . ke val p ate l 2 1 0 6 . test utils . get K Fixture Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . entity . Deadline Color Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . entity . Deadline Type Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . repo . db . Deadline Dao Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . repo . db . Y ip Database Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . repo . dto . Deadline Dto Ċ import Ġcom . ke val p ate l 2 1 0 6 . y ip . repo . time Provider . Time Provider Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . reactivex . Single Ċ import Ġorg . junit . Before Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġjava . util . Date Ċ Ċ internal Ġabstract Ġclass ĠAlarm Repo Impl Test SetUp Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġalarm Manager : ĠAlarm Manager ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġcontext : ĠContext ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġtime Provider : ĠTime Provider ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġdb : ĠY ip Database ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġlateinit Ġvar Ġdeadline Dao : ĠDead line Dao ĊĊĠĠĠ Ġprotected Ġval Ġnow Date Ġ= ĠDate () ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġalarm Repo : ĠAlarm Repo Impl ĊĠĠĠ Ġprotected Ġval Ġk Fixture Ġ= Ġget K Fixture () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( db . getDevice Dao ()). thenReturn ( deadline Dao ) ĊĠĠĠĠĠĠĠ Ġwhenever ( time Provider . now Async ()). thenReturn ( Single . just ( now Date )) ĊĊĠĠĠĠĠĠĠ Ġalarm Repo Ġ= ĠAlarm Repo Impl ( alarm Manager , Ġcontext , Ġtime Provider , Ġdb ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġgenerate Custom Deadline Dto ( notifications : ĠList < Float >): ĠDead line Dto Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDead line Dto ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġk Fixture (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġk Fixture (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġk Fixture (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠDead line Color . COLOR _ YELLOW , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠDate ( now Date . time Ġ- Ġ 1 _ 0 0 0 _ 0 0 0 ), Ġ// Ġ 5 0 % Ġpassed Ġdeadline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠDate ( now Date . time Ġ+ Ġ 1 _ 0 0 0 _ 0 0 0 ), ĠĠ Ġ// Ġ 5 0 % Ġremaining Ġdeadline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠDead line Type . CUSTOM , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotifications Ġ= Ġnotifications ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ