package Ġtech . med ina . tv shows . domain . use case Ċ Ċ import Ġcom . google . common . truth . Truth Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Sequence Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . Test Ċ import Ġtech . med ina . tv shows . base . Base Test Ċ import Ġtech . med ina . tv shows . data . tv shows . IT v Shows Repository Ċ import Ġtech . med ina . tv shows . domain . model . Data State Ċ import Ġtech . med ina . tv shows . util . Fake Model Ċ Ċ @ Experimental Cor outines Api Ċ class ĠGet Show Detail UseCase Test Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= Ġmock k < IT v Shows Repository > Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġget Tv Show Detail ( any ()) Ġ} Ġreturns ĠFake Model . show Full ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġshow Ġdetail Ġsuccessfully `() Ġ= Ġdispatcher . run Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĠGet Show Detail UseCase ( repository ) ĊĠĠĠĠĠĠĠ Ġval Ġdetail State Ġ= Ġuse Case ( 1 2 3 ) ĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . get Tv Show Detail ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( detail State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( this ). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġas ĠData State . Success ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( this . result ). isEqualTo ( Fake Model . show Full ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġshow Ġdetail Ġwith Ġerror `() Ġ= Ġdispatcher . run Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĠGet Show Detail UseCase ( repository ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepository . get Tv Show Detail ( any ()) Ġ} Ġthrows ĠException (" error ") ĊĠĠĠĠĠĠĠ Ġval Ġdetail State Ġ= Ġuse Case ( 1 2 3 ) ĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . get Tv Show Detail ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( detail State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( this ). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġas ĠData State . Error ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( this . error ). isEqualTo (" error ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }