package Ġcom . exp edia . graphql . schema . generator Ċ Ċ import Ġcom . exp edia . graphql . annotations . Graph Q LI gnore Ċ import Ġkotlin . reflect . K Class Ċ import Ġkotlin . reflect . K Function Ċ import Ġkotlin . reflect . K Property Ċ import Ġkotlin . reflect . full . declared Member Functions Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ @ Suppress (" Det ek t . Unused Private Class ") Ċ internal Ġclass ĠSchema Filters Test Ġ{ ĊĊĠĠĠ Ġprivate Ġdata Ġclass ĠMy Data Class ( ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt Ġ= Ġ 0 , ĊĊĠĠĠĠĠĠĠ Ġ@ Graph Q LI gnore ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġignored Property : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġclass ĠMy Class Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġpublic Property : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġnon Public Property : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ@ Graph Q LI gnore ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġignored Property : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġpublic Function () Ġ= Ġprivate Function () ĊĊĠĠĠĠĠĠĠ Ġ@ Graph Q LI gnore ĊĠĠĠĠĠĠĠ Ġfun Ġignored Function () Ġ= Ġprivate Function () ĊĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġprivate Function () Ġ= Ġnon Public Property ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġfunction Ġfilters `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Function ( My Class :: public Function )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Function ( My Class :: ignored Function )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Function ( My Class :: private Function )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġgenerated Ġfunction Ġfilters `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunctions Ġ= ĠMy Data Class :: class . declared Member Functions ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġfunctions . filter Ġ{ Ġfunc Ġ-> Ġfunction Filters . all Ġ{ Ġit ( func ) Ġ} Ġ}. size ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Ġ= Ġ 0 , Ġactual Ġ= Ġsize ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġproperty Ġfilters `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Property ( My Class :: public Property , ĠMy Class :: class )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Property ( My Class :: non Public Property , ĠMy Class :: class )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Property ( My Class :: ignored Property , ĠMy Class :: class )) ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Property ( My Data Class :: id , ĠMy Data Class :: class )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Property ( My Data Class :: ignored Property , ĠMy Data Class :: class )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Function ( function : ĠK Function < *> ): ĠBoolean Ġ= Ġfunction Filters . all Ġ{ Ġit ( function ) Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Property ( property : ĠK Property <* >, Ġparent Class : ĠK Class < *> ): ĠBoolean Ġ= Ġproperty Filters . all Ġ{ Ġit ( property , Ġparent Class ) Ġ} Ċ } Ċ