import Ġorg . junit . Ignore Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Expected Exception Ċ import Ġjava . math . BigInteger Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠNumber Spell er Test Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġexpected Exception : ĠExpected Exception Ġ= ĠExpected Exception . none () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" zero ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 4 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" four teen ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 4 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tw enty ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 2 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 2 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tw enty - two ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 2 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġhundred ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 2 3 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġhundred Ġtw enty - three ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 2 3 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 0 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġthous and ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 2 3 4 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġthous and Ġtwo Ġhundred Ġth irty - four ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 2 3 4 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 0 0 0 0 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġmillion ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 0 0 0 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 0 2 3 4 5 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġmillion Ġtwo Ġthous and Ġthree Ġhundred Ġfort y - five ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 2 3 4 5 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 0 0 0 0 0 0 0 0 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one Ġb illion ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 0 0 0 0 0 0 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 9 8 7 6 5 4 3 2 1 1 2 3 Is Sp el led Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" n ine Ġhundred Ġeight y - se ven Ġb illion Ġsix Ġhundred Ġfifty - four Ġmillion Ġthree Ġhundred Ġtw enty - one Ġthous and Ġone Ġhundred Ġtw enty - three ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 9 8 7 6 5 4 3 2 1 1 2 3 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Negative Numbers Are OutOfRange () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpected Exception . expect ( IllegalArgumentException :: class . java ) ĊĠĠĠĠĠĠĠ Ġexpected Exception . expect Message (" Input Ġmust Ġbe Ġnon - negative ") ĊĊĠĠĠĠĠĠĠ ĠNumber Spell er (). say (- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ//@ Ignore ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Numbers Above 1 0 0 0 0 0 0 0 0 0 0 0 0 Are OutOfRange () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpected Exception . expect ( IllegalArgumentException :: class . java ) ĊĠĠĠĠĠĠĠ Ġexpected Exception . expect Message (" Input Ġmust Ġbe Ġless Ġthan Ġ 1 0 0 0 0 0 0 0 0 0 0 0 0 ") ĊĊĠĠĠĠĠĠĠ ĠNumber Spell er (). say ( 1 0 0 0 0 0 0 0 0 0 0 0 0 ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ