package Ġio . github . z ey om ir . cv . overview . experience Ċ Ċ import Ġandroidx . databinding . Observable List Ċ import Ġio . github . z ey om ir . cv . Tr amp oline Schedulers Provider Ċ import Ġio . github . z ey om ir . cv . domain . entity . Cv Experience Ċ import Ġio . github . z ey om ir . cv . overview . Cv Experience Text Provider Ċ import Ġio . github . z ey om ir . cv . overview . items . Cv Experience Item ViewModel Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġio . mock k . verify Sequence Ċ import Ġio . reactivex . Observable Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert All Ċ import Ġjava . time . LocalDate Ċ Ċ internal Ġclass ĠC v Experience ViewModel Test Ġ{ ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġitems : ĠObservable List < Cv Experience Item ViewModel > ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġexperience Text Provider : ĠC v Experience Text Provider ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġstream Experience : ĠStream Cv Experience UseCase ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsut : ĠC v Experience ViewModel ĊĊĠĠĠ Ġprivate Ġval Ġexperience Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠC v Experience (" company 1 ", Ġ" role 1 ", ĠLocalDate . now (), Ġnull , Ġ" desc 1 ", Ġempty List (), Ġnull ), ĊĠĠĠĠĠĠĠ ĠC v Experience (" company 2 ", Ġ" role 2 ", ĠLocalDate . now (), Ġnull , Ġ" desc 2 ", Ġempty List (), Ġnull ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġsut Ġ= ĠC v Experience ViewModel ( items ) ĊĠĠĠĠĠĠĠ Ġsut . experience Text Provider Ġ= Ġexperience Text Provider ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexperience Text Provider . get Tech Text ( any ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexperience Text Provider . get Years Text ( any (), Ġany ()) Ġ} Ġreturns Ġ"" ĊĠĠĠĠĠĠĠ Ġsut . stream Experience Ġ= Ġstream Experience ĊĠĠĠĠĠĠĠ Ġsut . schedul ers Provider Ġ= ĠTr amp oline Schedulers Provider () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` updates Ġitems Ġwith Ġretrieved Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġstream Experience . execute () Ġ} Ġreturns ĠObservable . just ( experience ) ĊĊĠĠĠĠĠĠĠ Ġsut . before Start () ĊĊĠĠĠĠĠĠĠ Ġverify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . addAll ( with Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠassertEquals ( 2 , Ġit . size ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠassertEquals ( experience [ 0 ]. company Name , Ġ( it Ġas ĠList )[ 0 ]. company Name ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠassertEquals ( experience [ 0 ]. role Name , Ġ( it Ġas ĠList )[ 0 ]. role ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠassertEquals ( experience [ 1 ]. company Name , Ġ( it Ġas ĠList )[ 1 ]. company Name ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠassertEquals ( experience [ 1 ]. role Name , Ġ( it Ġas ĠList )[ 1 ]. role ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊ