package Ġvisitor Ċ Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtokenizer . Tokenizer ĊĊ Ċ class ĠCalculator Visitor Test Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġexpression Test ( expression : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Calculator Visitor (). goTo All ( Tokenizer ( expression ). tokenize ()), Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumber () Ġ= Ġexpression Test (" 1 ", Ġ 1 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnumber Big () Ġ= Ġexpression Test (" 1 2 3 ", Ġ 1 2 3 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd () Ġ= Ġexpression Test (" 1 2 3 Ġ+ Ġ 1 ", Ġ 1 2 4 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsub () Ġ= Ġexpression Test (" 1 0 1 Ġ- Ġ 2 ", Ġ 9 9 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsub Negative () Ġ= Ġexpression Test (" 1 0 Ġ- Ġ 2 0 ", Ġ- 1 0 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmul () Ġ= Ġexpression Test (" 1 0 1 Ġ* Ġ 2 ", Ġ 2 0 2 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdiv () Ġ= Ġexpression Test (" 3 Ġ/ Ġ 2 ", Ġ 1 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 () Ġ= Ġexpression Test (" 1 Ġ+ Ġ 1 3 Ġ- Ġ 4 ", Ġ 1 0 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 () Ġ= Ġexpression Test (" 1 Ġ* Ġ 2 Ġ* Ġ 3 ", Ġ 6 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 3 () Ġ= Ġexpression Test (" (( 1 Ġ* Ġ 2 Ġ* Ġ 3 ) Ġ- Ġ 1 ) Ġ* Ġ 2 ", Ġ 1 0 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 4 () Ġ= Ġexpression Test ("( 1 Ġ- Ġ 2 ) Ġ* Ġ( 1 Ġ- Ġ 2 )", Ġ 1 ) Ċ }