package Ġcom . el pass ion . android . commons . rx java Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin . any Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . times Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġorg . junit . Test Ċ import Ġrx . ob servers . Test Subscriber Ċ import Ġrx . subjects . Publish Subject ĊĊ Ċ class ĠCatch OnError Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsubject Ġ= ĠPublish Subject . create < Int >() ĊĠĠĠ Ġprivate Ġval Ġsubscriber Ġ= ĠTest Subscriber < Int >() ĊĠĠĠ Ġprivate Ġval Ġhandle Exception : Ġ( Exception ) Ġ-> ĠUnit Ġ= Ġmock () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Catch Rx Error () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsubject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. catch OnError Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIllegalArgumentException Ġ-> Ġhandle Exception ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( subscriber ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= ĠIllegalArgumentException () ĊĊĠĠĠĠĠĠĠ Ġsubject . onError ( exception ) ĊĊĠĠĠĠĠĠĠ Ġverify ( handle Exception ). invoke ( exception ) ĊĠĠĠĠĠĠĠ Ġsubscriber . assert No Errors () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Catch Rx Error () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsubject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. catch OnError Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIllegalStateException Ġ-> Ġhandle Exception ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( subscriber ) ĊĊĠĠĠĠĠĠĠ Ġsubject . onError ( IllegalArgumentException ()) ĊĊĠĠĠĠĠĠĠ Ġverify ( handle Exception , Ġtimes ( 0 )). invoke ( any ()) ĊĠĠĠĠĠĠĠ Ġsubscriber . assert Error ( IllegalArgumentException :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Pass Items Through () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsubject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. catch OnError Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( subscriber ) ĊĊĠĠĠĠĠĠĠ Ġsubject . onNext ( 2 ) ĊĠĠĠĠĠĠĠ Ġsubject . onNext ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġsubscriber . assert Values ( 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġsubscriber . assert No Errors () ĊĠĠĠ Ġ} Ċ }