package Ġorg . from source . ki wi . core . collection Ċ Ċ import Ġorg . from source . ki wi . core . Be Equal Ċ import Ġorg . from source . ki wi . core . assert Ċ Ċ open Ġclass ĠMap Should < K , ĠV >( private Ġval Ġactual : ĠMap < K , ĠV >) Ġ: ĠBe Equal < Map < K , ĠV >, ĠMap Should < K , ĠV >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġactual (): ĠMap < K , ĠV > Ġ= Ġactual ĊĊĠĠĠ Ġopen Ġfun Ġbe Empty (): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġbe Ġempty " ĊĠĠĠĠĠĠĠ Ġassert ( actual . isEmpty ()) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġin fix Ġfun Ġhave Size ( size : ĠInt ): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhas Size Ġ= Ġactual . size Ġ== Ġsize ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġhave Ġsize Ġ$ size " ĊĠĠĠĠĠĠĠ Ġassert ( has Size ) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġin fix Ġfun Ġcontain Key ( key : ĠK ): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġactual . containsKey ( key ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġcontain Ġkey Ġ'$ key '" ĊĠĠĠĠĠĠĠ Ġassert ( contains ) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġin fix Ġfun Ġcontain Value ( value : ĠV ): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġactual . contains Value ( value ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġcontain Ġvalue Ġ'$ value '" ĊĠĠĠĠĠĠĠ Ġassert ( contains ) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġin fix Ġfun Ġmatch Any ( predicate : Ġ( Map . Entry < K , ĠV >) Ġ-> ĠBoolean ): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatch Any Ġ= Ġactual . any ( predicate ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġmatch Ġany Ġpredicate " ĊĠĠĠĠĠĠĠ Ġassert ( match Any ) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġin fix Ġfun Ġmatch All ( predicate : Ġ( Map . Entry < K , ĠV >) Ġ-> ĠBoolean ): ĠMap Should < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatch All Ġ= Ġactual . any ( predicate ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ"$ actual Ġshould Ġmatch Ġall Ġpredicate " ĊĠĠĠĠĠĠĠ Ġassert ( match All ) Ġ{ Ġmessage Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ }