package Ġco . nim ble hq . use case . survey Ċ Ċ import Ġco . nim ble hq . data . error . Survey Error Ċ import Ġco . nim ble hq . data . lib . schedul ers . Test Rx Scheduler Provider Impl Ċ import Ġco . nim ble hq . data . repository . Survey Repository Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . reactivex . Comp letable Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠSubmit Survey Responses Comp letable UseCase Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock Survey Repository : ĠSurvey Repository ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuse Case : ĠSubmit Survey Responses Comp letable UseCase ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Survey Repository Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġuse Case Ġ= ĠSubmit Survey Responses Comp letable UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Rx Scheduler Provider Impl (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Survey Repository ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġsubmitting Ġsurvey Ġresponses Ġsucceeds , Ġit Ġreturns ĠComplete `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġwhenever ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Survey Repository . submit Survey Responses ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ) Ġdo Return ĠComp letable . complete () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ Ġval Ġpositive Test Subscriber Ġ= Ġuse Case ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubmit Survey Responses Comp letable UseCase . Input ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" survey Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ Ġpositive Test Subscriber ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert No Errors () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġsubmitting Ġsurvey Ġresponses Ġfails , Ġit Ġreturns ĠSubmit Survey Responses Error `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġwhenever ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Survey Repository . submit Survey Responses ( any (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ) Ġdo Return ĠComp letable . error ( Survey Error . Submit Survey Responses Error ( null )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ Ġval Ġnegative Test Subscriber Ġ= Ġuse Case ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubmit Survey Responses Comp letable UseCase . Input ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" survey Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ Ġnegative Test Subscriber ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Error Ġ{ Ġit Ġis ĠSurvey Error . Submit Survey Responses Error Ġ} ĊĠĠĠ Ġ} Ċ } Ċ