package Ġcom . jj h . android . game . ui . guess Ċ Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Assert .* Ċ Ċ class ĠGame ViewModel Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠGame ViewModel ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠGame ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġreset Game Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , ĠviewModel . remaining G ues ses ) ĊĠĠĠĠĠĠĠ Ġif Ġ( number To Guess Ġ!= Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠviewModel . reset Game Data () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , ĠviewModel . remaining G ues ses ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Check Guess When Correct () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠviewModel . check Guess ( number To Guess ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Game ViewModel . CORRECT _ GU ESS , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Check Guess When Lower () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġwhile Ġ( number To Guess Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . reset Game Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠviewModel . check Guess ( number To Guess Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Game ViewModel . GU ESS _ LOWER , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Check Guess When High er () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġwhile Ġ( number To Guess Ġ== Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . reset Game Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠviewModel . check Guess ( number To Guess Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Game ViewModel . GU ESS _ HIG HER , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Check Guess When Invalid () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠviewModel . check Guess (- 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Game ViewModel . INVALID _ GU ESS , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Remaining G ues ses Behaviour () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , ĠviewModel . remaining G ues ses ) ĊĠĠĠĠĠĠĠ Ġif Ġ( number To Guess Ġ!= Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , ĠviewModel . remaining G ues ses ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Max number Reached () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber To Guess Ġ= ĠviewModel . number To Guess ĊĠĠĠĠĠĠĠ Ġrepeat ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( number To Guess Ġ!= Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . check Guess ( number To Guess Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ( viewModel . max NumberOf Guess Reached ) ĊĠĠĠ Ġ} Ċ }