/* Ċ Ġ* Ġ ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* Ġ ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠWeb tre kk ĠGmbH Ċ Ġ* Ċ Ġ* Ġ Ġ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 ĠNON ĠIN FR INGEMENT . Ġ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 Ġweb tre kk . android . sdk . domain . external Ċ Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Test Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġweb tre kk . android . sdk . core . Sessions Ċ import Ġweb tre kk . android . sdk . domain . internal . Cache Track Request With Custom Params Ċ import Ġweb tre kk . android . sdk . util . cache Track Request With Custom Params Params Ċ import Ġweb tre kk . android . sdk . util . coroutines Dispatch ers Provider Ċ import Ġweb tre kk . android . sdk . util . track Request Ċ import Ġweb tre kk . android . sdk . util . tracking Params Ċ Ċ @ Experimental Cor outines Api Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ internal Ġclass ĠTrack Custom Page Test Ġ: ĠBase External Test () Ġ{ ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġsessions : ĠS essions ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġcache Track Request With Custom Params : ĠCache Track Request With Custom Params ĊĊĠĠĠ Ġlateinit Ġvar Ġtrack Custom Page : ĠTrack Custom Page ĊĊĠĠĠ Ġ@ Before All ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setup () ĊĠĠĠĠĠĠĠ Ġtrack Custom Page Ġ= ĠTrack Custom Page ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Context , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsessions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache Track Request With Custom Params ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` if Ġopt Ġout Ġis Ġactive Ġthen Ġreturn Ġand Ġdon 't Ġtrack `() Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠTrack Custom Page . Params ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrack Request Ġ= Ġtrack Request , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtracking Params Ġ= Ġtracking Params , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Opt Out Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtrack Custom Page ( params , Ġcor outines Dispatch ers Provider ()) ĊĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache Track Request With Custom Params ( cache Track Request With Custom Params Params ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` verify Ġthat Ġcache Track Request With Custom Params Ġis Ġcalled Ġfor Ġtracking Ġcustom Ġpage `() Ġ= ĊĠĠĠĠĠĠĠ Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠTrack Custom Page . Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrack Request Ġ= Ġtrack Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtracking Params Ġ= Ġtracking Params , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Opt Out Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrack Custom Page ( params , Ġcor outines Dispatch ers Provider ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcache Track Request With Custom Params ( cache Track Request With Custom Params Params ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }