package Ġcom . mat tm ik . rap ira . objects Ċ Ċ import Ġcom . mat tm ik . rap ira . util . Result Ċ import Ġio . kot est . matchers . Matcher Ċ import Ġio . kot est . matchers . Matcher Result Ċ import Ġio . kot est . matchers . should Ċ import Ġio . kot est . matchers . types . be OfType Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . ar bitrary Ċ import Ġio . kot est . property . ar bitrary . bool Ċ import Ġio . kot est . property . ar bitrary . choice Ċ import Ġio . kot est . property . ar bitrary . constant Ċ import Ġio . kot est . property . ar bitrary . double Ċ import Ġio . kot est . property . ar bitrary . int Ċ import Ġio . kot est . property . ar bitrary . map Ċ import Ġio . kot est . property . ar bitrary . string Ċ Ċ fun Ġconvert ToString ( expected : ĠString ) Ġ= Ġobject Ġ: ĠMatcher < R Object > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠR Object ) Ġ= ĊĠĠĠĠĠĠĠ ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toString () Ġ== Ġexpected , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Object Ġ$ value Ġshould Ġconvert Ġto Ġstring Ġ$ expected ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Object Ġ$ value Ġshould Ġnot Ġconvert Ġto Ġstring Ġ$ expected " ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ Ċ infix Ġfun ĠR Object . should Convert ToString ( expected : ĠString ) Ġ= Ġthis Ġshould Ġconvert ToString ( expected ) Ċ Ċ fun Ġ< T > Ġsucceed With ( expected : ĠT ) Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >) Ġ= ĊĠĠĠĠĠĠĠ ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠResult . Success Ġ&& Ġvalue . obj Ġ== Ġexpected , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġ$ value Ġshould Ġbe Ġsuccessful Ġwith Ġvalue Ġ$ expected ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġ$ value Ġshould Ġnot Ġbe Ġsuccessful Ġwith Ġvalue Ġ$ expected " ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ Ċ infix Ġfun Ġ< T > ĠResult < T >. should Suc ceed With ( expected : ĠT ) Ġ= Ġthis Ġshould Ġsucceed With ( expected ) Ċ Ċ fun Ġ< T > ĠResult < T >. should Error () Ġ= Ġthis Ġshould Ġbe OfType < Result . Error >() Ċ Ċ fun Ġ< T > Ġerror With ( expected : ĠString ) Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >) Ġ= ĊĠĠĠĠĠĠĠ ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠResult . Error Ġ&& Ġvalue . reason Ġ== Ġexpected , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġ$ value Ġshould Ġbe Ġerror Ġwith Ġreason Ġ$ expected ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġ$ value Ġshould Ġnot Ġbe Ġerror Ġwith Ġreason Ġ$ expected " ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ Ċ infix Ġfun Ġ< T > ĠResult < T >. should Error With ( reason : ĠString ) Ġ= Ġthis Ġshould Ġerror With ( reason ) Ċ Ċ val Ġrap ira Empty Ar b Ġ= ĠA rb . constant ( Empty ) Ċ val Ġrap ira Function Ar b Ġ= Ġarbitrary Ġ{ ĠFunction () Ġ} Ċ val Ġrap ira Integer Ar b Ġ= ĠA rb . int (). map Ġ{ Ġnum Ġ-> Ġnum . to R Integer () Ġ} Ċ val Ġrap ira Logical Ar b Ġ= ĠA rb . bool (). map Ġ{ Ġbool Ġ-> ĠLogical ( bool ) Ġ} Ċ val Ġrap ira Procedure Ar b Ġ= Ġarbitrary Ġ{ ĠProcedure () Ġ} Ċ val Ġrap ira Real Ar b Ġ= ĠA rb . double (). map Ġ{ Ġdouble Ġ-> ĠReal ( double ) Ġ} Ċ val Ġrap ira Text Ar b Ġ= ĠA rb . string (). map Ġ{ Ġstr Ġ-> Ġstr . to Text () Ġ} Ċ val Ġrap ira Object Ar b Ġ= ĠA rb . choice ( ĊĠĠĠ Ġrap ira Empty Ar b , ĊĠĠĠ Ġrap ira Function Ar b , ĊĠĠĠ Ġrap ira Integer Ar b , ĊĠĠĠ Ġrap ira Logical Ar b , ĊĠĠĠ Ġrap ira Procedure Ar b , ĊĠĠĠ Ġrap ira Real Ar b , ĊĠĠĠ Ġrap ira Text Ar b Ċ ) Ċ