package Ġtest . results Ċ import Ġorg . junit . Assert Ċ import Ġs late kit . results .* Ċ import Ġs late kit . results . Status Ċ Ċ interface ĠResult Test Support Ġ{ ĊĊĊĠĠĠ Ġfun Ġ< T > Ġensure Success ( ĊĠĠĠĠĠĠĠ Ġresult : ĠResult < T , ĠErr >, ĊĠĠĠĠĠĠĠ Ġexpected Status : ĠStatus , ĊĠĠĠĠĠĠĠ Ġexpected Value : ĠT , ĊĠĠĠĠĠĠĠ Ġexpected Message : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġexpected Code : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( Ġresult . success , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( Ġresult . status . code , Ġ( expected Code Ġ?: Ġexpected Status . code )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( Ġresult . status . desc Ġ, Ġ( expected Message Ġ?: Ġexpected Status . desc )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( Ġresult . code Ġ, Ġ( expected Code Ġ?: Ġexpected Status . code )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( Ġresult . desc Ġ, Ġ( expected Message Ġ?: Ġexpected Status . desc )) ĊĊĠĠĠĠĠĠĠ Ġresult . on Success Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected Value , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġ< T > Ġensure Failure ( ĊĠĠĠĠĠĠĠ Ġresult : ĠResult < T , Ġ* >, ĊĠĠĠĠĠĠĠ Ġexpected Status : ĠStatus , ĊĠĠĠĠĠĠĠ Ġexpected Status Msg : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġexpected StatusCode : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġexpected Error : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result . success Ġ, Ġfalse ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result . status . code Ġ, Ġ( expected StatusCode Ġ?: Ġexpected Status . code )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result . status . desc Ġ, Ġ( expected Status Msg Ġ?: Ġexpected Status . desc )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result . code Ġ, Ġ( expected StatusCode Ġ?: Ġexpected Status . code )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result . desc Ġ, Ġ( expected Status Msg Ġ?: Ġexpected Status . desc )) ĊĠĠĠĠĠĠĠ Ġresult . on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString ĠĠĠ Ġ-> ĠAssert . assertEquals ( it Ġ, Ġexpected Error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠErr . Error Info Ġ-> ĠAssert . assertEquals ( it . msg Ġ, Ġexpected Error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġthrow ĠException (" Unexpected Ġfor Ġ: Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }