package Ġca . bc . gov . secure image . screens . secure camera Ċ Ċ import Ġca . bc . gov . secure image . Rx Immediate Scheduler Rule Ċ import Ġca . bc . gov . secure image . common . managers . Compression Manager Ċ import Ġca . bc . gov . secure image . data . models . Location Ċ import Ġca . bc . gov . secure image . data . repos . albums . Album s Repo Ċ import Ġca . bc . gov . secure image . data . repos . camera images . Camera Images Repo Ċ import Ġca . bc . gov . secure image . data . repos . location repo . Location Repo Ċ import Ġcom . github . flo rent 3 7 . rx gps . Rx G ps Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify No More Interactions Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġcom . w onder k il n . cam er akit . Camera Kit Ċ import Ġcom . w onder k il n . cam er akit . Camera Kit Event Ċ import Ġcom . w onder k il n . cam er akit . Camera Kit Image Ċ import Ġio . reactivex . Observable Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Class Rule Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠA id an ĠLa ing Ġon Ġ 2 0 1 7 - 1 2 - 1 2 . Ċ Ġ* Ċ Ġ*/ Ċ class ĠSecure Camera Presenter Test Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Class Rule ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġrx Schedulers Ġ= ĠRx Immediate Scheduler Rule () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview : ĠSecure Camera Contract . View ĊĊĠĠĠ Ġprivate Ġval Ġalbum Key Ġ= Ġ" album Key " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcamera Images Repo : ĠCamera Images Repo ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġalbum s Repo : ĠAlbum s Repo ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlocation Repo : ĠLocation Repo ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrx G ps : ĠRx G ps ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcompression Manager : ĠCompression Manager ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠSecure Camera Presenter ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ġ= Ġmock () ĊĊĠĠĠĠĠĠĠ Ġcamera Images Repo Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġalbum s Repo Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġlocation Repo Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġrx G ps Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġcompression Manager Ġ= Ġmock () ĊĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠSecure Camera Presenter ( view , Ġalbum Key , Ġcamera Images Repo , Ġalbum s Repo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Repo , Ġrx G ps , Ġcompression Manager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ ĠCamera Images Repo . destroy Instance () ĊĠĠĠĠĠĠĠ ĠAlbum s Repo . destroy Instance () ĊĠĠĠĠĠĠĠ ĠLocation Repo . destroy Instance () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpresenter Set () Ġ{ ĊĠĠĠĠĠĠĠ Ġverify ( view ). presenter Ġ= Ġpresenter ĊĠĠĠ Ġ} Ċ /* ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation ( 4 8 . 1 2 3 , Ġ- 1 2 3 . 1 2 3 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( location Repo . getLocation ( rx G ps , Ġtrue )). thenReturn ( Observable . just ( location )) ĊĊĠĠĠĠĠĠĠ Ġpresenter . subscribe () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Sh utter () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Method ( Camera Kit . Constants . METHOD _ ST ILL ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Flash ( Camera Kit . Constants . FLASH _ OFF ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). show Flash Off () ĊĠĠĠĠĠĠĠ Ġverify ( view ). setUp Flash Control Listener () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Crop Output ( false ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Permissions ( Camera Kit . Constants . PERMISSION S _ PI CTURE ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Focus ( Camera Kit . Constants . FOCUS _ T AP _ WITH _ MARKER ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Pin ch To Zoom ( true ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). setUp Camera Listener () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). setUp Capture Image Listener () ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Capt uring ( false ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). setUp Back Listener () ĊĠĠĠ Ġ} Ċ */ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Shown () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation ( 4 8 . 1 2 3 , Ġ- 1 2 3 . 1 2 3 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( location Repo . getLocation ( rx G ps , Ġtrue )). thenReturn ( Observable . just ( location )) ĊĊĠĠĠĠĠĠĠ Ġval Ġalbum Count Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġwhenever ( camera Images Repo . get Camera Image Count In Album ( album Key )). thenReturn ( Observable . just ( album Count )) ĊĊĠĠĠĠĠĠĠ Ġpresenter . view Shown () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). set Capt uring ( false ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Sh utter () ĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Capture Image () ĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Back () ĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Flash Control () ĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Image Counter () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). start Camera () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Hidden () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . view Hidden () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). stop Camera () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Location And Cache () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation ( 4 8 . 1 2 3 , Ġ- 1 2 3 . 1 2 3 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( location Repo . getLocation ( rx G ps , Ġtrue )). thenReturn ( Observable . just ( location )) ĊĊĠĠĠĠĠĠĠ Ġpresenter . getLocation And Cache () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). presenter Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġverify No More Interactions ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcapture Image Clicked Capt uring () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcapturing Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpresenter . capture Image Clicked ( capt uring ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). presenter Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġverify No More Interactions ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcapture Image Clicked Not Capt uring () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcapturing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpresenter . capture Image Clicked ( capt uring ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). set Capt uring ( true ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). show Sh utter () ĊĠĠĠĠĠĠĠ Ġverify ( view ). capture Image () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Camera Event Open () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcamera Kit Event : ĠCamera Kit Event Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( camera Kit Event . type ). thenReturn ( Camera Kit Event . TYPE _ CAMERA _ OPEN ) ĊĠĠĠĠĠĠĠ Ġpresenter . on Camera Event ( camera Kit Event ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). show Capture Image () ĊĠĠĠĠĠĠĠ Ġverify ( view ). show Back () ĊĠĠĠĠĠĠĠ Ġverify ( view ). show Flash Control () ĊĠĠĠĠĠĠĠ Ġverify ( view ). show Image Counter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Camera Event Close () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcamera Kit Event : ĠCamera Kit Event Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( camera Kit Event . type ). thenReturn ( Camera Kit Event . TYPE _ CAMERA _ CLOSE ) ĊĠĠĠĠĠĠĠ Ġpresenter . on Camera Event ( camera Kit Event ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). presenter Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġverify No More Interactions ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Camera Image () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcamera Kit Image : ĠCamera Kit Image Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( camera Kit Image . jpeg ). thenReturn ( ByteArray ( 6 4 )) ĊĠĠĠĠĠĠĠ Ġpresenter . on Camera Image ( camera Kit Image , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Sh utter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Camera Image Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Camera Image ( null , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). hide Sh utter () ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Capt uring ( false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġback Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . back Clicked () ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). finish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġflash Control Clicked Flash Off () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflash Mode Ġ= ĠCamera Kit . Constants . FLASH _ OFF ĊĠĠĠĠĠĠĠ Ġpresenter . flash Control Clicked ( flash Mode ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). show Flash Off () ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Method ( Camera Kit . Constants . METHOD _ ST ILL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġflash Control Clicked Flash On () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflash Mode Ġ= ĠCamera Kit . Constants . FLASH _ ON ĊĠĠĠĠĠĠĠ Ġpresenter . flash Control Clicked ( flash Mode ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). show Flash On () ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Method ( Camera Kit . Constants . METHOD _ STANDARD ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġflash Control Clicked Flash Auto () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflash Mode Ġ= ĠCamera Kit . Constants . FLASH _ AUTO ĊĠĠĠĠĠĠĠ Ġpresenter . flash Control Clicked ( flash Mode ) ĊĊĠĠĠĠĠĠĠ Ġverify ( view ). show Flash Auto () ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Camera Method ( Camera Kit . Constants . METHOD _ STANDARD ) ĊĠĠĠ Ġ} Ċ }