package Ġio . github . w ulkan owy . data . repositories Ċ Ċ import Ġio . github . w ulkan owy . data . db . dao . Time table Additional Dao Ċ import Ġio . github . w ulkan owy . data . db . dao . Time table Dao Ċ import Ġio . github . w ulkan owy . data . db . dao . Time table Header Dao Ċ import Ġio . github . w ulkan owy . data . map pers . map To Entities Ċ import Ġio . github . w ulkan owy . get Se mester Entity Ċ import Ġio . github . w ulkan owy . get Student Entity Ċ import Ġio . github . w ulkan owy . sdk . Sdk Ċ import Ġio . github . w ulkan owy . sdk . pojo . Time table Full Ċ import Ġio . github . w ulkan owy . services . alarm . Time table Notification Scheduler Helper Ċ import Ġio . github . w ulkan owy . utils . Auto Refresh Helper Ċ import Ġio . github . w ulkan owy . utils . to First Result Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . Runs Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . impl . annotations . Spy K Ċ import Ġio . mock k . just Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . LocalDateTime . of Ċ import Ġio . github . w ulkan owy . sdk . pojo . Time table Ġas ĠS dk Time table Ċ Ċ class ĠTime table Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Mock K ( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtime table Notification Scheduler Helper : ĠTime table Notification Scheduler Helper ĊĊĠĠĠ Ġ@ Spy K ĊĠĠĠ Ġprivate Ġvar Ġsdk Ġ= ĠS dk () ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtime table Db : ĠTime table Dao ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtime table Additional Dao : ĠTime table Additional Dao ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtime table Header Dao : ĠTime table Header Dao ĊĊĠĠĠ Ġ@ Mock K ( relax Unit Fun Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrefresh Helper : ĠAuto Refresh Helper ĊĊĠĠĠ Ġprivate Ġval Ġstudent Ġ= Ġget Student Entity () ĊĊĠĠĠ Ġprivate Ġval Ġse mester Ġ= Ġget Se mester Entity () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtime table Repository : ĠTime table Repository ĊĊĠĠĠ Ġprivate Ġval ĠstartDate Ġ= ĠLocalDate . of ( 2 0 2 1 , Ġ 1 , Ġ 4 ) ĊĊĠĠĠ Ġprivate Ġval ĠendDate Ġ= ĠLocalDate . of ( 2 0 2 1 , Ġ 1 , Ġ 1 0 ) ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġinit Api () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrefresh Helper . is ShouldBe Ref reshed ( any ()) Ġ} Ġreturns Ġfalse ĊĊĠĠĠĠĠĠĠ Ġtime table Repository Ġ= ĠTime table Repository ( timetable Db , Ġtime table Additional Dao , Ġtime table Header Dao , Ġsdk , Ġtime table Notification Scheduler Helper , Ġrefresh Helper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcopy Room To Completed From Previous () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġremote List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ"", Ġ" Pr zy ro da "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ"", Ġ" Rel ig ia "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ"", Ġ" W - F "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 1 0 , Ġ 3 0 ), Ġ 4 , Ġ"", Ġ" W - F ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsdk . getTime table Full ( any (), Ġany ()) Ġ} Ġreturns ĠTime table Full ( emptyList (), Ġremote List , Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocal List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" Pr zy ro da "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 3 2 1 ", Ġ" Rel ig ia "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 2 1 3 ", Ġ" W - F "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 1 0 , Ġ 3 0 ), Ġ 3 , Ġ" 2 1 3 ", Ġ" W - F ", Ġ" Jan ĠK ow al ski ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . load All ( semester . di ary Id , Ġse mester . student Id , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( local List . map To Entities ( semester )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . insert All ( any ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . delete All ( any ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecute ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime table Repository . getTime table ( student , Ġse mester , ĠstartDate , ĠendDate , Ġtrue ). to First Result () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġverify ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġres . data ?. lessons . or Empty (). size ) ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime table Db . insert All ( with Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġit . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 ", Ġit [ 0 ]. room ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 3 2 1 ", Ġit [ 1 ]. room ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 2 1 3 ", Ġit [ 2 ]. room ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġtime table Db . delete All ( match Ġ{ Ġit . size Ġ== Ġ 4 Ġ}) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcopy Teacher To Completed From Previous () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġremote List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠP on ied z ia ÅĤ k owski ", Ġfalse ), Ġ// Ġskip ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" M ate mat y ka ", Ġ" J ak ub ĠW t ork owski ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠP on ied z ia ÅĤ k ow ska ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠW t ork ow ska ", Ġtrue ), Ġ// Ġskip ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġtrue ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠÅ ļ rod owski ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠC zw art k owski ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠÅ ļ rod owski ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠC zw art k owski ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsdk . getTime table Full ( startDate , ĠendDate ) Ġ} Ġreturns ĠTime table Full ( emptyList (), Ġremote List , Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocal List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠP on ied z ia ÅĤ k owski ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" M ate mat y ka ", Ġ" P aw e ÅĤ ĠP on ied z ia ÅĤ k owski ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠW t ork ow ska ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠW t ork ow ska ", Ġtrue ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠW t ork ow ska ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠW t ork ow ska ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠÅ ļ rod ow ska ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 5 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ" Jo anna ĠÅ ļ rod ow ska ", Ġtrue ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" M ate mat y ka ", Ġ"", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" M ate mat y ka ", Ġ"", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 9 , Ġ 4 0 ), Ġ 3 , Ġ" 1 2 5 ", Ġ" M ate mat y ka ", Ġ"", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 6 , Ġ 1 0 , Ġ 4 0 ), Ġ 4 , Ġ" 1 2 6 ", Ġ" M ate mat y ka ", Ġ"", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . load All ( semester . di ary Id , Ġse mester . student Id , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( local List . map To Entities ( semester )) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . insert All ( any ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . delete All ( any ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecute ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġrun Blocking Ġ{ Ġtime table Repository . getTime table ( student , Ġse mester , ĠstartDate , ĠendDate , Ġtrue ). to First Result () Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġverify ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġres . error ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 , Ġres . data !!. lessons . size ) ĊĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime table Db . insert All ( with Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 , Ġit . size ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" P aw e ÅĤ ĠP on ied z ia ÅĤ k owski ", Ġit [ 0 ]. teacher ) Ġ// Ġskip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" J ak ub ĠW t ork owski ", Ġit [ 0 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Jo anna ĠP on ied z ia ÅĤ k ow ska ", Ġit [ 1 ]. teacher ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Jo anna ĠW t ork ow ska ", Ġit [ 3 ]. teacher ) Ġ// Ġskip ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Jo anna ĠW t ork ow ska ", Ġit [ 2 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġit [ 3 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġit [ 4 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġit [ 5 ]. teacher ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" P aw e ÅĤ ĠÅ ļ rod owski ", Ġit [ 6 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" P aw e ÅĤ ĠC zw art k owski ", Ġit [ 7 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" P aw e ÅĤ ĠÅ ļ rod owski ", Ġit [ 8 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" P aw e ÅĤ ĠC zw art k owski ", Ġit [ 9 ]. teacher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġtime table Db . delete All ( match Ġ{ Ġit . size Ġ== Ġ 1 0 Ġ}) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` force Ġrefresh Ġwithout Ġdifference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġremote List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 0 ), Ġ 1 , Ġ" 1 2 3 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcreateTime table Remote ( of ( 2 0 2 1 , Ġ 1 , Ġ 4 , Ġ 8 , Ġ 5 0 ), Ġ 2 , Ġ" 1 2 4 ", Ġ" J ÄĻ zy k Ġpol ski ", Ġ"", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsdk . getTime table Full ( startDate , ĠendDate ) Ġ} Ġreturns ĠTime table Full ( emptyList (), Ġremote List , Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Many ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow Of ( remote List . map To Entities ( semester )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflow Of ( remote List . map To Entities ( semester )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . insert All ( any ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Db . delete All ( any ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Additional Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} Ġreturns Ġflow Of ( listOf ()) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . insert All ( emptyList ()) Ġ} Ġreturns ĠlistOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtime table Header Dao . delete All ( emptyList ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecute ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġrun Blocking Ġ{ Ġtime table Repository . getTime table ( student , Ġse mester , ĠstartDate , ĠendDate , Ġtrue ). to First Result () Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġverify ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġres . error ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġres . data ?. lessons ?. size ) ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġsdk . getTime table Full ( startDate , ĠendDate ) Ġ} ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġtime table Db . load All ( 1 , Ġ 1 , ĠstartDate , ĠendDate ) Ġ} ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġtime table Db . insert All ( match Ġ{ Ġit . isEmpty () Ġ}) Ġ} ĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġtime table Db . delete All ( match Ġ{ Ġit . isEmpty () Ġ}) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠcreateTime table Remote ( start : ĠLocalDateTime , Ġnumber : ĠInt Ġ= Ġ 1 , Ġroom : ĠString Ġ= Ġ"", Ġsubject : ĠString Ġ= Ġ"", Ġteacher : ĠString Ġ= Ġ"", Ġchanges : ĠBoolean Ġ= Ġfalse ) Ġ= ĠS dk Time table ( ĊĠĠĠĠĠĠĠ Ġnumber Ġ= Ġnumber , ĊĠĠĠĠĠĠĠ Ġstart Ġ= Ġstart , ĊĠĠĠĠĠĠĠ Ġend Ġ= Ġstart . plus Minutes ( 4 5 ), ĊĠĠĠĠĠĠĠ Ġdate Ġ= Ġstart . to LocalDate (), ĊĠĠĠĠĠĠĠ Ġsubject Ġ= Ġsubject , ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġroom Ġ= Ġroom , ĊĠĠĠĠĠĠĠ Ġteacher Ġ= Ġteacher , ĊĠĠĠĠĠĠĠ Ġinfo Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġchanges Ġ= Ġchanges , ĊĠĠĠĠĠĠĠ Ġcanceled Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġroom Old Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġsubject Old Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġteacher Old Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġstudent Plan Ġ= Ġtrue ĊĠĠĠ Ġ) Ċ } Ċ