/** Ċ Ġ* ĠDesign ed Ġand Ġdeveloped Ġby ĠJ ordan ĠL ira Ġ(@ ar au jo j ordan ) Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠJ ordan ĠL ira Ġde ĠA ra u jo ĠJun ior Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ċ Ġ* Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ċ Ġ* Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ċ Ġ* Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ċ Ġ* Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT Ċ Ġ* ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND Ċ Ġ* ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , Ċ Ġ* ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . ar au jo . j ordan . word find ify Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . test . espress o . Id ling Policies Ċ import Ġandroidx . test . filters . Large Test Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġcom . ar au jo . j ordan . latest . by Description Ċ import Ġcom . ar au jo . j ordan . latest . description Exist Ċ import Ġcom . ar au jo . j ordan . latest . text Exists Ċ import Ġcom . ar au jo . j ordan . latest . ui Device Ċ import Ġcom . ar au jo . j ordan . word find ify . views . board . Board Activity Ċ import Ġjunit . framework . TestCase . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠInstrument ed Ġtests Ġfor Ġthe Ġgame Ġmain Ġmenu Ċ Ġ* ĠIt Ġwill Ġnavigate Ġfor Ġall Ġthe Ġoptions Ġof Ġmenu Ġof Ġthe Ġgame Ċ Ġ* Ġ@ author ĠJ ordan ĠL . ĠA ra u jo ĠJ r . Ġ( ar au jo j ordan ) Ċ Ġ*/ Ċ @ Large Test Ċ @ RunWith ( android x . test . internal . runner . junit 4 . Android JUnit 4 Class Runner :: class ) Ċ class ĠBoard Instrument ed Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġactivity Rule Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠActivity Test Rule < Board Activity >( Board Activity :: class . java , Ġfalse , Ġfalse ) Ġ{} ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġregister Id ling Resource () Ġ{ ĊĠĠĠĠĠĠĠ ĠId ling Policies . set Master Policy Timeout ( 3 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ ĠId ling Policies . setId ling Resource Timeout ( 1 , ĠTimeUnit . SECONDS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore (" It 's Ġnot Ġdetect ing Ġthe Ġtext Ġfor Ġsome Ġreason . ĠIgn oring Ġfor Ġit ") ĊĠĠĠ Ġfun Ġtest Win Game () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch App () ĊĠĠĠĠĠĠĠ Ġui Device (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( text Exists (" Level Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( description Exist (" Test ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinitial Pos Ġ= Ġby Description (" test - 0 "). visible Center ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfinal Pos Ġ= Ġby Description (" test - 3 "). visible Center ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe ( array Of ( initial Pos , Ġfinal Pos ), Ġ 1 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( text Exists (" You Ġwin ! ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch App () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġi . putExtra (" test ", Ġ" test ") ĊĠĠĠĠĠĠĠ Ġi . putExtra (" difficulty ", Ġ" test ") ĊĠĠĠĠĠĠĠ Ġactivity Rule . launch Activity ( i ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ