package Ġfr . bal dir . f iz buzz . app . unit Ċ Ċ import Ġfr . bal dir . f izz buzz . app . F izz Bu zz App Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ // ĠTest ĠApplication Ġbehaviour Ġ= Ġdomain Ġlogic Ġorche stration Ċ // Ġgiven Ġuser 's Ġinteractions Ċ class ĠF izz Bu zz App Test Ġ{ ĊĊĠĠĠ Ġ// ĠIO Ġis Ġmocked ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Prompt For Number When App Is La unched () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠTest Ġdependencies ĊĠĠĠĠĠĠĠ Ġval Ġstd Out Content Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġval Ġprint Output : Ġ( text : ĠAny ) Ġ-> ĠUnit Ġ= Ġ{ Ġstd Out Content . add ( it . toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstd Int Inputs Ġ= Ġmutable ListOf (" q ") ĊĠĠĠĠĠĠĠ Ġval Ġprompt Input : Ġ( message : ĠString ) Ġ-> ĠString Ġ= Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Output ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstd Int Inputs . remove Last () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠF izz Bu zz App ( print Output , Ġprompt Input ) ĊĠĠĠĠĠĠĠ Ġapp . launch () ĊĊĠĠĠĠĠĠĠ Ġ// ĠShould Ġprompt Ġfor Ġa Ġnumber ĊĠĠĠĠĠĠĠ Ġval Ġactual Cli Output Ġ= Ġstd Out Content . join ToString ("\ n ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" Please Ġenter Ġa Ġpositive Ġinteger :", Ġactual Cli Output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Print 1 When 1 Is Given () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠTest Ġdependencies ĊĠĠĠĠĠĠĠ Ġval Ġstd Out Content Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġval Ġprint Output : Ġ( text : ĠAny ) Ġ-> ĠUnit Ġ= Ġ{ Ġstd Out Content . add ( it . toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstd Int Inputs Ġ= Ġmutable ListOf (" 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġprompt Input : Ġ( message : ĠString ) Ġ-> ĠString Ġ= Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Output ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstd Int Inputs . remove Last () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠF izz Bu zz App ( print Output , Ġprompt Input ) ĊĠĠĠĠĠĠĠ Ġapp . launch () ĊĊĠĠĠĠĠĠĠ Ġ// ĠShould Ġprompt Ġfor Ġa Ġnumber ĊĠĠĠĠĠĠĠ Ġval Ġactual Cli Output Ġ= Ġstd Out Content . join ToString ("\ n ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Please Ġenter Ġa Ġpositive Ġinteger : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactual Cli Output ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Print 1 2 When 2 Is Given () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠTest Ġdependencies ĊĠĠĠĠĠĠĠ Ġval Ġstd Out Content Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġval Ġprint Output : Ġ( text : ĠAny ) Ġ-> ĠUnit Ġ= Ġ{ Ġstd Out Content . add ( it . toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstd Int Inputs Ġ= Ġmutable ListOf (" 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġprompt Input : Ġ( message : ĠString ) Ġ-> ĠString Ġ= Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Output ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstd Int Inputs . remove Last () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠF izz Bu zz App ( print Output , Ġprompt Input ) ĊĠĠĠĠĠĠĠ Ġapp . launch () ĊĊĠĠĠĠĠĠĠ Ġ// ĠShould Ġprompt Ġfor Ġa Ġnumber ĊĠĠĠĠĠĠĠ Ġval Ġactual Cli Output Ġ= Ġstd Out Content . join ToString ("\ n ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Please Ġenter Ġa Ġpositive Ġinteger : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactual Cli Output ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }