@ file : Suppress (" unused ", Ġ" UNUSED _ PARAMETER ") Ċ Ċ package Ġorg . jan us graph . og m . reflection Ċ Ċ import Ġorg . apache . t inker pop . gre mlin . og m . annotations .* Ċ import Ġorg . apache . t inker pop . gre mlin . og m . elements . Edge Ċ import Ġorg . apache . t inker pop . gre mlin . og m . map pers . Property Bi Mapper Ċ import Ġorg . apache . t inker pop . gre mlin . og m . reflection . Cached Graph Description Ċ import Ġorg . apache . t inker pop . gre mlin . og m . reflection . Graph Description Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . jan us graph . core . Jan us Graph Ċ import Ġorg . jan us graph . og m . Jan us Graph Indices Builder Ċ import Ġorg . jan us graph . og m . annotations . Indexed Ċ import Ġorg . jan us graph . og m . exceptions . Index Not On Property Ċ import Ġorg . jan us graph . og m . exceptions . Iterable Index Unsupported Ċ import Ġorg . jan us graph . og m . exceptions . Map Index Unsupported Ċ import Ġorg . jan us graph . og m . exceptions . Nested Index Unsupported Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġutil . example . example Graph Ċ import Ġjava . time . Instant Ċ import Ġjava . time . Zone Id Ċ import Ġjava . time . Z onedDateTime Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠIndex Description Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġg : ĠJan us Graph ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġg Ġ= Ġexample Graph () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġstring Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠString ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġboolean Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠBoolean ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġbyte Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠByte ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġdouble Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠDouble ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġfloat Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠFloat ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġinteger Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠInt ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġlong Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠLong ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġinstant Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠInstant ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġuuid Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠUUID ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġcustom Ġtype Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġz onedDateTime ToString Mapper Ġ= Ġobject Ġ: ĠProperty Bi Mapper < Z onedDateTime , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġforward Map ( from : ĠZ onedDateTime ) Ġ= Ġ"${ from . to Instant (). to Epoch Milli ()} :${ from . zone . id }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinverse Map ( from : ĠString ): ĠZ onedDateTime Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= Ġfrom . split (': ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġepoch M ili Ġ= Ġparts [ 0 ]. to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġzone Id Ġ= Ġparts [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠZ onedDateTime . of Instant ( Instant . of Epoch Milli ( epoch M ili ), ĠZone Id . of ( zone Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġserialized Class Ġget () Ġ= ĠString :: class ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠZ onedDateTime ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertices Ġ= Ġset Of ( Vert :: class ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscalar Properties Ġ= Ġmap Of ( Z onedDateTime :: class Ġto Ġz onedDateTime ToString Mapper )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġnested Ġvertex Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠNested (@ Property ( key Ġ= Ġ" a ") Ġval Ġa : ĠInt , Ġ@ Property ( key Ġ= Ġ" b ") Ġval Ġb : ĠInt ) ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠNested ) ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class ), Ġobject Properties Ġ= Ġset Of ( Nested :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġindex Ġedge Ġproperties `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ ID Ġval Ġid : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ From Vertex Ġoverride Ġval Ġfrom : ĠAny , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ To Vertex Ġoverride Ġval Ġto : ĠAny , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠString ) Ġ: ĠEdge < Any , ĠAny > ĊĠĠĠĠĠĠĠ Ġverify ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Indic ies Ġ= Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠMap Index Unsupported :: class ) ĊĠĠĠ Ġfun Ġ` test Ġindex Ġmap Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠMap < String , ĠString >) ĊĠĠĠĠĠĠĠ Ġverify ( graph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIterable Index Unsupported :: class ) ĊĠĠĠ Ġfun Ġ` test Ġindex Ġcollection Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠList < String >) ĊĠĠĠĠĠĠĠ Ġverify ( graph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠNested Index Unsupported :: class ) ĊĠĠĠ Ġfun Ġ` test Ġindexed Ġnested Ġobject Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠNested (@ Property ( key Ġ= Ġ" a ") Ġval Ġa : ĠInt , Ġ@ Indexed Ġ@ Property ( key Ġ= Ġ" b ") Ġval Ġb : ĠInt ) ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ ID Ġval Ġid : ĠString ?, Ġ@ Indexed Ġ@ Property (" a ") Ġval Ġa : ĠNested ) ĊĠĠĠĠĠĠĠ Ġverify ( graph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class ), Ġobject Properties Ġ= Ġset Of ( Nested :: class ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIndex Not On Property :: class ) ĊĠĠĠ Ġfun Ġ` test Ġindex Ġnot Ġon Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Element (" test ") ĊĠĠĠĠĠĠĠ Ġclass ĠVert (@ Indexed Ġ@ ID Ġval Ġid : ĠString ?, Ġ@ Property (" a ") Ġval Ġa : ĠString ) ĊĠĠĠĠĠĠĠ Ġverify ( graph Description Ġ= ĠCached Graph Description ( vertices Ġ= Ġset Of ( Vert :: class ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġverify ( graph Description : ĠGraph Description , Ġexpected Indic ies : ĠInt ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Builder Ġ= Ġobject Ġ: ĠJan us Graph Indices Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġgraph Description : ĠGraph Description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġgraph Description ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġindices Ġ= Ġindex Builder ( g ) ĊĠĠĠĠĠĠĠ ĠassertThat ( expected Indic ies ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( indices ). has Size ( expected Indic ies !! ) ĊĠĠĠ Ġ} Ċ } Ċ