package Ġcom . tu w ien . building interaction interfaces . typing benchmark Ċ Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . Benchmark er Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . Game Mode Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . Single Words Game Mode Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . model . Options Model Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . repository . local . Benchmark Repository Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . repository . local . Clock Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . domain . repository . local . Dictionary Repository Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . util . Bench marks Ċ import Ġcom . tu w ien . building interaction interfaces . typing benchmark . util . Ch ron ometer Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġorg . mockito . Mockito . mock Ċ import Ġjava . util .* Ċ Ċ class ĠSingle Words Mode Test { ĊĊĠĠĠ Ġclass ĠTest Data { ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġword List Ġ= ĠArrayList < String >() ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Input AsString (): ĠString { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( item Ġin Ġinput ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr . append ( item Ġ+ Ġ"\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstr . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/* fun Ġget Word List AsString ( n : ĠInt ): ĠString { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠStringBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. n ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr . append ( word List [ i ] Ġ+ Ġ"\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstr . toString () ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Game Interactor ( testData : ĠTest Data ): ĠGame Mode Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Dictionary Repository Ġ= Ġmock ( Dictionary Repository :: class . java ) ĊĠĠĠĠĠĠĠ Ġvar Ġrandom Word It Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ` when `( mock Dictionary Repository . random String ). then Answer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Word Ġ= ĠtestData . word List . get ( random Word It ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Word It ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Word ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmock Ch ron ometer Ġ= Ġmock ( Ch ron ometer :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmock Callback Ġ= Ġmock ( Game Mode . Callback :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmock Benchmark er Callback Ġ= Ġmock ( Benchmark er . Callback :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmock Benchmark Repository Ġ= Ġmock ( Benchmark Repository :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmock Options Ġ= ĠOptions Model ( Options Model . Type Game . NO _ END , Ġskip On Fail Ġ= Ġfalse , source Ġ= ĠOptions Model . Source . TW EL VE _ DICT S , auto Correct Ġ= Ġtrue Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmock Keyboard App Ġ= Ġ" com . test " ĊĊĠĠĠĠĠĠĠ Ġval Ġmock Clock Ġ= Ġmock ( Clock :: class . java ) ĊĠĠĠĠĠĠĠ Ġ` when `( mock Clock . elapsed Realtime ()). thenReturn ( System . currentTimeMillis ()) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠSingle Words Game Mode ( mock Callback , Ġmock Benchmark er Callback , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Dictionary Repository , Ġmock Benchmark Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Ch ron ometer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Keyboard App , Ġmock Clock ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrun Test ( testData : ĠTest Data , Ġsingle Words Mode : ĠGame Mode ){ ĊĠĠĠĠĠĠĠ Ġvar Ġeditable Ġ= ĠMock Editable ( testData . input [ 0 ]) ĊĊĊĊĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin ĠtestData . input ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( item . equals ("") Ġ&& ĠtestData . input . indexOf ( item ) Ġ> Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( editable . toString (). equals ("")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditable Ġ= ĠMock Editable ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Words Mode . after TextChanged ( editable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġall Input Is Correct Test (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 6 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcorrect Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġerrors = 0 ĊĠĠĠĠĠĠĠ Ġval Ġchars Per Sec = 0 . 3 3 3 3 3 3 3 4 f ĊĠĠĠĠĠĠĠ Ġval Ġwords Per Sec = 0 . 0 8 3 3 3 3 3 3 6 f ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġback space = 0 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes = 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġcharacters = 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġwords Per Minute = 5 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes PerSecond = 0 . 3 3 3 3 3 3 3 4 f ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Per Char = 1 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġminimum String Distance Error Rate = 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġcorrected Error Rate = 0 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġun corrected Error Rate = 0 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġtotal Error Rate = 0 . 0 f ĊĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠtestData . getInput AsString () ĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ" unit \ nt esting \ nis \ nt he \ nb est \ n " ĊĠĠĠĠĠĠĠ Ġval Ġtran scribed String Ġ= Ġ" unit \ nt esting \ nis \ nt he \ nb est \ n unt ested Word \ n " ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Words , Ġbenchmark . correct Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Words , benchmark . correct Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( chars Per Sec , benchmark . chars Per Sec ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( words Per Sec , benchmark . words Per Sec ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes , benchmark . key stro kes ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( characters , benchmark . characters ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( words Per Minute , benchmark . words Per Minute ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes PerSecond , benchmark . key stro kes PerSecond ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes Per Char , benchmark . key stro kes Per Char , 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( minimum String Distance Error Rate , benchmark . minimum String Distance Error Rate , 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( corrected Error Rate , benchmark . corrected Error Rate ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( unc orrect ed Error Rate , benchmark . unc orrect ed Error Rate ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Error Rate , benchmark . total Error Rate ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( inputStream Ġ, benchmark . inputStream . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( input String Ġ, benchmark . input String . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( tran scribed String Ġ, benchmark . tran scribed String . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġback space Test (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" un ") Ġ// Ġ 1 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") Ġ// Ġ 2 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") Ġ// Ġ 3 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") Ġ// Ġ 4 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĠĠĠĠĠĠĠ Ġval Ġback spaces Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Ġ= Ġ 2 0 + 8 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( back spaces , Ġbenchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes , Ġbenchmark . key stro kes ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġerrors Test (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ng Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test inn Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġ 6 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĠĠĠĠĠĠĠ Ġval Ġback spaces Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Ġ= Ġ 2 0 + 3 ĊĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words Ġ= Ġ 6 ĊĊĊĊĠĠĠĠĠĠĠ ĠassertEquals ( back spaces , Ġbenchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes , Ġbenchmark . key stro kes ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwords Per Min Test (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes Ġ") Ġ// Ġ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") Ġ// Ġ 1 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 9 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcorrect Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġerrors = 1 ĊĠĠĠĠĠĠĠ Ġval Ġchars Per Sec = 0 . 2 2 2 2 2 2 2 3 f ĊĠĠĠĠĠĠĠ Ġval Ġwords Per Sec = 0 . 0 5 5 5 5 5 5 5 6 f ĊĠĠĠĠĠĠĠ Ġval Ġback space = 1 ĊĠĠĠĠĠĠĠ Ġval Ġcorrect Chars = 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 6 ĊĠĠĠĠĠĠĠ Ġval Ġwords Per Minute = 3 . 3 3 3 3 3 3 5 f ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( chars Per Sec , benchmark . chars Per Sec ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( words Per Sec , benchmark . words Per Sec ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( words Per Minute , benchmark . words Per Minute ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Words , Ġbenchmark . correct Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Chars , Ġbenchmark . correct Chars ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġk sp s And k sp c Test (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") Ġ// Ġ+ 1 Ġkey stroke ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") Ġ// + 1 Ġkey stroke Ġ+ 1 Ġback space ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i Ġ") Ġ// + 1 Ġkey stroke Ġ+ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 3 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcorrect Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġerrors = 1 ĊĠĠĠĠĠĠĠ Ġval Ġback space = 1 ĊĠĠĠĠĠĠĠ Ġval Ġcorrect Chars = 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Ġ= Ġ 2 3 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 6 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes PerSecond Ġ= Ġ 0 . 7 6 6 6 6 6 6 5 f ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Per Char Ġ= Ġ 1 . 1 5 ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Words , Ġbenchmark . correct Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Chars , Ġbenchmark . correct Chars ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes , Ġbenchmark . key stro kes ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes PerSecond , Ġbenchmark . key stro kes PerSecond ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes Per Char , Ġbenchmark . key stro kes Per Char , Ġ 0 . 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġm sd Error Rate Test (){ ĊĠĠĠĠĠĠĠ Ġm sd No Errors () ĊĠĠĠĠĠĠĠ Ġm sd With Errors () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġm sd No Errors (){ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 3 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcorrect Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġerrors = 0 ĊĠĠĠĠĠĠĠ Ġval Ġback space = 0 ĊĠĠĠĠĠĠĠ Ġval Ġcorrect Chars = 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġkey stro kes Ġ= Ġ 2 0 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 5 ĊĠĠĠĠĠĠĠ Ġval Ġm sd Error Rate Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġcorrected Error Rate Ġ= Ġ 0 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġun corrected Error Rate Ġ= Ġ 0 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġtotal Error Rate Ġ= Ġ 0 . 0 f ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Words , Ġbenchmark . correct Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( correct Chars , Ġbenchmark . correct Chars ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( key stro kes , Ġbenchmark . key stro kes ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ms d Error Rate , Ġbenchmark . minimum String Distance Error Rate , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( corrected Error Rate , Ġbenchmark . corrected Error Rate ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( unc orrect ed Error Rate , Ġbenchmark . unc orrect ed Error Rate ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Error Rate , Ġbenchmark . total Error Rate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġm sd With Errors () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" u ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" un ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" uni ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" unit Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" test in Ġ") Ġ// Ġ+ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" testing Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" is Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Ġ") Ġ// Ġ+ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" th ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" the Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" bes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" best Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 3 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerrors = 2 ĊĠĠĠĠĠĠĠ Ġval Ġback space = 1 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 7 ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ" unit \ nt est in \ nt esting \ ni \ nis \ nt he \ nb est \ n " ĊĠĠĠĠĠĠĠ Ġvar Ġtran scribed String Ġ= Ġ" unit \ nt esting \ nt esting \ nis \ nis \ nt he \ nb est \ n " ĊĊĠĠĠĠĠĠĠ Ġval Ġm sd Ġ= ĠB ench marks . ms d ( input String , tran scribed String ) ĊĠĠĠĠĠĠĠ Ġval Ġm sd Error Rate Ġ= ĠB ench marks . ms d Error Rate ( ms d , input String . length , Ġtran scribed String . length ) ĊĊĠĠĠĠĠĠĠ Ġtran scribed String Ġ+= Ġ" unt ested Word \ n " ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ms d Error Rate , Ġbenchmark . minimum String Distance Error Rate , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( input String , Ġbenchmark . input String . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( tran scribed String , Ġbenchmark . tran scribed String . toString ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtext Upper case () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtestData Ġ= ĠTest Data () ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unit ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" testing ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" is ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" the ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" best ") ĊĠĠĠĠĠĠĠ ĠtestData . word List . add (" unt ested Word ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġword List . add (" unt ested Word 2 ") ĊĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" U ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" UN ") ĊĠĠĠĠĠĠĠ ĠtestData . Ġinput . add (" UN I ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" UNIT Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" T ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Te ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Tes ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Test ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Test i ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Test in Ġ") Ġ// Ġ+ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Test in G Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" i S Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" Ġ") Ġ// Ġ+ 1 Ġerror ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t H ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" t He Ġ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add ("") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" b ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be S ") ĊĠĠĠĠĠĠĠ ĠtestData . input . add (" be ST Ġ") ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Interactor Ġ= Ġcreate Game Interactor ( testData ) ĊĊĠĠĠĠĠĠĠ Ġrun Test ( testData , game Interactor ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinit Timestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġtime Elapsed = Ġ 3 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġval Ġbenchmark Ġ= Ġgame Interactor . benchmark er . benchmark ĊĊĠĠĠĠĠĠĠ Ġbenchmark . timestamp Ġ= ĠDate ( init Timestamp ) ĊĠĠĠĠĠĠĠ Ġbenchmark . time Elapsed Ġ= Ġtime Elapsed ĊĊĠĠĠĠĠĠĠ ĠSystem . out . println ( benchmark ) ĊĊĠĠĠĠĠĠĠ Ġval Ġerrors = 2 ĊĠĠĠĠĠĠĠ Ġval Ġback space = 1 ĊĠĠĠĠĠĠĠ Ġval Ġtotal Words = 7 ĊĊĠĠĠĠĠĠĠ Ġval Ġinput String Ġ= Ġ" unit \ nt est in \ nt esting \ ni \ nis \ nt he \ nb est \ n " ĊĠĠĠĠĠĠĠ Ġvar Ġtran scribed String Ġ= Ġ" unit \ nt esting \ nt esting \ nis \ nis \ nt he \ nb est \ n " ĊĊĠĠĠĠĠĠĠ Ġval Ġm sd Ġ= ĠB ench marks . ms d ( input String , tran scribed String ) ĊĠĠĠĠĠĠĠ Ġval Ġm sd Error Rate Ġ= ĠB ench marks . ms d Error Rate ( ms d , input String . length , Ġtran scribed String . length ) ĊĊĠĠĠĠĠĠĠ Ġtran scribed String Ġ+= Ġ" unt ested Word \ n " ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( errors , benchmark . errors ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( total Words , benchmark . total Words ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( back space , benchmark . back space ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ms d Error Rate , Ġbenchmark . minimum String Distance Error Rate , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( input String , Ġbenchmark . input String . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( tran scribed String , Ġbenchmark . tran scribed String . toString ()) ĊĊĠĠĠ Ġ} Ċ Ċ } ĊĊ