/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠP eg as ystem s ĠInc . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġa ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġcom . pe ga . m mock . scenarios Ċ Ċ import Ġcom . pe ga . m mock . MM ock Recording Exception Ċ import Ġcom . pe ga . m mock . MM ock Verification Exception Ċ import Ġcom . pe ga . m mock . No Method Stub Exception Ċ import Ġcom . pe ga . m mock . dsl . any Ċ import Ġcom . pe ga . m mock . dsl . any Array Ċ import Ġcom . pe ga . m mock . dsl . any List Ċ import Ġcom . pe ga . m mock . dsl . any Map Ċ import Ġcom . pe ga . m mock . dsl . any Set Ċ import Ġcom . pe ga . m mock . dsl . eq Ċ import Ġcom . pe ga . m mock . dsl . never Ċ import Ġcom . pe ga . m mock . dsl . on Ċ import Ġcom . pe ga . m mock . dsl . on Array Ċ import Ġcom . pe ga . m mock . dsl . on List Ċ import Ġcom . pe ga . m mock . dsl . on Map Ċ import Ġcom . pe ga . m mock . dsl . on Set Ċ import Ġcom . pe ga . m mock . dsl . once Ċ import Ġcom . pe ga . m mock . dsl . times Ċ import Ġcom . pe ga . m mock . dsl . tw ice Ċ import Ġcom . pe ga . m mock . samples . Example Interface Ċ import Ġcom . pe ga . m mock . verify Failed Ċ import Ġcom . pe ga . m mock . with MM ock Ċ import Ġkotlin . js . Js Name Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertNot Equals Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠArgument Matcher Sc enarios Ġ{ ĊĠĠĠ Ġclass ĠDeleg ated List < T >( private Ġval Ġdelegate : ĠList < T > Ġ= ĠlistOf ()) Ġ: ĠList < T > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠDeleg ated Mutable List < T >( private Ġval Ġdelegate : ĠMutable List < T > Ġ= Ġmutable ListOf ()) Ġ: ĠMutable List < T > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠNew Deleg ated Mutable List < T >( private Ġval Ġdelegate : ĠMutable List < T > Ġ= Ġmutable ListOf ()) Ġ: ĠMutable List < T > Ġby Ġdelegate ĊĊĠĠĠ Ġclass ĠDeleg ated Set < T >( private Ġval Ġdelegate : ĠSet < T > Ġ= Ġset Of ()) Ġ: ĠSet < T > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠDeleg ated Mutable Set < T >( private Ġval Ġdelegate : ĠMutable Set < T > Ġ= Ġmutable Set Of ()) Ġ: ĠMutable Set < T > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠNew Deleg ated Mutable Set < T >( private Ġval Ġdelegate : ĠMutable Set < T > Ġ= Ġmutable Set Of ()) Ġ: ĠMutable Set < T > Ġby Ġdelegate ĊĊĠĠĠ Ġclass ĠDeleg ated Map < T , ĠE >( private Ġval Ġdelegate : ĠMap < T , ĠE > Ġ= Ġmap Of ()) Ġ: ĠMap < T , ĠE > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠDeleg ated Mutable Map < T , ĠE >( private Ġval Ġdelegate : ĠMutable Map < T , ĠE > Ġ= Ġmutable Map Of ()) Ġ: ĠMutable Map < T , ĠE > Ġby Ġdelegate ĊĠĠĠ Ġclass ĠNew Deleg ated Mutable Map < T , ĠE >( private Ġval Ġdelegate : ĠMutable Map < T , ĠE > Ġ= Ġmutable Map Of ()) Ġ: ĠMutable Map < T , ĠE > Ġby Ġdelegate ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Equals _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Equals Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function ( eq ( 1 )) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function ( eq ( 2 )) Ġ} Ġreturns Ġ 2 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function ( 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġexample Interface . function ( 2 )) ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . function ( 3 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Any Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function ( 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function ( 2 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function ( Int . MAX _ VALUE )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ array _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Any Ġarray Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Array ( any Array ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function Array ( empty Array ())) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function Array ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ list _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Any Ġlist Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function List ( any List < Mutable List < Int >, ĠInt >()) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function List ( any List ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function List ( Deleg ated List ( listOf ( 1 , Ġ 2 , Ġ 3 )))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġexample Interface . function List ( Deleg ated Mutable List ( mutable ListOf ( 1 , Ġ 2 , Ġ 3 )))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ set _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Any Ġset Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Set ( any Set < Mutable Set < Int >, ĠInt >()) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Set ( any Set ()) Ġ} Ġreturns Ġ 2 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġexample Interface . function Set ( Deleg ated Set ( set Of ( 1 , Ġ 2 , Ġ 3 )))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function Set ( Deleg ated Mutable Set ( mutable Set Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 )))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ map _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` Any Ġmap Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Map ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Map ( any Map ()) Ġ} Ġreturns Ġ 2 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġexample Interface . function Map ( Deleg ated Map ( map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 ))))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . function Map ( Deleg ated Mutable Map ( mutable Map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 4 , Ġ 5 ))))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ collection _ matchers _ with _ that _ has _ Any _ type _ as _ parameter ") ĊĠĠĠ Ġfun Ġ` Any Ġcollection Ġmatch ers Ġwith Ġfunction Ġthat Ġhas ĠAny Ġtype Ġas Ġparameter `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any List < Mutable List < Int >, ĠInt >()) Ġ} Ġreturns Ġ" Mutable List " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any Set < Mutable Set < Int >, ĠInt >()) Ġ} Ġreturns Ġ" Mutable Set " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġreturns Ġ" Mutable Map " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any List < List < Int >, ĠInt >()) Ġ} Ġreturns Ġ" List " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any Set < Set < Int >, ĠInt >()) Ġ} Ġreturns Ġ" Set " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any Map < Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġreturns Ġ" Map " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any Array < Int >()) Ġ} Ġreturns Ġ" Array " ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Array ", Ġexample Interface . function Any ( array Of < Int > ())) ĊĠĠĠĠĠĠĠ ĠassertEquals (" List ", Ġexample Interface . function Any ( listOf < Int > ())) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Set ", Ġexample Interface . function Any ( set Of < Int > ())) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Map ", Ġexample Interface . function Any ( map Of < Int , ĠInt > ())) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Mutable List ", Ġexample Interface . function Any ( Deleg ated Mutable List < Int >( mutable ListOf ()))) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Mutable Set ", Ġexample Interface . function Any ( Deleg ated Mutable Set < Int >( mutable Set Of ()))) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Mutable Map ", Ġexample Interface . function Any ( Deleg ated Mutable Map < Int , ĠInt >( mutable Map Of ()))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" InstanceOf _ matcher _ in _ mock ") ĊĠĠĠ Ġfun Ġ` InstanceOf Ġmatcher Ġin Ġmock `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any < String >()) Ġ} Ġreturns Ġ" String " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any < Int >()) Ġ} Ġreturns Ġ" Int " ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" String ", Ġexample Interface . function Any ("")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Int ", Ġexample Interface . function Any ( 1 )) ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . function Any ( false ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Equals _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` Equals Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 2 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 1 )) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 2 )) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 3 )) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 4 )) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 1 )) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 2 )) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 2 )) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( eq ( 4 )) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ list _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` Any Ġlist Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function List ( any List < Mutable List < Int >, ĠInt >()) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function List ( any List ()) Ġ} Ġreturns Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function List ( Deleg ated List ( listOf ( 1 , Ġ 2 , Ġ 3 ))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function List ( Deleg ated Mutable List ( mutable ListOf ( 1 , Ġ 2 , Ġ 3 ))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function List ( Deleg ated List ( listOf ( 7 , Ġ 8 , Ġ 9 ))) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function List ( any List < Mutable List < Int >, ĠInt >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function List ( any List ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function List ( any List ()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function List ( any List ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function List ( any List < Mutable List < Int >, ĠInt >()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ set _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` Any Ġset Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Set ( any Set < Mutable Set < Int >, ĠInt >()) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Set ( any Set ()) Ġ} Ġreturns Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function Set ( Deleg ated Set ( set Of ( 1 , Ġ 2 , Ġ 3 ))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Set ( Deleg ated Mutable Set ( mutable Set Of ( 1 , Ġ 2 , Ġ 3 ))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Set ( Deleg ated Set ( set Of ( 7 , Ġ 8 , Ġ 9 ))) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Set ( any Set < Mutable Set < Int >, ĠInt >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Set ( any Set ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Set ( any Set ()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Set ( any Set ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Set ( any Set < Mutable Set < Int >, ĠInt >()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ map _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` Any Ġmap Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Map ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Map ( any Map ()) Ġ} Ġreturns Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function Map ( Deleg ated Map ( map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 )))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Map ( Deleg ated Mutable Map ( mutable Map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 )))) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Map ( Deleg ated Map ( map Of ( Pair ( 7 , Ġ 8 ), ĠPair ( 9 , Ġ 1 0 )))) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Map ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Map ( any Map ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Map ( any Map ()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Map ( any Map ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Map ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Any _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` Any Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 2 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġcalled Ġtimes ( 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġcalled Ġtimes ( 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġcalled Ġtimes ( 2 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġcalled Ġtimes ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function ( any ()) Ġ} Ġcalled Ġtimes ( 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" InstanceOf _ matcher _ in _ verification ") ĊĠĠĠ Ġfun Ġ` InstanceOf Ġmatcher Ġin Ġverification `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . function Any ( any ()) Ġ} Ġreturns ĠUnit ĊĊĠĠĠĠĠĠĠ Ġexample Interface . function Any ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Any ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Any ( 1 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . function Any (" A ") ĊĠĠĠĠĠĠĠ Ġexample Interface . function Any (" B ") ĊĠĠĠĠĠĠĠ Ġexample Interface . function Any ( false ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < Int >()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < String >()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < Boolean >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < Int >()) Ġ} Ġcalled Ġtimes ( 4 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < String >()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . function Any ( any < Boolean >()) Ġ} Ġcalled Ġtwice Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ argument _ matchers ___ complex _ mock _ scenario ") ĊĠĠĠ Ġfun Ġ` Multiple Ġargument Ġmatch ers Ġ- Ġcomplex Ġmock Ġscenario `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( eq ( 1 ), Ġeq ( 2 ), Ġeq ( 3 )) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( eq ( 1 ), Ġeq ( 2 ), Ġeq ( 4 )) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( eq ( 1 ), Ġeq ( 3 ), Ġeq ( 4 )) Ġ} Ġreturns Ġ 3 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( eq (" STR "), Ġeq ( 3 ), Ġeq ( 4 )) Ġ} Ġreturns Ġ 4 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 4 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġexample Interface . multiple Args ( 1 , Ġ 3 , Ġ 4 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġexample Interface . multiple Args (" STR ", Ġ 3 , Ġ 4 )) ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Args ( 0 , Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ argument _ matchers ___ complex _ verification _ scenario ") ĊĠĠĠ Ġfun Ġ` Multiple Ġargument Ġmatch ers Ġ- Ġcomplex Ġverification Ġscenario `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ("", Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ("", Ġ"", Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( 1 , Ġ"", Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( 1 , Ġ"", Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any (), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < Int >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany < String >(), Ġany ()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany < String >(), Ġany < String >()) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any (), Ġany (), Ġeq ( false )) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any (), Ġany (), Ġany ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < Int >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 2 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany < String >(), Ġany ()) Ġ} Ġcalled Ġnever Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any < String >(), Ġany < String >(), Ġany < String >()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any (), Ġany (), Ġeq ( false )) Ġ} Ġcalled Ġnever Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ argument _ matchers _ with _ list _ matcher ___ complex _ verification _ scenario ") ĊĠĠĠ Ġfun Ġ` Multiple Ġargument Ġmatch ers Ġwith Ġlist Ġmatcher Ġ- Ġcomplex Ġverification Ġscenario `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( any List < List < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated List ( listOf ( 1 , Ġ 2 , Ġ 3 )), Ġ 2 , Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated Mutable List ( mutable ListOf ( 1 , Ġ 2 , Ġ 3 )), Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( New Deleg ated Mutable List ( mutable ListOf ( 3 , Ġ 4 , Ġ 5 )), Ġ 7 , Ġ 5 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < List < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < List < Int >, ĠInt >(), Ġany < String >(), Ġany < String >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < Mutable List < Int >, ĠInt >(), Ġany < Int >(), Ġany < String >()) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < Mutable List < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < List < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any List < Mutable List < Int >, ĠInt >(), Ġany < String >(), Ġany ()) Ġ} Ġcalled Ġtwice Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Args ( 0 , Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ argument _ matchers _ with _ set _ matcher ___ complex _ verification _ scenario ") ĊĠĠĠ Ġfun Ġ` Multiple Ġargument Ġmatch ers Ġwith Ġset Ġmatcher Ġ- Ġcomplex Ġverification Ġscenario `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( any Set < Set < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated Set ( set Of ( 1 , Ġ 2 , Ġ 3 )), Ġ 2 , Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated Mutable Set ( mutable Set Of ( 1 , Ġ 2 , Ġ 3 )), Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( New Deleg ated Mutable Set ( mutable Set Of ( 3 , Ġ 4 , Ġ 5 )), Ġ 7 , Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Set < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Set < Int >, ĠInt >(), Ġany < String >(), Ġany < String >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Mutable Set < Int >, ĠInt >(), Ġany < Int >(), Ġany < String >()) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Mutable Set < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Set < Int >, ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Set < Mutable Set < Int >, ĠInt >(), Ġany < String >(), Ġany ()) Ġ} Ġcalled Ġtwice Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Args ( 0 , Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ argument _ matchers _ with _ map _ matcher ___ complex _ verification _ scenario ") ĊĠĠĠ Ġfun Ġ` Multiple Ġargument Ġmatch ers Ġwith Ġmap Ġmatcher Ġ- Ġcomplex Ġverification Ġscenario `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( any Map < Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany (), Ġany ()) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated Map ( map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 ))), Ġ 2 , Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( Deleg ated Mutable Map ( mutable Map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 ))), Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Args ( New Deleg ated Mutable Map ( mutable Map Of ( Pair ( 1 , Ġ 2 ), ĠPair ( 3 , Ġ 4 ))), Ġ 7 , Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany < String >(), Ġany < String >()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany < Int >(), Ġany < String >()) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany (), Ġany ()) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any Map < Mutable Map < Int , ĠInt >, ĠInt , ĠInt >(), Ġany < String >(), Ġany ()) Ġ} Ġcalled Ġtwice Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Args ( 0 , Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Multiple _ collection _ argument _ matchers ") ĊĠĠĠ Ġfun Ġ` Multiple Ġcollection Ġargument Ġmatch ers `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set (), Ġany Map ()) Ġ} Ġreturns Ġ"" ĊĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Collection Args ( Deleg ated List ( listOf ( 1 , Ġ 2 , Ġ 3 )), ĠDeleg ated Set ( set Of (" Int ", Ġ" String ")), ĠDeleg ated Map ()) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Collection Args ( Deleg ated Mutable List ( mutable ListOf ( 1 , Ġ 2 , Ġ 3 )), ĠDeleg ated Mutable Set ( mutable Set Of (" String ")), ĠDeleg ated Mutable Map ()) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Collection Args ( New Deleg ated Mutable List (), ĠNew Deleg ated Mutable Set (), ĠNew Deleg ated Mutable Map ()) ĊĠĠĠĠĠĠĠ Ġexample Interface . multiple Collection Args ( Deleg ated List (), ĠDeleg ated Mutable Set (), ĠDeleg ated Map ()) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set (), Ġany Map ()) Ġ} Ġcalled Ġtimes ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set (), Ġany Map ()) Ġ} Ġcalled Ġ{ Ġit Ġ> Ġ 2 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set (), Ġany Map ()) Ġ} Ġcalled Ġ{ Ġit Ġ>= Ġ 4 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set < Mutable Set < String >, ĠString >(), Ġany Map ()) Ġ} Ġcalled Ġtimes ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set < Mutable Set < String >, ĠString >(), Ġany Map < Mutable Map < Int , ĠString >, ĠInt , ĠString >()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List < Mutable List < Int >, ĠInt >(), Ġany Set (), Ġany Map ()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġany Set (), Ġany Map ()) Ġ} Ġcalled Ġtimes ( 3 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < MM ock Recording Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Collection Args ( mutable ListOf (), Ġany Set (), Ġany Map ()) Ġ} Ġreturns Ġ" Error " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Implicit _ equals _ argument _ matcher _ during _ recording ") ĊĠĠĠ Ġfun Ġ` Implicit Ġequals Ġargument Ġmatcher Ġduring Ġrecording `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 ) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 1 , Ġ 2 ), Ġset Of (" Int ", Ġ" String "), Ġmap Of ( Pair ( 1 , Ġ" String "))) Ġ} Ġreturns Ġ" String " ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠassertEquals (" String ", Ġexample Interface . multiple Collection Args ( listOf ( 1 , Ġ 2 ), Ġset Of (" Int ", Ġ" String "), Ġmap Of ( Pair ( 1 , Ġ" String ")) )) ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Args ( 0 , Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġexample Interface . multiple Collection Args ( listOf (), Ġset Of (), Ġmap Of ()) Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 ) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 1 , Ġ 2 ), Ġset Of (" Int ", Ġ" String "), Ġmap Of ( Pair ( 1 , Ġ" String "))) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( 3 , Ġ 2 , Ġ 1 ) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 3 , Ġ 4 ), Ġset Of (" Not Int ", Ġ" Not String "), Ġmap Of ( Pair ( 2 , Ġ" Not String "))) Ġ} Ġcalled Ġnever ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( 1 , Ġ 2 , Ġ 3 ) Ġ} Ġcalled Ġnever Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 1 , Ġ 2 ), Ġset Of (" Int ", Ġ" String "), Ġmap Of ( Pair ( 1 , Ġ" String "))) Ġ} Ġcalled Ġnever Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( 3 , Ġ 2 , Ġ 1 ) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( 3 , Ġ 2 , Ġ 1 ) Ġ} Ġcalled Ġ{ Ġit Ġ> Ġ 0 Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġverify Failed Ġ{ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 3 , Ġ 4 ), Ġset Of (" Not Int ", Ġ" Not String "), Ġmap Of ( Pair ( 2 , Ġ" Not String "))) Ġ} Ġcalled Ġonce Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Error _ is _ throw n _ in _ case _ of _ mixed _ matcher _ usage ") ĊĠĠĠ Ġfun Ġ` Error Ġis Ġthrown Ġin Ġcase Ġof Ġmixed Ġmatcher Ġusage `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < MM ock Recording Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Args ( 1 , Ġany (), Ġ 3 ) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġexample Interface . multiple Collection Args ( listOf ( 1 , Ġ 2 ), Ġany Set (), Ġany Map ()) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < MM ock Recording Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Args ( any (), Ġ 2 , Ġ 3 ) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġexample Interface . multiple Collection Args ( any List (), Ġset Of (" Int ", Ġ" String "), Ġany Map ()) Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Mock ed _ null _ values ") ĊĠĠĠ Ġfun Ġ` Mock ed Ġnull Ġvalues `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock Ġ= Ġmock . Example Interface () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . mutable Property Ġ} Ġreturns Ġnull ĊĠĠĠĠĠĠĠ ĠassertNull ( my Mock . mutable Property ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Test _ mutable _ property ") ĊĠĠĠ Ġfun Ġ` Test Ġmutable Ġproperty `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock : ĠExample Interface Ġ= Ġmock . Example Interface () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . mutable Property Ġ= Ġany () Ġ} Ġreturns ĠUnit ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . mutable Property Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . mutable Property ) ĊĠĠĠĠĠĠĠ Ġmy Mock . mutable Property Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . mutable Property ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . mutable Property Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . mutable Property Ġ= Ġany () Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < MM ock Verification Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . mutable Property Ġ} Ġcalled Ġ{ Ġit Ġ< Ġ 2 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Test _ immutable _ property ") ĊĠĠĠ Ġfun Ġ` Test Ġimmutable Ġproperty `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock : ĠExample Interface Ġ= Ġmock . Example Interface () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . property Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . property ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . property Ġ} Ġcalled Ġonce ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . property Ġ} Ġcalled Ġ{ Ġit Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Test _ on _ matcher ") ĊĠĠĠ Ġfun Ġ` Test Ġon Ġmatcher `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock : ĠExample Interface Ġ= Ġmock . Example Interface () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function ( on Ġ{ Ġit Ġ> Ġ 8 Ġ}) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function ( on Ġ{ Ġit Ġ> Ġ 4 Ġ}) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function ( on Ġ{ Ġit Ġ<= Ġ 0 Ġ}) Ġ} Ġreturns Ġ- 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function String ( on Ġ{ Ġit . split (" Ġ"). contains (" test ") Ġ}) Ġ} Ġreturns Ġ 3 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function String ( any ()) Ġ} Ġreturns Ġ 4 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġmy Mock . function ( 5 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . function ( 1 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 , Ġmy Mock . function ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 , Ġmy Mock . function (- 1 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġmy Mock . function String (" This Ġis Ġthe Ġtest Ġstring ")) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( 3 , Ġmy Mock . function String (" String Ġwithout Ġthe Ġrequired Ġpart ")) ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġmy Mock . function ( 2 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Test _ on _ matcher _ with _ collections ") ĊĠĠĠ Ġfun Ġ` Test Ġon Ġmatcher Ġwith Ġcollections `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock : ĠExample Interface Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Array ( on Array Ġ{ Ġit . isEmpty () Ġ}) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Mutable List ( on List Ġ{ Ġit . contains ( 4 ) Ġ}) Ġ} Ġreturns Ġ 3 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Mutable List ( any List ()) Ġ} Ġreturns Ġ 2 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Any ( on List < Mutable List < String >, ĠString > Ġ{ Ġit . size Ġ== Ġ 3 Ġ}) Ġ} Ġreturns Ġ 4 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Mutable Set ( on Set Ġ{ Ġit . size Ġ== Ġ 3 Ġ}) Ġ} Ġreturns Ġ 5 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Any ( on Set < Set < String >, ĠString > Ġ{ Ġit . contains (" A ") Ġ}) Ġ} Ġreturns Ġ 6 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Map ( on Map Ġ{ Ġit . containsKey ( 3 ) Ġ}) Ġ} Ġreturns Ġ 7 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function Any ( on Map < Mutable Map < Int , ĠString >, ĠInt , ĠString > Ġ{ Ġit . contains Value (" B ") Ġ}) Ġ} Ġreturns Ġ 8 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . function Array ( empty Array ())) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġmy Mock . function Mutable List ( Deleg ated Mutable List ( mutable ListOf ( 1 , Ġ 2 , Ġ 3 )))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġmy Mock . function Mutable List ( Deleg ated Mutable List ( mutable ListOf ( 3 , Ġ 4 )))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġmy Mock . function Any ( Deleg ated Mutable List ( mutable ListOf (" A ", Ġ" B ", Ġ" C ")) )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 , Ġmy Mock . function Mutable Set ( Deleg ated Mutable Set ( mutable Set Of ( 1 , Ġ 2 , Ġ 3 )))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġmy Mock . function Any ( Deleg ated Mutable Set ( mutable Set Of (" A ", Ġ" B ", Ġ" C ")) )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 7 , Ġmy Mock . function Map ( Deleg ated Map ( map Of ( Pair ( 1 , Ġ 1 ), ĠPair ( 2 , Ġ 2 ), ĠPair ( 3 , Ġ 3 ))))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġmy Mock . function Any ( Deleg ated Mutable Map ( mutable Map Of ( Pair ( 1 , Ġ" B "), ĠPair ( 2 , Ġ" A ")) ))) ĊĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġmy Mock . function Mutable Set ( Deleg ated Mutable Set ( mutable Set Of ())) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġmy Mock . function Any (" String ") Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < No Method Stub Exception > Ġ{ Ġmy Mock . function Map ( Deleg ated Map ( map Of ( Pair ( 1 , Ġ 1 ), ĠPair ( 2 , Ġ 2 )))) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Js Name (" Test _ any _ matcher _ with _ null ") ĊĠĠĠ Ġfun Ġ` Test Ġany Ġmatcher Ġwith Ġnull `() Ġ= Ġwith MM ock Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Mock Ġ= Ġmock . Example Interface () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function String Nullable ( any < String >()) Ġ} Ġreturns Ġ 1 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmy Mock . function String Nullable ( any ()) Ġ} Ġreturns Ġ 2 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġmy Mock . function String Nullable ( null )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmy Mock . function String Nullable (" String ")) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation Ġ{ Ġmy Mock . function String Nullable ( any ()) Ġ} Ġcalled Ġtwice ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ