import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ Ċ class ĠAff ine Cipher Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġyes `() Ġ= ĠassertEquals (" xb t ", ĠAff ine Cipher . encode (" yes ", Ġ 5 , Ġ 7 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġno `() Ġ= ĠassertEquals (" fu ", ĠAff ine Cipher . encode (" no ", Ġ 1 5 , Ġ 1 8 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode ĠO MG `() Ġ= ĠassertEquals (" lv z ", ĠAff ine Cipher . encode (" OM G ", Ġ 2 1 , Ġ 3 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode ĠO ĠM ĠG `() Ġ= ĠassertEquals (" h jp ", ĠAff ine Cipher . encode (" O ĠM ĠG ", Ġ 2 5 , Ġ 4 7 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġmind b low ingly `() Ġ= ĠassertEquals (" rz c wa Ġg nx zc Ġd gt ", ĠAff ine Cipher . encode (" mind b low ingly ", Ġ 1 1 , Ġ 1 5 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġnumbers `() Ġ= ĠassertEquals (" jq g jc Ġrw 1 2 3 Ġjq g jc Ġrw ", ĠAff ine Cipher . encode (" Testing , 1 Ġ 2 Ġ 3 , Ġtesting .", Ġ 3 , Ġ 4 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġdeep Ġthought `() Ġ= ĠassertEquals (" i yn ia Ġfd q fb Ġif je ", ĠAff ine Cipher . encode (" Truth Ġis Ġfi ction .", Ġ 5 , Ġ 1 7 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġall Ġletters `() Ġ= ĠassertEquals (" sw xt j Ġnp vy k Ġl ru ol Ġi ej dc Ġbl ax k Ġsw xm h Ġq zg lf ", ĠAff ine Cipher . encode (" The Ġquick Ġbrown Ġf ox Ġjumps Ġover Ġthe Ġlazy Ġdog .", Ġ 1 7 , Ġ 3 3 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` encode Ġwith Ġa Ġnot Ġcop ri me Ġto Ġm `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException >(" a Ġand Ġm Ġmust Ġbe Ġcop ri me .") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAff ine Cipher . encode (" This Ġis Ġa Ġtest .", Ġ 6 , Ġ 1 7 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġexerc ism `() Ġ= ĠassertEquals (" ex erc ism ", ĠAff ine Cipher . decode (" ty t gn Ġf jr ", Ġ 3 , Ġ 7 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġa Ġsentence `() Ġ= ĠassertEquals (" an ob stacle isoft en aste pping stone ", ĠAff ine Cipher . decode (" qd wj u Ġn qc ro Ġmu wh n Ġod q un Ġopp md Ġa un wd Ġo ", Ġ 1 9 , Ġ 1 6 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġnumbers `() Ġ= ĠassertEquals (" testing 1 2 3 testing ", ĠAff ine Cipher . decode (" od po z Ġub 1 2 3 Ġod po z Ġub ", Ġ 2 5 , Ġ 7 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġall Ġthe Ġletters `() Ġ= ĠassertEquals (" the quick brown fox jump so ver the lazy dog ", ĠAff ine Cipher . decode (" sw xt j Ġnp vy k Ġl ru ol Ġi ej dc Ġbl ax k Ġsw xm h Ġq zg lf ", Ġ 1 7 , Ġ 3 3 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġwith Ġno Ġspaces Ġin Ġinput `() Ġ= ĠassertEquals (" the quick brown fox jump so ver the lazy dog ", ĠAff ine Cipher . decode (" sw xt j np vy kl ru ol ie j dc bl ax k sw xm hq zg lf ", Ġ 1 7 , Ġ 3 3 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġwith Ġtoo Ġmany Ġspaces `() Ġ= ĠassertEquals (" j ol ly gre eng iant ", ĠAff ine Cipher . decode (" vs zz m ĠĠĠ Ġc ly ĠĠ Ġy d Ġcg ĠĠĠ Ġq dp ", Ġ 1 5 , Ġ 1 6 )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` decode Ġwith Ġa Ġnot Ġcop ri me Ġto Ġm `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException >(" a Ġand Ġm Ġmust Ġbe Ġcop ri me .") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAff ine Cipher . decode (" Test ", Ġ 1 3 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ