/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 2 ĠMat th ias ĠGe is ler Ġ( bit P ogo ) Ġ/ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby ĠApache Ġv 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġtech . ant ib y tes . k mock . verification Ċ Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . Fun Proxy Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . H AD _ BE EN _ CAL LED _ NO _ MATCH ER Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . IL LEG AL _ VALUE Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . MIS MATCH Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . MIS MATCH ING _ SIZE Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . MISSING _ IN VOC ATION Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . NON _ VOID _ FUNCTION Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . NOT _ GET Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . NOT _ SET Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . Proxy Ċ import Ġtech . ant ib y tes . k mock . K Mock Contract . VOID _ FUNCTION Ċ import Ġtech . ant ib y tes . k mock . util . format Ċ Ċ internal Ġobject ĠAssertions Ġ: ĠK Mock Contract . Assertions Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġ< T > ĠProxy < *, ĠT >. guard Actual Retrie val ( call Index : ĠInt ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . get Arguments For Call ( call Index ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( MISSING _ IN VOC ATION . format ( call Index Ġ+ Ġ 1 , Ġthis . id )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Been Called AtIndex ( proxy : ĠFun Proxy < *, Ġ* >, Ġcall Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproxy . guard Actual Retrie val ( call Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Been Called With Void AtIndex ( proxy : ĠFun Proxy < *, Ġ* >, Ġcall Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ). has Been Called With Void () ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! actual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( VOID _ FUNCTION . format ( proxy . id )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Been Called With AtIndex ( proxy : ĠFun Proxy < *, Ġ* >, Ġcall Index : ĠInt , Ġvar arg Ġarguments : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĊĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġactual . has Been Called With (* arguments ) Ġ{ Ġ_, Ġidx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMIS MATCH . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments [ idx ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual [ idx ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH AD _ BE EN _ CAL LED _ NO _ MATCH ER . format ( arguments . first ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Been Strict ly Called With AtIndex ( ĊĠĠĠĠĠĠĠ Ġproxy : ĠFun Proxy < *, Ġ* >, ĊĠĠĠĠĠĠĠ Ġcall Index : ĠInt , ĊĠĠĠĠĠĠĠ Ġvar arg Ġarguments : ĠAny ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġactual . has Been Strict ly Called With (* arguments ) Ġ{ Ġactual Argument , Ġidx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMIS MATCH . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments [ idx ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual Argument ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMIS MATCH ING _ SIZE . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Been Called Without AtIndex ( ĊĠĠĠĠĠĠĠ Ġproxy : ĠFun Proxy < *, Ġ* >, ĊĠĠĠĠĠĠĠ Ġcall Index : ĠInt , ĊĠĠĠĠĠĠĠ Ġvar arg Ġillegal : ĠAny ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġactual . has Been Called Without (* il legal ) Ġ{ Ġactual Argument , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIL LEG AL _ VALUE . format ( actual Argument ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( NON _ VOID _ FUNCTION ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwas Got ten AtIndex ( proxy : ĠK Mock Contract . Property Proxy <* >, Ġcall Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! actual . was Got ten ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( NOT _ GET ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwas Set AtIndex ( proxy : ĠK Mock Contract . Property Proxy <* >, Ġcall Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! actual . was Set ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( NOT _ SET ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwas Set To AtIndex ( proxy : ĠK Mock Contract . Property Proxy <* >, Ġcall Index : ĠInt , Ġvalue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproxy . guard Actual Retrie val ( call Index ) ĊĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġactual . was Set To ( value ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Ġis ĠK Mock Contract . Get Or Set . Get ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( NOT _ SET ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMIS MATCH . format ( value , Ġactual . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ