package Ġcom . github . aj alt . cli kt . parameters Ċ Ċ import Ġcom . github . aj alt . cli kt . core . Print Help Message Ċ import Ġcom . github . aj alt . cli kt . core . Print Message Ċ import Ġcom . github . aj alt . cli kt . parameters . options . version 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 ĠE ager Options Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` version Ġdefault `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command ( called Ġ= Ġfalse , Ġname Ġ= Ġ" prog ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Option (" 1 . 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Print Message > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC (). parse ("-- version ") ĊĠĠĠĠĠĠĠ Ġ}. message ĠshouldBe Ġ" prog Ġversion Ġ 1 . 2 . 3 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` version Ġcustom Ġmessage `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command ( called Ġ= Ġfalse , Ġname Ġ= Ġ" prog ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Option (" 1 . 2 . 3 ", Ġnames Ġ= Ġset Of ("-- foo ")) Ġ{ Ġ"$ it Ġbar " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Print Message > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC (). parse ("-- foo ") ĊĠĠĠĠĠĠĠ Ġ}. message ĠshouldBe Ġ" 1 . 2 . 3 Ġbar " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` multiple Ġeager Ġoptions `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠC Ġ: ĠTest Command ( called Ġ= Ġfalse , Ġname Ġ= Ġ" prog ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Option (" 1 . 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Print Help Message > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC (). parse ("-- help Ġ-- version ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Print Message > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC (). parse ("-- version Ġ-- help ") ĊĠĠĠĠĠĠĠ Ġ}. message ĠshouldBe Ġ" prog Ġversion Ġ 1 . 2 . 3 " ĊĠĠĠ Ġ} Ċ } Ċ