package Ġcom . example . foot ball league local storage . presenter . match Ċ Ċ import Ġcom . example . foot ball league local storage . api . Api Repository Ċ import Ġcom . example . foot ball league local storage . coroutines . TestContext Provider Ċ import Ġcom . example . foot ball league local storage . interfaces . league . match . League Match View Ċ import Ġcom . example . foot ball league local storage . model . match . Foot ball League Match Ċ import Ġcom . example . foot ball league local storage . model . team . Foot ball Team Data Ċ import Ġcom . example . foot ball league local storage . response . match . List Match Response Ċ import Ġcom . example . foot ball league local storage . response . team . Team Response Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . coroutines . Deferred Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Before Ċ import Ġorg . mockito . Argument Matchers Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito Annotations Ċ Ċ class ĠList Match Presenter Test Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview : ĠLeague Match View ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgson : ĠGson ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapi Repository : ĠApi Repository ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapi Response : ĠDeferred < String > ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠList Match Presenter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp (){ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠList Match Presenter ( view , Ġapi Repository , Ġgson , ĠTest Context Provider ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetLast Match List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatch Data : ĠMutable List < Foot ball League Match > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġteam Data : ĠMutable List < Foot ball Team Data > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Match Ġ= ĠList Match Response ( match Data ) ĊĠĠĠĠĠĠĠ Ġval Ġresponse Team Ġ= ĠTeam Response ( team Data ) ĊĠĠĠĠĠĠĠ Ġval Ġid League Ġ= Ġ" 4 3 2 8 " ĊĠĠĠĠĠĠĠ Ġval Ġname League Ġ= Ġ" English ĠPrem iere ĠLeague " ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( api Repository . do Request ( Argument Matchers . any String ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( api Response ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( api Response . await ()). thenReturn ("") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Match Response :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). thenReturn ( response Match ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTeam Response :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). thenReturn ( response Team ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . getLast Match List ( id League , Ġname League ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). show Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). show Match List ( match Data , Ġteam Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). hide Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetNext Match List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatch Data : ĠMutable List < Foot ball League Match > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġteam Data : ĠMutable List < Foot ball Team Data > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Match Ġ= ĠList Match Response ( match Data ) ĊĠĠĠĠĠĠĠ Ġval Ġresponse Team Ġ= ĠTeam Response ( team Data ) ĊĠĠĠĠĠĠĠ Ġval Ġid League Ġ= Ġ" 4 3 2 8 " ĊĠĠĠĠĠĠĠ Ġval Ġname League Ġ= Ġ" English ĠPrem iere ĠLeague " ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( api Repository . do Request ( Argument Matchers . any String ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( api Response ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( api Response . await ()). thenReturn ("") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Match Response :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). thenReturn ( response Match ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito .` when `( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTeam Response :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). thenReturn ( response Team ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . getNext Match List ( id League , Ġname League ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). show Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). show Match List ( match Data , Ġteam Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito . verify ( view ). hide Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }