package Ġcom . example . image gallery . utils Ċ Ċ import Ġcom . example . image gallery . data . model . Result Ċ import Ġio . kot est . matchers . Matcher Ċ import Ġio . kot est . matchers . Matcher Result Ċ import Ġio . kot est . matchers . should Ċ Ċ // ĠCustom ĠK ot est Ġmatch ers Ġfor Ġthe ĠResult Ġclass . Ċ Ċ fun Ġ< T > ĠResult < T >. shouldBe Success ( expected : ĠT ) Ġ= Ġthis Ġshould Ġbe Success ( expected ) Ċ Ċ fun Ġ< T > Ġbe Success ( expected : ĠT ) Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >): ĠMatcher Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! is ĠResult . Success < T > Ġ-> ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġbe ĠSuccess .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġnot Ġbe ĠSuccess ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . data Ġ== Ġexpected , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġbe ĠSuccess ($ expected ), Ġbut Ġinstead Ġgot ĠSuc ces (${ value . data }). ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġnot Ġbe ĠSuccess ($ expected )." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠResult < T >. shouldBe Error () Ġ= Ġthis Ġshould Ġbe Error () Ċ Ċ fun Ġ< T > Ġbe Error () Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >): ĠMatcher Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠResult . Error , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġbe ĠError .", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġnot Ġbe ĠError ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠResult < T >. shouldBe Empty () Ġ= Ġthis Ġshould Ġbe Empty () Ċ Ċ fun Ġ< T > Ġbe Empty () Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >): ĠMatcher Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠResult . Empty , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġbe ĠEmpty .", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġnot Ġbe ĠEmpty ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠResult < T >. shouldBe Loading () Ġ= Ġthis Ġshould Ġbe Loading () Ċ Ċ fun Ġ< T > Ġbe Loading () Ġ= Ġobject Ġ: ĠMatcher < Result < T >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest ( value : ĠResult < T >): ĠMatcher Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMatcher Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠResult . Loading , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġbe ĠLoading .", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Result Ġshould Ġnot Ġbe ĠLoading ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ