package Ġde . f kl app an . app . repository loader Ċ Ċ import Ġde . f kl app an . app . repository loader . domain . Data Repository Ċ import Ġde . f kl app an . app . repository loader . domain . Logger Ċ import Ġde . f kl app an . app . repository loader . domain . models . Repository Domain Model Ċ import Ġde . f kl app an . app . repository loader . domain . use cases . Get Repositories UseCase Ċ import Ġio . mock k . Runs Ċ import Ġio . mock k . every Ċ import Ġio . mock k . just Ċ import Ġio . mock k . mock k Ċ import Ġio . reactivex . ob servers . Test Observer Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠTest Get Repositories UseCase Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= Ġmock k < Data Repository >() ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= Ġmock k < Logger >() ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġlogger . d ( any (), Ġany ()) Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġlogger . e ( any (), Ġany ()) Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġlogger . w ( any (), Ġany ()) Ġ} Ġjust ĠRuns ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Empty List () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . get Repositories () Ġ} Ġreturns ĠArrayList () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . get Book marks () Ġ} Ġreturns ĠArrayList () ĊĊĠĠĠĠĠĠĠ Ġval Ġu ut Ġ= ĠGet Repositories UseCase ( repository , Ġlogger ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġobserver Ġ: ĠTest Observer < List < Repository Domain Model >> Ġ= Ġu ut . execute (). test () ĊĠĠĠĠĠĠĠ Ġobserver . await Terminal Event () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġobserver . assert No Errors () ĊĠĠĠĠĠĠĠ Ġobserver . assert Value Ġ{ Ġlist Ġ-> Ġlist . isEmpty () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Un book marked Element () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠArrayList < Repository Domain Model >() ĊĠĠĠĠĠĠĠ ĠtestData . add ( Repository Domain Model ( 1 ," Rx Redux ", 4 7 6 , true )) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . get Book marks () Ġ} Ġreturns ĠArrayList () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġrepository . get Repositories () Ġ} Ġreturns ĠtestData ĊĠĠĠĠĠĠĠ Ġval Ġu ut Ġ= ĠGet Repositories UseCase ( repository , Ġlogger ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġobserver Ġ: ĠTest Observer < List < Repository Domain Model >> Ġ= Ġu ut . execute (). test () ĊĠĠĠĠĠĠĠ Ġobserver . await Terminal Event () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġobserver . assert No Errors () ĊĠĠĠĠĠĠĠ Ġobserver . assert Value Ġ{ Ġlist Ġ-> Ġlist . size Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠ Ġobserver . assert Value Ġ{ Ġlist Ġ-> Ġ! list [ 0 ]. bookmark Ġ} ĊĠĠĠ Ġ} Ċ } Ċ