package Ġcom . pic ken cy . kar umi Ċ Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . test . set Main Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ Ċ class ĠMain Presenter Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠMain Presenter ĊĊĠĠĠ Ġvar Ġhide Login Called Ġ= Ġfalse ĊĠĠĠ Ġvar Ġhide Logout Called Ġ= Ġfalse ĊĠĠĠ Ġvar Ġshow Error Ġ= Ġfalse ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠDispatch ers . set Main ( Dispatch ers . Un conf ined ) ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= Ġgiven AP res enter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Login Success Login Form Is Hidden () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= Ġgiven AP res enter () ĊĠĠĠĠĠĠĠ Ġpresenter . on Login Button Clicked (" G AL IC IA ", Ġ" L LO VI EN DO ") ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( hide Login Called ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Login Fail Error Method Is Called () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= Ġgiven AP res enter () ĊĠĠĠĠĠĠĠ Ġpresenter . on Login Button Clicked (" asd ", Ġ" asd ") ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( show Error ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Logout Success Logout Is Hidden () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= Ġgiven AP res enter ( Fixed Time Clock ( Date ( 2 0 0 0 0 0 0 0 0 ))) ĊĠĠĠĠĠĠĠ Ġpresenter . on Logout Button Clicked () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( hide Logout Called ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwhen Logout Fails Logout IsNot Hidden And Error Is Shown () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= Ġgiven AP res enter ( Fixed Time Clock ( Date ( 1 1 1 1 1 1 1 1 1 ))) ĊĠĠĠĠĠĠĠ Ġpresenter . on Logout Button Clicked () ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( show Error ) ĊĠĠĠĠĠĠĠ ĠAssert . assertFalse ( hide Logout Called ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgiven AP res enter ( clock : ĠClock Ġ= ĠFixed Time Clock ( Date ())) : ĠMain Presenter Ġ= ĠMain Presenter ( Log In (), ĠLog Out ( clock ), Ġobject Ġ: ĠMain View Translator Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhide Login () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Login Called Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhide Logout () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Logout Called Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ}, ĠDispatch ers . Un conf ined ) Ċ }