/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 2 0 ĠHERE ĠEurope ĠB . V . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . here . ms dk ui app . guid ance Ċ Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . here . android . mp a . common . Geo Coordinate Ċ import Ġcom . here . ms dk ui . common . Theme Util Ċ import Ġcom . here . ms dk ui app . R Ċ import Ġcom . here . test utils . Base Test Ċ import Ġcom . here . test utils . any Safe Ċ import Ġkotlinx . android . synt hetic . main . waypoint _ selection . view .* Ċ import Ġorg . hamcrest . Matcher Assert Ċ import Ġorg . hamcrest . Matchers Ċ import Ġorg . junit . Assert . assertNotNull Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Argument Matchers Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito .* Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġorg . ro bo lectric . Ro bo lectric Ċ Ċ /** Ċ Ġ* ĠTest Ġfor Ġ[ Guid ance Waypoint Selection Fragment ]. Ċ Ġ*/ Ċ class ĠGuid ance Waypoint Selection Fragment Test Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment : ĠGuid ance Waypoint Selection Fragment ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠGuid ance Waypoint Selection Presenter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġpublic Ġoverride Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUp () ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ Ġfragment Ġ= ĠGuid ance Waypoint Selection Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġdo Answer Ġ{ Ġfragment . on Ui Update (" test ", Ġwith Color Ġ= Ġtrue ) Ġ}. ` when `( presenter ). update UI () ĊĠĠĠĠĠĠĠ Ġfragment . presenter Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġadd Frag ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest On Create () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( presenter ). on Attach ( any Safe (), Ġany Safe ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Init () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( fragment . presenter ) ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġmock ( LayoutInflater :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmock View Ġ= Ġmock ( View :: class . java ) ĊĠĠĠĠĠĠĠ Ġ` when `( in flater . inflate ( Mockito . any Int (), ĠArgument Matchers . any (), Ġany Boolean ())). thenReturn ( mock View ) ĊĠĠĠĠĠĠĠ Ġfragment . onCreate View ( in flater , Ġmock ( ViewGroup :: class . java ), Ġnull ) ĊĠĠĠĠĠĠĠ Ġverify ( in flater ). inflate ( Mockito . any Int (), ĠArgument Matchers . any (), ĠArgument Matchers . any Boolean ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Ui Init () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( presenter ). setUp ActionBar ( any Safe ()) ĊĠĠĠĠĠĠĠ Ġverify ( presenter ). update UI () ĊĠĠĠĠĠĠĠ Ġ// Ġupdate Ġui Ġshould Ġchange Ġthe Ġbackground Ġcolor Ġas Ġit Ġw il Ġbe Ġcalled Ġafter Ġgeo coding . ĊĠĠĠĠĠĠĠ Ġval Ġbackground Ġ= Ġfragment . view !!. ws _ parent . background ĊĠĠĠĠĠĠĠ ĠassertTrue ( background Ġis ĠColor Drawable ) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat (( background Ġas ĠColor Drawable ). color , ĠMatch ers .` is `( Theme Util . getColor ( activity Context , ĠR . attr . color Accent ))) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( fragment . view !!. ws _ parent . visibility , ĠMatch ers .` is `( View . VISIBLE )) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( fragment . getCurrent View Contract ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Update C ord () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgeo C ord Ġ= Ġmock ( Geo Coordinate :: class . java ) ĊĠĠĠĠĠĠĠ Ġfragment . update C ord ( geo C ord ) ĊĠĠĠĠĠĠĠ Ġverify ( presenter ). update C ord ( geo C ord ) ĊĠĠĠ Ġ} Ċ }