package Ġcom . glo mex . content sdk . internal . tracker Ċ Ċ import Ġcom . glo mex . content sdk . data . Tracking Ċ import Ġcom . glo mex . content sdk . data . Tracking Test Ċ import Ġcom . glo mex . content sdk . internal . Session Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ Ċ /** ĠTest Ġfor Ġ[ Event ]. Ġ*/ Ċ class ĠEvent Test Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġmethod Ġis Ġcopied Ġfrom Ġ[ Tracking ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ copies Method () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( tracking . method , Ġevent . method ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġurl Ġis Ġcopied Ġfrom Ġ[ Tracking ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ copies Url () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( tracking . url , Ġevent . url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġsession ĠID Ġis Ġadded Ġto Ġresulting Ġparams . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ sessionId Added To Params () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( event . params . containsKey ( Event . PARAM _ SESSION _ ID )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( session . id , Ġevent . params . get ( Event . PARAM _ SESSION _ ID )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġclient Ġinfo Ġis Ġadded Ġto Ġresulting Ġparams . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ client Info Added To Params () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( event . params . containsKey ( Event . PARAM _ CLIENT _ INFO )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( session . client , Ġevent . params [ Event . PARAM _ CLIENT _ INFO ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġpayload Ġis Ġadded Ġto Ġresulting Ġparams . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ payload Added To Params () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġparams Count Ġ= ĠRandom ( System . currentTimeMillis ()). nextInt ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= Ġmutable Map Of < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġ( 0 .. params Count ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayload [ UUID . randomUUID (). toString ()] Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random ( payload ) ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking ) ĊĠĠĠĠĠĠĠ Ġpayload . forEach ({ Ġkey , Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( event . params . containsKey ( key )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( value , Ġevent . params [ key ]) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTests Ġcustom Ġparams Ġare Ġadded Ġto Ġresulting Ġparams . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild _ custom Params Added To Params () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠSession . generate () ĊĠĠĠĠĠĠĠ Ġval Ġtracking Ġ= ĠTracking Test . random () ĊĠĠĠĠĠĠĠ Ġval Ġparams Count Ġ= ĠRandom ( System . currentTimeMillis ()). nextInt ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Params Ġ= Ġmutable ListOf < Pair < String , ĠString >>() ĊĠĠĠĠĠĠĠ Ġ( 0 .. params Count ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparam Ġ= ĠPair ( UUID . randomUUID (). toString (), ĠUUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Params . add ( param ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠEvent . build ( session , Ġtracking , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Params . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġparam ( key , Ġvalue ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġcustom Params . forEach ({ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( event . params . containsKey ( key )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( value , Ġevent . params [ key ]) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊ Ċ }