package Ġcom . blo id onia . ad vent 2 0 2 0 Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ġas ĠassertEquals 1 Ċ Ċ class ĠDay _ 1 8 Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` part Ġ 1 Ġexamples `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 5 1 , Ġprocess (" 1 Ġ+ Ġ( 2 Ġ* Ġ 3 ) Ġ+ Ġ( 4 Ġ* Ġ( 5 Ġ+ Ġ 6 )) ")) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 2 6 , Ġprocess (" 2 Ġ* Ġ 3 Ġ+ Ġ( 4 Ġ* Ġ 5 ) ")) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 4 3 7 , Ġprocess (" 5 Ġ+ Ġ( 8 Ġ* Ġ 3 Ġ+ Ġ 9 Ġ+ Ġ 3 Ġ* Ġ 4 Ġ* Ġ 3 ) ")) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 1 2 2 4 0 , Ġprocess (" 5 Ġ* Ġ 9 Ġ* Ġ( 7 Ġ* Ġ 3 Ġ* Ġ 3 Ġ+ Ġ 9 Ġ* Ġ 3 Ġ+ Ġ( 8 Ġ+ Ġ 6 Ġ* Ġ 4 )) ")) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 1 3 6 3 2 , Ġprocess (" (( 2 Ġ+ Ġ 4 Ġ* Ġ 9 ) Ġ* Ġ( 6 Ġ+ Ġ 9 Ġ* Ġ 8 Ġ+ Ġ 6 ) Ġ+ Ġ 6 ) Ġ+ Ġ 2 Ġ+ Ġ 4 Ġ* Ġ 2 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` part Ġ 2 Ġexamples `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 5 1 , Ġprocess (" 1 Ġ+ Ġ( 2 Ġ* Ġ 3 ) Ġ+ Ġ( 4 Ġ* Ġ( 5 Ġ+ Ġ 6 )) ", Ġtrue )) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 4 6 , Ġprocess (" 2 Ġ* Ġ 3 Ġ+ Ġ( 4 Ġ* Ġ 5 )", Ġtrue )) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 1 4 4 5 , Ġprocess (" 5 Ġ+ Ġ( 8 Ġ* Ġ 3 Ġ+ Ġ 9 Ġ+ Ġ 3 Ġ* Ġ 4 Ġ* Ġ 3 )", Ġtrue )) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 6 6 9 0 6 0 , Ġprocess (" 5 Ġ* Ġ 9 Ġ* Ġ( 7 Ġ* Ġ 3 Ġ* Ġ 3 Ġ+ Ġ 9 Ġ* Ġ 3 Ġ+ Ġ( 8 Ġ+ Ġ 6 Ġ* Ġ 4 )) ", Ġtrue )) ĊĠĠĠĠĠĠĠ ĠassertEquals 1 ( 2 3 3 4 0 , Ġprocess (" (( 2 Ġ+ Ġ 4 Ġ* Ġ 9 ) Ġ* Ġ( 6 Ġ+ Ġ 9 Ġ* Ġ 8 Ġ+ Ġ 6 ) Ġ+ Ġ 6 ) Ġ+ Ġ 2 Ġ+ Ġ 4 Ġ* Ġ 2 ", Ġtrue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprocess ( s : ĠString , Ġplus Pre cid ence : ĠBoolean Ġ= Ġfalse ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDay _ 1 8 (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . process ( it . tokenize ( s ). toList (), Ġplus Pre cid ence ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }