package Ġcom . ba el . d ads . data . remote . test . service Ċ Ċ import Ġcom . ba el . d ads . shared . response . Response Ċ import Ġcom . ba el . d ads . shared . response . Response . Error Ċ import Ġcom . ba el . d ads . shared . response . Response . Success Ċ import Ġkotlin . Result . Companion . failure Ċ import Ġkotlin . Result . Companion . success Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEr ick Sum argo Ġon Ġ 0 1 / 0 1 / 2 1 . Ċ Ġ*/ Ċ Ċ internal Ġabstract Ġclass ĠFake Base Service < T > Ġ: ĠRemote Service < T > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġresponses : ĠArray < out ĠResponse < T >> Ġ= ĠarrayOf () ĊĊĠĠĠ Ġprivate Ġvar Ġcount : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprotected Ġval Ġresult : ĠResult < T > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġresponse Ġ= Ġresponses [ count ++ ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠError Ġ-> Ġfailure ( response . error Ġas ĠThrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> Ġsuccess ( response . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfailure ( Exception (" Connection Ġerror ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubmit Responses ( var arg Ġresponses : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . responses Ġ= Ġresponses ĊĠĠĠ Ġ} Ċ } Ċ