package Ġme . ki ri min . kotlin _ os ero Ċ Ċ import Ġcom . n ha ar man . mockito _ kotlin .* Ċ import Ġme . ki ri min . kotlin _ os ero . game . Game Presenter Ċ import Ġme . ki ri min . kotlin _ os ero . game . Game View Ċ import Ġme . ki ri min . kotlin _ os ero . model . Place Ċ import Ġme . ki ri min . kotlin _ os ero . model . Stone Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Before Ċ Ċ class ĠGame Presenter Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġview Mock : ĠGame View ĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠGame Presenter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠGame Presenter () ĊĠĠĠĠĠĠĠ Ġview Mock Ġ= Ġmock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Jvm Name ( name Ġ= Ġ" éĸĭå§ĭ æĻĤ ãģ« ä¸Ń å¤ ® ãģ« 4 ãģ¤ ãģ® çŁ³ ãģĮ ç½® ãģĭ ãĤĮãĤĭ ") ĊĠĠĠ Ġfun Ġput Default St ones () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( view Mock ) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 3 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 4 , Ġ 3 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 4 , Ġ 4 , ĠSt one . BLACK )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Jvm Name ( name Ġ= Ġ" ãģĻ ãģ§ ãģ« çŁ³ ãģĮ ç½® ãģĭ ãĤĮ ãģ¦ãģĦãĤĭ åł´ æīĢ ãģ«ãģ¯ çŁ³ ãĤĴ ç½® ãģĳ ãģªãģĦ ") ĊĠĠĠ Ġfun Ġcan Put Check () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( view Mock ) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġnever ()). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãĤĴ éħįç½® Ġ ĠâĹ ĭ âĹ ı ĠâĨĴ ĠâĹ ĭ âĹ ĭ âĹ ı ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 2 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġ// Ġ åĲĮ ãģĺ ä½įç½® ãĤĴ ãĤ¯ãĥªãĥĥãĤ¯ ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 2 , Ġ 4 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãģĮ ä¸Ĭ æĽ¸ ãģį ãģķãĤĮ ãģªãģĦ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġnever ()). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġ// Ġ éĸĵ ãģ® çŁ³ ãĤĤ å¤ī ãĤı ãĤī ãģªãģĦ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġnever ()). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . BLACK )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Jvm Name ( name Ġ= Ġ" å·¦ åı³ ãģ« æĮ Ł ãĤĢ ãģ¨ èī² ãģĮ å¤ī ãĤı ãĤĭ ") ĊĠĠĠ Ġfun Ġchange Stone At Left And Right () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( view Mock ) ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãĤĴ éħįç½® Ġx âĹ ĭ âĹ ı ĠâĨĴ ĠâĹ ı âĹ ĭ âĹ ı ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 2 , Ġ 4 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ ãĤ¯ãĥªãĥĥãĤ¯ ãģĹãģŁ ä½įç½® ãģ« ç½® ãģĭ ãĤĮãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 4 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġ// Ġ æĮ Ł ãĤĵ ãģł çŁ³ ãģĮ å¤ī ãĤı ãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 4 , ĠSt one . BLACK )) ĊĊĠĠĠĠĠĠĠ Ġpresenter . change Player () ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãĤĴ éħįç½® ĠâĹ ı âĹ ĭ x ĠâĨĴ ĠâĹ ı âĹ ĭ âĹ ı ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 5 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ ãĤ¯ãĥªãĥĥãĤ¯ ãģĹãģŁ ä½įç½® ãģ« ç½® ãģĭ ãĤĮãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 5 , Ġ 3 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġ// Ġ æĮ Ł ãĤĵ ãģł çŁ³ ãģĮ å¤ī ãĤı ãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 4 , Ġ 4 , ĠSt one . BLACK )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Jvm Name ( name Ġ= Ġ" ä¸Ĭä¸ĭ ãģ« æĮ Ł ãĤĢ ãģ¨ èī² ãģĮ å¤ī ãĤı ãĤĭ ") ĊĠĠĠ Ġfun Ġchange Stone At Up And Under () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( view Mock ) ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãĤĴ éħįç½® Ġx âĹ ĭ âĹ ı ĠâĨĴ ĠâĹ ı âĹ ĭ âĹ ı ĠâĢ » ç¸ ¦ ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 3 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ ãĤ¯ãĥªãĥĥãĤ¯ ãģĹãģŁ ä½įç½® ãģ« ç½® ãģĭ ãĤĮãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 5 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġ// Ġ æĮ Ł ãĤĵ ãģł çŁ³ ãģĮ å¤ī ãĤı ãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 4 , ĠSt one . BLACK )) ĊĊĠĠĠĠĠĠĠ Ġpresenter . change Player () ĊĠĠĠĠĠĠĠ Ġ// Ġ çŁ³ ãĤĴ éħįç½® ĠâĹ ı âĹ ĭ x ĠâĨĴ ĠâĹ ı âĹ ĭ âĹ ı ĠâĢ » ç¸ ¦ ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 4 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ// Ġ ãĤ¯ãĥªãĥĥãĤ¯ ãģĹãģŁ ä½įç½® ãģ« ç½® ãģĭ ãĤĮãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 4 , Ġ 2 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġ// Ġ æĮ Ł ãĤĵ ãģł çŁ³ ãģĮ å¤ī ãĤı ãĤĭ ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 4 , Ġ 3 , ĠSt one . BLACK )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Jvm Name ( name Ġ= Ġ" æĸ ľ ãĤģ ãģ« æĮ Ł ãĤĢ ãģ¨ èī² ãģĮ å¤ī ãĤı ãĤĭ ") ĊĠĠĠ Ġfun Ġchange Stone At Diag onal () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( view Mock ) ĊĠĠĠĠĠĠĠ Ġ// Ġ å·¦ ä¸Ĭ ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 5 , Ġ 5 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 6 , Ġ 6 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 7 , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 5 , Ġ 5 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 6 , Ġ 6 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 7 , Ġ 7 , ĠSt one . BLACK )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åı³ ä¸ĭ ĊĠĠĠĠĠĠĠ Ġpresenter . change Player () ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 2 , Ġ 2 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 1 , Ġ 1 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 1 , Ġ 1 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 2 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 3 , Ġ 3 , ĠSt one . BLACK )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åı³ ä¸Ĭ ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 2 , Ġ 5 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 1 , Ġ 6 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 0 , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 2 , Ġ 5 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 1 , Ġ 6 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 0 , Ġ 7 , ĠSt one . WHITE )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ å·¦ ä¸ĭ ĊĠĠĠĠĠĠĠ Ġpresenter . change Player () ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 5 , Ġ 2 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġpresenter . put Stone ( Place ( 6 , Ġ 1 , ĠSt one . BLACK )) ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Place ( 7 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 5 , Ġ 2 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 6 , Ġ 1 , ĠSt one . WHITE )) ĊĠĠĠĠĠĠĠ Ġverify ( view Mock , Ġtimes ( 1 )). put Stone ( Place ( 7 , Ġ 0 , ĠSt one . WHITE )) ĊĠĠĠ Ġ} Ċ }