package Ġcom . github . o ow ek y ala . ij cc . lang . util Ċ Ċ import Ġio . kot lint est . Matcher Ċ import Ġio . kot lint est . Result Ċ import Ġio . kot lint est . should Not Be Ċ import Ġio . kot lint est . should Ġas Ġkt Should Ċ import Ġio . kot lint est . shouldBe Ġas Ġkt ShouldBe ĊĊ Ċ fun Ġ< T , ĠC Ġ: ĠCollection < T >> ĠC ?. each Should Match In Order ( var arg Ġassertions : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĊĠĠĠ Ġthis Ġshould Not Be Ġnull ĊĊĠĠĠ Ġthis !! Ġ// Ġjust Ġto Ġinform Ġthe Ġtype Ġsystem ĊĊĊĠĠĠ Ġthis . zip ( assertions ). forEach Ġ{ Ġ( item , Ġmatcher ) Ġ-> ĊĠĠĠĠĠĠĠ Ġmatcher ( item ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġthis . size Ġkt ShouldBe Ġassertions . size Ċ } ĊĊ Ċ fun Ġ< T , ĠC Ġ: ĠCollection < T >> ĠC ?. each Should Match In Order ( var arg Ġmatch ers : ĠMatcher < T >) Ġ{ ĊĊĠĠĠ Ġthis Ġshould Not Be Ġnull ĊĊĠĠĠ Ġthis !! Ġ// Ġjust Ġto Ġinform Ġthe Ġtype Ġsystem ĊĊĠĠĠ Ġthis . size Ġkt ShouldBe Ġmatch ers . size ĊĊĠĠĠ Ġthis . zip ( matchers ). forEach Ġ{ Ġ( item , Ġmatcher ) Ġ-> ĊĠĠĠĠĠĠĠ Ġitem Ġkt Should Ġmatcher ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠString . normalize WhiteSpace (): ĠString Ġ= Ġreplace ( Regex (""" ([\ s ] |\ R )+ "" "), Ġ" Ġ"). trim () Ċ Ċ fun Ġ< A , ĠB > ĠMatcher < A >. map ( f : Ġ( B ) Ġ-> ĠA ): ĠMatcher < B > Ġ= Ġobject Ġ: ĠMatcher < B > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠB ): ĠResult Ġ= Ġthis @ map . test ( f ( value )) Ċ } ĊĊ Ċ inline Ġfun Ġstring Matchers Ignore Whitespace ( assertions : ĠIgnore Whitespace Ctx . () Ġ-> ĠUnit ): ĠUnit Ġ= ĊĠĠĠ ĠIgnore Whitespace Ctx (). assertions () Ċ Ċ /** ĠRe bind s Ġmatch Ġmethods Ġfor Ġstrings Ġto Ġsomething Ġthat Ġnormal izes Ġwhitespace Ġbefore Ġhandling . Ġ*/ Ċ class ĠIgnore Whitespace Ctx Ġ{ ĊĊĊĠĠĠ Ġin fix Ġfun ĠString ?. should ( matcher : ĠMatcher < in ĠString ?> ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ?. normalize WhiteSpace () Ġkt Should Ġmatcher . map Ġ{ Ġit ?. normalize WhiteSpace () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġin fix Ġfun ĠString ?. shouldBe ( value : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ?. normalize WhiteSpace () Ġkt ShouldBe Ġvalue ?. normalize WhiteSpace () ĊĠĠĠ Ġ} Ċ Ċ } Ċ