package Ġcom . cc sw . coe dev on . coding dojo . string calculator ĊĊ Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . Assert Ċ Ċ class ĠString Calculator Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġstring Calculator : ĠString Calculator ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġstring Calculator Ġ= ĠString Calculator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġempty String Returns Zero () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġzero ", Ġ 0 , Ġstring Calculator . add ("")) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġzero ", Ġ 0 , Ġstring Calculator . add (" ĠĠĠĠĠĠ Ġ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsingle Number Returns It self () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġone ", Ġ 1 , Ġstring Calculator . add (" 1 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Numbers Comma Delimited Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġthree ", Ġ 3 , Ġstring Calculator . add (" 1 , 2 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmore Numbers Comma Delimited Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġtw enty ", Ġ 2 0 , Ġstring Calculator . add (" 1 , 2 , 1 0 , 7 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumbers Comma And NewLine Delimited Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġsix ", Ġ 6 , Ġstring Calculator . add (" 1 \ n 2 , 3 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumbers Custom Delimited Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġsix ", Ġ 6 , Ġstring Calculator . add ("// ;\ n 1 ; 2 ; 3 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnegative Numbers Throw Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Calculator . add (" 1 , 2 ,- 3 ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals (" Negative Ġnumbers Ġnot Ġsupported Ġ[- 3 ]", Ġex . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmultiple Negative Numbers Throw Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Calculator . add (" 1 ,- 2 ,- 3 ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals (" Negative Ġnumbers Ġnot Ġsupported Ġ[- 2 , Ġ- 3 ]", Ġex . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumbers GreaterThan 1 0 0 0 Must Be Ignored () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġsix ", Ġ 6 , Ġstring Calculator . add ("// ;\ n 1 ; 1 0 0 1 ; 5 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumbers Custom Delimited Any Length Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġsix ", Ġ 6 , Ġstring Calculator . add ("// [ ;;; ]\ n 1 ;;; 2 ;;; 3 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumbers Multiple Custom Delimited Any Length Return Sum () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" The Ġsum Ġmust Ġbe Ġten ", Ġ 1 0 , Ġstring Calculator . add ("// [ ;;; ][ @ ]\ n 1 ;;; 2 @ 3 ;;; 4 ")) ĊĠĠĠ Ġ} Ċ }