package Ġcom . ches ire . nek ome . features . series Ċ Ċ import Ġcom . ches ire . nek ome . UIT est Ċ import Ġcom . ches ire . nek ome . core . flags . Series Type Ċ import Ġcom . ches ire . nek ome . core . flags . User Series Status Ċ import Ġcom . ches ire . nek ome . database . entity . Series Entity Ċ import Ġcom . ches ire . nek ome . robots . series . series List Ċ import Ġcom . ches ire . nek ome . testing . create Series Entity Ċ import Ġdagger . h ilt . android . testing . H ilt Android Test Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Test Ċ Ċ @ H ilt Android Test Ċ class ĠFilter Tests Ġ: ĠUIT est () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġseries Data Ġ= ĠInitial Filter Series Data () ĊĊĠĠĠ Ġoverride Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUp () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ Ġseries . insert ( series Data . all ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Display sWith All Options () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Loaded Correct ly () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Has Correct Default Choices () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisIn Default State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Closes On Confirm () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Not Visible () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Ret ains Last Choices () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick On Hold () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Pl anned () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Current Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Completed Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis On Hold Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Dropped Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Pl anned Checked () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Cancel s On Cancel Hit () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Completed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Dropped () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Current Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Completed Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis On Hold Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Dropped Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Pl anned Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dialog Confirm Disabled If No Filter () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm IsEnabled () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Current () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Current Not Checked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Is Disabled () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Current Shows Only Current Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDefault Ġhas Ġcurrent Ġalready Ġselected ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Series AtIndex ( 0 , Ġseries Data . series Current . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Completed Shows Only Completed Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Current () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Completed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Series AtIndex ( 0 , Ġseries Data . series Completed . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter On Hold Shows Only On Hold Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Current () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick On Hold () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Series AtIndex ( 0 , Ġseries Data . series On Hold . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Dropped Shows Only Dropped Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Current () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Dropped () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Series AtIndex ( 0 , Ġseries Data . series Dropped . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter Pl anned Shows Only Pl anned Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Current () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Pl anned () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Series AtIndex ( 0 , Ġseries Data . series Pl anned . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfilter All Shows All Series () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Activity () ĊĊĠĠĠĠĠĠĠ Ġseries List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Series Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Completed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick On Hold () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Dropped () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Pl anned () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġvalidate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Count ( 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠMake Ġan Ġinitial Ġset Ġof Ġseries Ġitems Ġto Ġcheck Ġthe Ġfilter Ġwith . Ċ private Ġdata Ġclass ĠInitial Filter Series Data ( ĊĠĠĠ Ġval Ġseries Current : ĠSeries Entity Ġ= Ġcreate Series Entity ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Current ĠAn ime ", ĊĠĠĠĠĠĠĠ Ġseries Type Ġ= ĠSeries Type . An ime , ĊĠĠĠĠĠĠĠ Ġuser Series Status Ġ= ĠUser Series Status . Current ĊĠĠĠ Ġ), ĊĠĠĠ Ġval Ġseries Completed : ĠSeries Entity Ġ= Ġcreate Series Entity ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Completed ĠAn ime ", ĊĠĠĠĠĠĠĠ Ġseries Type Ġ= ĠSeries Type . An ime , ĊĠĠĠĠĠĠĠ Ġuser Series Status Ġ= ĠUser Series Status . Completed ĊĠĠĠ Ġ), ĊĠĠĠ Ġval Ġseries On Hold : ĠSeries Entity Ġ= Ġcreate Series Entity ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" On Ġhold ĠAn ime ", ĊĠĠĠĠĠĠĠ Ġseries Type Ġ= ĠSeries Type . An ime , ĊĠĠĠĠĠĠĠ Ġuser Series Status Ġ= ĠUser Series Status . On Hold ĊĠĠĠ Ġ), ĊĠĠĠ Ġval Ġseries Dropped : ĠSeries Entity Ġ= Ġcreate Series Entity ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Dropped ĠAn ime ", ĊĠĠĠĠĠĠĠ Ġseries Type Ġ= ĠSeries Type . An ime , ĊĠĠĠĠĠĠĠ Ġuser Series Status Ġ= ĠUser Series Status . Dropped ĊĠĠĠ Ġ), ĊĠĠĠ Ġval Ġseries Pl anned : ĠSeries Entity Ġ= Ġcreate Series Entity ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 4 , ĊĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 4 , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Pl anned ĠAn ime ", ĊĠĠĠĠĠĠĠ Ġseries Type Ġ= ĠSeries Type . An ime , ĊĠĠĠĠĠĠĠ Ġuser Series Status Ġ= ĠUser Series Status . Pl anned ĊĠĠĠ Ġ), Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġall Ġof Ġthe Ġseries Ġobjects Ġin Ġa Ġsingle Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġall Ġ= ĠlistOf ( series Current , Ġseries Completed , Ġseries On Hold , Ġseries Dropped , Ġseries Pl anned ) Ċ } Ċ