/* Ċ Ġ* ĠCreated Ġby ĠO rc hex tra Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 ĠG ig igo ĠMobile ĠServices ĠSL Ċ Ġ* Ċ Ġ* Ġ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 . g ig igo . orche x tra . indo or position ing Ċ Ċ import Ġcom . g ig igo . orche x tra . core . domain . entities . In door Position Config Ċ import Ġcom . g ig igo . orche x tra . indo or position ing . domain . In door Position ing Validator Ċ import Ġcom . g ig igo . orche x tra . indo or position ing . domain . models . ENTER _ EVENT Ċ import Ġcom . g ig igo . orche x tra . indo or position ing . domain . models . Ox Beacon Ċ import Ġcom . g ig igo . orche x tra . indo or position ing . domain . models . Ox Beacon Region Ċ import Ġcom . g ig igo . orche x tra . indo or position ing . utils . extensions . isIn Region Ċ import Ġorg . am sh ove . k lu ent . shouldBe Ċ import Ġorg . junit . Test Ċ import Ġjava . util . Date Ċ Ċ class ĠIn door Position ing Validator Test Ġ{ ĊĊĠ Ġprivate Ġval ĠEN TRY _ BE AC ON Ġ= ĠO x Beacon ( uuid Ġ= Ġ" entry ", ĊĠĠĠĠĠ Ġmajor Ġ= Ġ 1 , ĊĠĠĠĠĠ Ġminor Ġ= Ġ 1 , ĊĠĠĠĠĠ Ġlast Detection Ġ= ĠDate ()) ĊĊĠ Ġprivate Ġval ĠEXIT _ BE AC ON Ġ= ĠO x Beacon ( uuid Ġ= Ġ" exit ", ĊĠĠĠĠĠ Ġmajor Ġ= Ġ 2 , ĊĠĠĠĠĠ Ġminor Ġ= Ġ 2 , ĊĠĠĠĠĠ Ġlast Detection Ġ= ĠDate ()) ĊĊĠ Ġprivate Ġval ĠUN KNO W _ BE AC ON Ġ= ĠO x Beacon ( uuid Ġ= Ġ" unk now ", ĊĠĠĠĠĠ Ġmajor Ġ= Ġ 2 , ĊĠĠĠĠĠ Ġminor Ġ= Ġ 2 , ĊĠĠĠĠĠ Ġlast Detection Ġ= ĠDate ()) ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġbe acon ShouldBe Valid On Entry () Ġ{ ĊĊĠĠĠ Ġval Ġvalidator Ġ= Ġget In door Position ing Validator () ĊĊĠĠĠ Ġval Ġtest Region Ġ= ĠO x Beacon Region ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" value 1 ", ĊĠĠĠĠĠĠĠ Ġevent Ġ= ĠENTER _ EVENT , ĊĠĠĠĠĠĠĠ Ġbe acon Ġ= ĠEN TRY _ BE AC ON ) ĊĊĠĠĠ Ġval ĠisValid Ġ= Ġvalidator . isValid ( test Region ) ĊĊĠĠĠ ĠisValid . shouldBe ( true ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġbe acon ShouldBe Not Valid On Entry () Ġ{ ĊĊĠĠĠ Ġval Ġvalidator Ġ= Ġget In door Position ing Validator () ĊĊĠĠĠ Ġval Ġtest Region Ġ= ĠO x Beacon Region ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" value 1 ", ĊĠĠĠĠĠĠĠ Ġevent Ġ= ĠENTER _ EVENT , ĊĠĠĠĠĠĠĠ Ġbe acon Ġ= ĠEXIT _ BE AC ON ) ĊĊĠĠĠ Ġval ĠisValid Ġ= Ġvalidator . isValid ( test Region ) ĊĊĠĠĠ ĠisValid . shouldBe ( false ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġbe acon Should Not Be In Region () Ġ{ ĊĊĠĠĠ Ġval Ġvalidator Ġ= Ġget In door Position ing Validator () ĊĊĠĠĠ Ġval Ġtest Region Ġ= ĠO x Beacon Region ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" value 1 ", ĊĠĠĠĠĠĠĠ Ġevent Ġ= ĠENTER _ EVENT , ĊĠĠĠĠĠĠĠ Ġbe acon Ġ= ĠUN KNO W _ BE AC ON ) ĊĊĠĠĠ Ġval ĠisValid Ġ= Ġvalidator . isValid ( test Region ) ĊĊĠĠĠ ĠisValid . shouldBe ( false ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest Be ac ons () Ġ{ ĊĊĠĠĠ Ġval Ġconfig Ġ= ĠgetConfig () ĊĊĠĠĠ ĠEN TRY _ BE AC ON . isIn Region ( config ). shouldBe ( true ) ĊĠĠĠ ĠEXIT _ BE AC ON . isIn Region ( config ). shouldBe ( true ) ĊĠĠĠ ĠUN KNO W _ BE AC ON . isIn Region ( config ). shouldBe ( false ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġget In door Position ing Validator (): ĠIn door Position ing Validator Ġ{ ĊĠĠĠ Ġval Ġconfig Ġ= ĠgetConfig () ĊĠĠĠ Ġreturn ĠIn door Position ing Validator ( config ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠgetConfig (): ĠList < In door Position Config > Ġ{ ĊĊĠĠĠ Ġval Ġentry Beacon Config Ġ= ĠIn door Position Config ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġ" entry ", ĊĠĠĠĠĠĠĠ Ġmajor Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ Ġminor Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠ Ġnotify On Entry Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġnotify On Exit Ġ= Ġfalse ) ĊĊĠĠĠ Ġval Ġexit Beacon Config Ġ= ĠIn door Position Config ( ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġ" exit ", ĊĠĠĠĠĠĠĠ Ġmajor Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠ Ġminor Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠ Ġnotify On Entry Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġnotify On Exit Ġ= Ġtrue ) ĊĊĠĠĠ Ġreturn ĠlistOf ( entry Beacon Config , Ġexit Beacon Config ) ĊĠ Ġ} Ċ }