package Ġcom . green nick . result Ċ Ċ import Ġorg . junit . Test Ċ Ċ class ĠResult Empty Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġresult Ġsuccess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠResult . success () ĊĠĠĠĠĠĠĠ Ġassert ( result . is Success ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġresult Ġis Ġnot Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠResult . success () ĊĠĠĠĠĠĠĠ Ġassert (! result . is Failure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalStateException :: class ) ĊĠĠĠ Ġfun Ġ` getting Ġerror Ġresult Ġthrows `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" IMP LICIT _ NOTH ING _ AS _ TYPE _ PARAMETER ") ĊĠĠĠĠĠĠĠ ĠResult . success (). error OrThrow () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` cast ed Ġempty Ġresult Ġworks Ġproperly , Ġas Ġsuccess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcast ed : ĠResult < Unit , ĠThrowable > Ġ= ĠResult . success () ĊĊĠĠĠĠĠĠĠ Ġassert ( cast ed . is Success ) ĊĠĠĠĠĠĠĠ Ġassert ( cast ed . get () Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalStateException :: class ) ĊĠĠĠ Ġfun Ġ` cast ed Ġempty Ġresult Ġworks Ġproperly , Ġnot Ġas Ġfailure `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcast ed : ĠResult < Unit , ĠThrowable > Ġ= ĠResult . success () ĊĊĠĠĠĠĠĠĠ Ġassert (! cast ed . is Failure ) ĊĠĠĠĠĠĠĠ Ġassert ( cast ed . error () Ġ== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġcast ed . error OrThrow () ĊĠĠĠ Ġ} Ċ } Ċ