package Ġcom . github . aj alt . cli kt . parameters . types Ċ Ċ import Ġcom . github . aj alt . cli kt . core . Bad Parameter Value Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . argument Ċ import Ġcom . github . aj alt . cli kt . parameters . options . option Ċ import Ġcom . github . aj alt . cli kt . testing . Test Command Ċ import Ġio . kot lint est . shouldBe Ċ import Ġio . kot lint est . should Throw Ċ import Ġorg . junit . Test Ċ Ċ class ĠChoice Type Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` choice Ġoption Ġstrings `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġoption ("- x ", Ġ"-- xx "). choice (" foo ", Ġ" bar ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse ("- x foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ" foo " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse ("-- xx = bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ" bar " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Bad Parameter Value > Ġ{ ĠC (). parse ("-- xx Ġbaz ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ĠshouldBe Ġ" Invalid Ġvalue Ġfor Ġ\" -- xx \": Ġinvalid Ġchoice : Ġbaz . Ġ( choose Ġfrom Ġfoo , Ġbar )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` choice Ġoption Ġmap `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġoption ("- x ", Ġ"-- xx ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. choice (" foo " Ġto Ġ 1 , Ġ" bar " Ġto Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse ("- x foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse ("-- xx = bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Bad Parameter Value > Ġ{ ĠC (). parse ("- x Ġbaz ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ĠshouldBe Ġ" Invalid Ġvalue Ġfor Ġ\" - x \": Ġinvalid Ġchoice : Ġbaz . Ġ( choose Ġfrom Ġfoo , Ġbar )" ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Bad Parameter Value > Ġ{ ĠC (). parse ("-- xx = baz ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ĠshouldBe Ġ" Invalid Ġvalue Ġfor Ġ\" -- xx \": Ġinvalid Ġchoice : Ġbaz . Ġ( choose Ġfrom Ġfoo , Ġbar )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` choice Ġargument Ġstrings `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġargument (). choice (" foo ", Ġ" bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun _() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ arguments [ 0 ]. name ĠshouldBe Ġ" X " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ" foo " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse (" bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ" bar " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Bad Parameter Value > Ġ{ ĠC (). parse (" baz ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ĠshouldBe Ġ" Invalid Ġvalue Ġfor Ġ\" X \": Ġinvalid Ġchoice : Ġbaz . Ġ( choose Ġfrom Ġfoo , Ġbar )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` choice Ġargument Ġmap `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġargument (). choice (" foo " Ġto Ġ 1 , Ġ" bar " Ġto Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun _() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ arguments [ 0 ]. name ĠshouldBe Ġ" X " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠC (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse (" bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Bad Parameter Value > Ġ{ ĠC (). parse (" baz ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. message ĠshouldBe Ġ" Invalid Ġvalue Ġfor Ġ\" X \": Ġinvalid Ġchoice : Ġbaz . Ġ( choose Ġfrom Ġfoo , Ġbar )" ĊĠĠĠ Ġ} Ċ } Ċ