package Ġnet . pub native . lite . sdk . consent . db Ċ Ċ import Ġnet . pub native . lite . sdk . consent . model . Visit Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . Runtime Environment Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠVisit Data Helper Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvisit 1 : ĠVisit ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvisit 2 : ĠVisit ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvisit 3 : ĠVisit ĊĊĠĠĠ Ġlateinit Ġvar Ġdatabase : ĠDatabase Helper ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠDatabase Helper ( Runtime Environment . application ) ĊĠĠĠĠĠĠĠ Ġdatabase . createTable ( Visit :: class ) ĊĊĠĠĠĠĠĠĠ Ġvisit 1 Ġ= ĠVisit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession _ id Ġ= Ġ" Session 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart _ time Ġ= Ġ 1 1 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend _ time Ġ= Ġ 1 2 3 2 3 2 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ longitude Ġ= Ġ 2 9 . 2 3 2 3 2 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ latitude Ġ= Ġ 3 1 . 4 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ= Ġ 1 0 0 0 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġus ability _ score Ġ= Ġ 3 1 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal _ score Ġ= Ġ 1 1 3 0 . 2 3 2 3 2 3 2 ) ĊĊĠĠĠĠĠĠĠ Ġvisit 2 Ġ= ĠVisit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession _ id Ġ= Ġ" Session 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart _ time Ġ= Ġ 1 1 3 4 4 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend _ time Ġ= Ġ 1 2 3 2 4 3 4 2 3 2 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ longitude Ġ= Ġ 2 9 . 2 3 2 3 2 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ latitude Ġ= Ġ 3 1 . 4 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ= Ġ 1 0 0 0 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġus ability _ score Ġ= Ġ 3 5 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal _ score Ġ= Ġ 1 1 3 0 . 2 3 2 3 2 3 2 ) ĊĊĠĠĠĠĠĠĠ Ġvisit 3 Ġ= ĠVisit ( session _ id Ġ= Ġ" Session 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart _ time Ġ= Ġ 1 1 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend _ time Ġ= Ġ 1 2 3 2 3 2 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ longitude Ġ= Ġ 2 9 . 2 3 2 3 2 1 7 8 3 8 9 4 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster _ latitude Ġ= Ġ 3 1 . 4 3 4 3 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ= Ġ 1 0 0 0 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġus ability _ score Ġ= Ġ 3 1 1 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal _ score Ġ= Ġ 1 1 3 0 . 2 3 2 3 2 3 2 ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġinsert ĠVisit Ġthen Ġreturn Ġcount `() Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġupdate ĠVisit Ġthen Ġreturn Ġcount `() Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġdatabase . get ( Visit :: class ) ĊĠĠĠĠĠĠĠ Ġitems ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems [ 0 ]. start _ time Ġ= Ġ 1 2 3 4 3 4 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . update ( items ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġdelete ĠVisit Ġfrom Ġdatabase `() Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġdatabase . get ( Visit :: class ) ĊĠĠĠĠĠĠĠ Ġif Ġ( items Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . delete ( items ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġfetch ĠVisit Ġfrom Ġdatabase `() Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( database . count ( Visit :: class ), Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġdatabase . insert ( visit 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġdatabase . get ( Visit :: class ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( items ?. size , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( items ?. get ( 0 )?. cluster _ longitude , Ġ 2 9 . 2 3 2 3 2 1 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( items ?. get ( 1 )?. cluster _ longitude , Ġ 2 9 . 2 3 2 3 2 1 7 8 3 8 9 4 3 ) ĊĠĠĠ Ġ} Ċ }