/* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠMichael ĠCome lla Ċ Ġ* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof ĠNon Contact Call Block er . Ċ Ġ* Ċ Ġ* Ġ ĠNon Contact Call Block er Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ċ Ġ* Ġ Ġand / or Ġmodify Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġ Ġas Ġpublished Ġby Ġthe ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ċ Ġ* Ġ Ġthe ĠLicense , Ġor Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* Ġ ĠNon Contact Call Block er Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ċ Ġ* Ġ Ġuseful , Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ċ Ġ* Ġ Ġwarranty Ġof ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ċ Ġ* Ġ ĠSee Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* Ġ ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġ Ġalong Ġwith ĠNon Contact Call Block er . Ġ ĠIf Ġnot , Ġsee Ċ Ġ* Ġ Ġ< https :// www . gnu . org / licenses />. Ġ*/ Ċ Ċ package Ġxyz . m come lla . non contact call block er . integration Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġxyz . m come lla . non contact call block er . db . Blocked Call Dao Ċ import Ġxyz . m come lla . non contact call block er . db . Blocked Call Entity Ċ import Ġxyz . m come lla . non contact call block er . ext . test Value Ċ import Ġjava . util . Date Ċ Ċ class ĠBlock ed Call Dao Test Ġ: ĠApp DB Test () Ġ{ ĊĊĠĠĠ Ġ@ get : Rule Ġval Ġinstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdao : ĠBlock ed Call Dao ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġdao Ġ= Ġdb . blocked Call Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠG IV EN _ an _ empty _ db _ THEN _ the _ blocked _ calls _ list _ is _ empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( emptyList < List < Blocked Call Entity >> (), Ġdao . load Blocked Calls (). test Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠWHEN _ one _ full _ call _ is _ inserted _ into _ the _ db _ THEN _ load _ will _ return _ it () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( Blocked Call Entity (" 5 5 5 5 5 5 5 5 5 5 ", ĠDate ( 1 2 3 4 5 6 7 ))) ĊĠĠĠĠĠĠĠ Ġdao . insert Blocked Calls (* expected . to Typed Array ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġdao . load Blocked Calls (). test Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠWHEN _ one _ in complete _ call _ is _ inserted _ into _ the _ db _ THEN _ load _ will _ return _ it () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠlistOf ( Blocked Call Entity ( null , ĠDate ( 1 2 3 4 5 6 7 ))) ĊĠĠĠĠĠĠĠ Ġdao . insert Blocked Calls (* expected . to Typed Array ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġdao . load Blocked Calls (). test Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠWHEN _ many _ calls _ inserted _ into _ db _ THEN _ load _ will _ return _ them _ by _ desc ending _ date () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 5 5 6 6 6 6 6 6 6 6 " Ġto ĠDate ( 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 5 5 5 5 5 5 5 5 5 5 " Ġto ĠDate ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 5 5 1 2 3 1 2 3 4 " Ġto ĠDate ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 5 5 9 8 7 6 5 4 3 " Ġto ĠDate ( 1 ) ĊĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġ( number , Ġdate ) Ġ-> ĠBlock ed Call Entity ( number , Ġdate ) Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠ Ġdao . insert Blocked Calls (* input ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġdao . load Blocked Calls (). test Value ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġactual . sorted By Descending Ġ{ Ġit . date Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} Ċ } Ċ