/* Ċ Ġ* Ġ ĠCopyright Ġ( c ) Ġ 2 0 0 4 - 2 0 2 1 , ĠUniversity Ġof ĠOs lo Ċ Ġ* Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ġ ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ġwithout Ċ Ġ* Ġ Ġmodification , Ġare Ġpermitted Ġprovided Ġthat Ġthe Ġfollowing Ġconditions Ġare Ġmet : Ċ Ġ* Ġ ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ġthis Ċ Ġ* Ġ Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . Ċ Ġ* Ċ Ġ* Ġ ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ġcopyright Ġnotice , Ċ Ġ* Ġ Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ġdocumentation Ċ Ġ* Ġ Ġand / or Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . Ċ Ġ* Ġ ĠNeither Ġthe Ġname Ġof Ġthe ĠH ISP Ġproject Ġnor Ġthe Ġnames Ġof Ġits Ġcontributors Ġmay Ċ Ġ* Ġ Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ġderived Ġfrom Ġthis Ġsoftware Ġwithout Ċ Ġ* Ġ Ġspecific Ġprior Ġwritten Ġpermission . Ċ Ġ* Ċ Ġ* Ġ ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND ĠCONTRIBUTORS Ġ" AS ĠIS " ĠAND Ċ Ġ* Ġ ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE ĠIMPLIED Ċ Ġ* Ġ ĠWARRANTIES ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠARE Ċ Ġ* Ġ ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠOWNER ĠOR ĠCONTRIBUTORS ĠBE ĠLIABLE ĠFOR Ċ Ġ* Ġ ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL ĠDAMAGES Ċ Ġ* Ġ Ġ( INCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR ĠSERVICES ; Ċ Ġ* Ġ ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) ĠHOWEVER ĠCAUSED ĠAND ĠON Ċ Ġ* Ġ ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠIN ĠCONTRACT , ĠSTRICT ĠLIABILITY , ĠOR ĠTORT Ċ Ġ* Ġ Ġ( INCLUDING ĠNEGLIGENCE ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE ĠOF ĠTHIS Ċ Ġ* Ġ ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . Ċ Ġ*/ Ċ Ċ package Ġorg . h isp . dh is . android . core . analytics . ag gregated . internal Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġjunit . framework . Assert . fail Ċ import Ġorg . h isp . dh is . android . core . analytics . ag gregated . Dimension Item Ċ import Ġorg . h isp . dh is . android . core . arch . db . stores . internal . Ident ifiable Object Store Ċ import Ġorg . h isp . dh is . android . core . category . Category Ċ import Ġorg . h isp . dh is . android . core . common . Object With Uid Ċ import Ġorg . h isp . dh is . android . core . common . Relative Organ isation Unit Ċ import Ġorg . h isp . dh is . android . core . common . Relative Period Ċ import Ġorg . h isp . dh is . android . core . visualization . Category Dimension Ċ import Ġorg . h isp . dh is . android . core . visualization . Data Dimension Item Ċ import Ġorg . h isp . dh is . android . core . visualization . Data Dimension ItemType Ċ import Ġorg . h isp . dh is . android . core . visualization . Visualization Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠAnalytics Visual izations Service Dimension Helper Should Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcategory Store : ĠIdent ifiable Object Store < Category > Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġcategory : ĠCategory Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġvisualization : ĠVisualization Ġ= Ġmock () ĊĊĠĠĠ Ġprivate Ġval Ġuid 1 Ġ= Ġ" GM p W ZU g 2 QU f " ĊĠĠĠ Ġprivate Ġval Ġuid 2 Ġ= Ġ" AC 6 H 8 z CD b 3 B " ĊĠĠĠ Ġprivate Ġval Ġuid 3 Ġ= Ġ" e E IN 8 RQ Wx Wp " ĊĊĠĠĠ Ġprivate Ġval Ġhelper Ġ= ĠAnalytics Visual izations Service Dimension Helper ( category Store ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġdata Element Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Dimension Items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Dimension Item . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Element ( Object With Uid . create ( uid 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Dimension ItemType ( Data Dimension ItemType . DATA _ ELEMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . data Dimension Items ()) Ġdo Return Ġdata Dimension Items ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" dx ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġdimension Items . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDimension Item . Data Item . Data Element Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( item . uid ). isEqualTo ( uid 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Unexpected Ġdimension Ġitem Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġdata Element Operand Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Dimension Items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Dimension Item . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Element Operand ( Object With Uid . create ("$ uid 1 .$ uid 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Dimension ItemType ( Data Dimension ItemType . DATA _ ELEMENT _ OPER AND ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . data Dimension Items ()) Ġdo Return Ġdata Dimension Items ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" dx ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġdimension Items . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDimension Item . Data Item . Data Element Operand Item Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( item . data Element ). isEqualTo ( uid 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( item . category Option Combo ). isEqualTo ( uid 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Unexpected Ġdimension Ġitem Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġindicator Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Dimension Items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Dimension Item . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. indicator ( Object With Uid . create ( uid 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Dimension ItemType ( Data Dimension ItemType . IND IC ATOR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . data Dimension Items ()) Ġdo Return Ġdata Dimension Items ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" dx ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġdimension Items . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDimension Item . Data Item . Indicator Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( item . uid ). isEqualTo ( uid 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Unexpected Ġdimension Ġitem Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġprogram Indicator Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Dimension Items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Dimension Item . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. program Indicator ( Object With Uid . create ( uid 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. data Dimension ItemType ( Data Dimension ItemType . PROGRAM _ IND IC ATOR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . data Dimension Items ()) Ġdo Return Ġdata Dimension Items ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" dx ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġdimension Items . first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDimension Item . Data Item . Program Indicator Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( item . uid ). isEqualTo ( uid 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Unexpected Ġdimension Ġitem Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġorganisation Ġunit Ġu ids Ġand Ġlevels `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġorg unit Items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġorg unit Levels Ġ= ĠlistOf ( 1 , Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . organisation Units ()) Ġdo Return Ġorg unit Items ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . organisation Unit Levels ()) Ġdo Return Ġorg unit Levels ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" ou ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 4 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġabsolute Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Organ isation Unit Item . Absolute >() ĊĠĠĠĠĠĠĠ ĠassertThat ( absolute . map Ġ{ Ġit . uid Ġ}). contains Exactly ( uid 1 , Ġuid 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlevels Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Organ isation Unit Item . Level >() ĊĠĠĠĠĠĠĠ ĠassertThat ( levels . map Ġ{ Ġit . level Ġ}). contains Exactly Elements In ( org unit Levels ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġrelative Ġorganisation Ġunit `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . user Organ isation Unit ()) Ġdo Return Ġtrue ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . user Organ isation Unit Children ()) Ġdo Return Ġtrue ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . user Organ isation Unit Grand Children ()) Ġdo Return Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" ou ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelative Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Organ isation Unit Item . Relative >() ĊĠĠĠĠĠĠĠ ĠassertThat ( relative . map Ġ{ Ġit . relative Ġ}). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Organ isation Unit . USER _ ORG UNIT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Organ isation Unit . USER _ ORG UNIT _ CHILD REN , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Organ isation Unit . USER _ ORG UNIT _ GRAN D CHILD REN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġperiod Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġperiods Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġrelative Periods Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Period . THIS _ MONTH Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Period . LAST _ MONTH Ġto Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . periods ()) Ġdo Return Ġperiods ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . relative Periods ()) Ġdo Return Ġrelative Periods ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" pe ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 4 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġabsolute Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Period Item . Absolute >() ĊĠĠĠĠĠĠĠ ĠassertThat ( absolute . map Ġ{ Ġit . period Id Ġ}). contains Exactly ( uid 1 , Ġuid 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelative Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Period Item . Relative >() ĊĠĠĠĠĠĠĠ ĠassertThat ( relative . map Ġ{ Ġit . relative Ġ}). contains Exactly ( Relative Period . THIS _ MONTH , ĠRelative Period . LAST _ MONTH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġparse Ġcategory Ġdimension Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Dimensions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory Dimension . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. category ( Object With Uid . create ( uid 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. category Options ( listOf ( Object With Uid . create ( uid 2 ), ĠObject With Uid . create ( uid 3 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . category Dimensions ()) Ġdo Return Ġcategory Dimensions ĊĠĠĠĠĠĠĠ Ġwhenever ( category Store . select By Uid ( uid 1 )) Ġdo Return Ġcategory ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf ( uid 1 )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcat Dimension Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Category Item >() ĊĠĠĠĠĠĠĠ Ġcat Dimension . forEach Ġ{ ĠassertThat ( it . uid ). isEqualTo ( uid 1 ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( cat Dimension . map Ġ{ Ġit . category Option Ġ}). contains Exactly ( uid 2 , Ġuid 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Should Ġcombine Ġdimensions Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġperiods Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġorg units Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject With Uid . create ( uid 3 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . periods ()) Ġdo Return Ġperiods ĊĠĠĠĠĠĠĠ Ġwhenever ( visualization . organisation Units ()) Ġdo Return Ġorg units ĊĊĠĠĠĠĠĠĠ Ġval Ġdimension Items Ġ= Ġhelper . get Dimension Items ( visualization , ĠlistOf (" pe ", Ġ" ou ")) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( dimension Items ). has Size ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġperiod Items Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Period Item . Absolute >() ĊĠĠĠĠĠĠĠ ĠassertThat ( period Items ). has Size ( 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġorg unit Items Ġ= Ġdimension Items . filter Is Instance < Dimension Item . Organ isation Unit Item . Absolute >() ĊĠĠĠĠĠĠĠ ĠassertThat ( org unit Items ). has Size ( 1 ) ĊĠĠĠ Ġ} Ċ } Ċ