/* čĊ Ġ* ĠCopyright Ġ 2 0 1 2 ĠDaniel ĠSe id ler čĊ Ġ* čĊ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); čĊ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . čĊ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat čĊ Ġ* čĊ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 čĊ Ġ* čĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware čĊ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , čĊ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . čĊ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand čĊ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . čĊ Ġ*/ č Ċ package Ġorg . k atch ers č Ċ import Ġkotlin . test .* čĊčĊč Ċ /** čĊ Ġ* Ġ@ author ĠDaniel ĠSe id ler čĊ Ġ* Ġ@ since Ġ 2 0 1 2 / 1 1 / 2 0 čĊ Ġ* ĠShould ĠMatcher ĠFunctions čĊ Ġ*/ čĊč Ċ // ĠAny Ġshould č Ċ public Ġfun Ġ< T > T . should ( verb : ĠBE ): ĠAny Be Matcher < T > Ġ= ĠAny Be Matcher ( this ) č Ċ public Ġfun Ġ< T > T . should ( verb : ĠNOT BE ): ĠAny Not Be Matcher < T > Ġ= ĠAny Not Be Matcher ( this ) č Ċ public Ġfun Ġ< T > T . should ( verb : ĠMATCH ): ĠAny Match Matcher < T > Ġ= ĠAny Match Matcher ( this ) č Ċ public Ġfun Ġ< T > T . should ( verb : ĠNOT MATCH ): ĠAny Not Match Matcher < T > Ġ= ĠAny Not Match Matcher ( this ); čĊč Ċ // ĠString Ġshould Ġhave Ġ| Ġstart Ġ| Ġend Ġ| Ġcontain č Ċ public Ġfun ĠString . should ( verb : ĠHAVE ): ĠString Have Matcher Ġ= ĠString Have Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠNOT HAVE ): ĠString Not Have Matcher Ġ= ĠString Not Have Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠSTART ): ĠString Start Matcher Ġ= ĠString Start Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠNOT START ): ĠString Not Start Matcher Ġ= ĠString Not Start Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠEND ): ĠString End Matcher Ġ= ĠString End Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠNOT END ): ĠString Not End Matcher Ġ= ĠString Not End Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠCON TAIN ): ĠString Contain Matcher Ġ= ĠString Contain Matcher ( this ) č Ċ public Ġfun ĠString . should ( verb : ĠNOT CONTAIN ): ĠString Not Contain Matcher Ġ= ĠString Not Contain Matcher ( this ) čĊč Ċ // ĠNumber Ġshould Ġbe č Ċ public Ġ Ġfun ĠNumber . should ( verb : ĠBE ): ĠNumber Be Matcher Ġ= ĠNumber Be Matcher ( this ) č Ċ public Ġ Ġfun ĠNumber . should ( verb : ĠNOT BE ): ĠNumber Not Be Matcher Ġ= ĠNumber Not Be Matcher ( this ) čĊčĊč Ċ // () Ġ-> ĠUnit Ġshould Ġfail č Ċ public Ġfun Ġ< T : Ġ() Ġ-> ĠAny > T . should ( verb : ĠNOT FAIL ): ĠFunction Not Fail Matcher < T > Ġ= ĠFunction Not Fail Matcher ( this ) č Ċ public Ġfun Ġ< T : Ġ() Ġ-> ĠAny > T . should ( verb : ĠFAIL ): ĠFunction Fail Matcher < T > Ġ= ĠFunction Fail Matcher ( this ) čĊč Ċ // Collection č Ċ public Ġfun Ġ< T > Collection < T >. should ( verb : ĠCON TAIN ): ĠCollection Contain Matcher < T > Ġ= ĠCollection Contain Matcher ( this ) č Ċ public Ġfun Ġ< T > Collection < T >. should ( verb : ĠNOT CONTAIN ): ĠCollection Not Contain Matcher < T > Ġ= ĠCollection Not Contain Matcher ( this ) č Ċ public Ġfun Ġ< T > Collection < T >. should ( verb : ĠHAVE ): ĠCollection Have Matcher < T > Ġ= ĠCollection Have Matcher ( this ) č Ċ public Ġfun Ġ< T > Collection < T >. should ( verb : ĠNOT HAVE ): ĠCollection Not Have Matcher < T > Ġ= ĠCollection Not Have Matcher ( this ) čĊč Ċ // Map č Ċ public Ġfun Ġ< K , V > Map < K , V >. should ( verb : ĠCON TAIN ): ĠMap Contain Matcher < K , V > Ġ= ĠMap Contain Matcher ( this ) č Ċ public Ġfun Ġ< K , V > Map < K , V >. should ( verb : ĠNOT CONTAIN ): ĠMap Not Contain Matcher < K , V > Ġ= ĠMap Not Contain Matcher ( this ) č Ċ public Ġfun Ġ< K , V > Map < K , V >. should ( verb : ĠHAVE ): ĠMap Have Matcher < K , V > Ġ= ĠMap Have Matcher ( this ) č Ċ public Ġfun Ġ< K , V > Map < K , V >. should ( verb : ĠNOT HAVE ): ĠMap Not Have Matcher < K , V > Ġ= ĠMap Not Have Matcher ( this ) čĊčĊčĊčĊ čĊčĊčĊčĊč Ċ // public Ġfun Ġ< T > Iterable < T >. should ( func : ĠCont ain Function < T >) Ġ{ č Ċ // ĠĠĠ Ġthis Ġshould Ġcontain Ġitem Ġfunc . item č Ċ //} č Ċ // č Ċ // class ĠCont ain Function < T >( val Ġitem : ĠT ) Ġ{ č Ċ // č Ċ //} č Ċ // č Ċ // fun Ġcontain < T >( val Ġitem : ĠT ) Ġ= Ġ ĠCont ain Function ( item ) čĊ