package Ġnl . vor h au er . sc ak ot Ċ Ċ import Ġio . kot est . core . spec . style . Word Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġscala . Option Ċ import Ġscala . Some Ċ import Ġscala . util . Either Ċ import Ġjava . util .* Ċ Ċ class ĠControl Test Ġ: ĠWord Spec () Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġ" Option " Ġshould Ġ{ ĊĠĠĠĠĠ Ġ" have Ġ' some '" Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġo a : ĠOption < String > Ġ= Ġsome (" Hal lo ") ĊĠĠĠĠĠĠĠ Ġo a . isDefined ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġo a . map Ġ{ Ġ"$ it , ĠWorld " Ġ} ĠshouldBe ĠSome (" Hal lo , ĠWorld ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ" have Ġ' none '" Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoe : ĠOption < String > Ġ= Ġnone () ĊĠĠĠĠĠĠĠ Ġoe . isDefined ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġoe . map Ġ{ Ġ"$ it , ĠE mpt iness " Ġ} ĠshouldBe Ġnone < String >() ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ" not Ġbe Ġbother ed Ġby Ġnull " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġna : ĠAny ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġna . option () Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġna . option (). isEmpty ĠshouldBe Ġtrue ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ" handle Ġoptional Ġcorrectly " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġo Ġ= ĠOptional . of (" Maybe ") ĊĠĠĠĠĠĠĠ Ġo . option () ĠshouldBe ĠSome (" Maybe ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Either " Ġshould Ġ{ ĊĠĠĠĠĠ Ġ" handle ĠLeft " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġel : ĠEither < String , ĠAny > Ġ= Ġleft (" Left ") ĊĠĠĠĠĠĠĠ Ġel . is Left ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġel . to Seq (). size () ĠshouldBe Ġ 0 ĊĠĠĠĠĠĠĠ Ġel . to Option () ĠshouldBe Ġnone < String >() ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ" handle ĠRight " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġer : ĠEither < Any , ĠString > Ġ= Ġright (" Right ") ĊĠĠĠĠĠĠĠ Ġer . is Right ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġer . to Seq (). size () ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġer . to Option () ĠshouldBe Ġsome (" Right ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Try " Ġshould Ġ{ ĊĠĠĠĠĠ Ġ" handle ĠFailure " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠTry Ġ{ Ġbo om er () Ġ} ĊĠĠĠĠĠĠĠ Ġt . is Failure ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġfailure < Nothing >( RuntimeException (" Failure ")). is Failure ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġt . to Either () ĊĠĠĠĠĠĠĠ Ġe . is Left ĠshouldBe Ġtrue ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ" handle ĠSuccess " Ġ{ ĊĠĠĠĠĠĠĠ Ġsuccess (" Success ! "). is Success ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġsuccess (" Success ! "). get () ĠshouldBe Ġ" Success !" ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġbo om er (): ĠNothing Ġ= Ġthrow ĠRuntimeException (" boom !") Ċ } Ċ