/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠExp edia , ĠInc Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . exp edi ag roup . graphql . test . integration Ċ Ċ import Ġcom . exp edi ag roup . graphql . TopLevel Object Ċ import Ġcom . exp edi ag roup . graphql . test Schema Config Ċ import Ġcom . exp edi ag roup . graphql . to Schema Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . util . UUID Ċ import Ġkotlin . test . assertNotNull Ċ Ċ class ĠRecursive Input Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Input Ġtype Ġwith Ġa Ġrecursive Ġargument Ġshould Ġwork `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueries Ġ= ĠlistOf ( TopLevel Object ( Recursive Input Queries ())) ĊĠĠĠĠĠĠĠ Ġval Ġschema Ġ= Ġto Schema ( test Schema Config , Ġqueries ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( schema ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( schema . getType (" Recursive Person ")) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( schema . getType (" Recursive Person Input ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRecursive Person Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠString Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġbest Friend : ĠRecursive Person Ġ= ĠRecursive Person () ĊĠĠĠĠĠĠĠ Ġval Ġfriends : ĠList < Recursive Person > Ġ= ĠlistOf ( Recursive Person (), ĠRecursive Person ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRecursive Input Queries Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Person () Ġ= ĠRecursive Person () ĊĠĠĠĠĠĠĠ Ġfun Ġget Multiple People () Ġ= ĠlistOf ( Recursive Person (), ĠRecursive Person ()) ĊĠĠĠĠĠĠĠ Ġfun ĠgetId ( input Person : ĠRecursive Person ): ĠString Ġ= Ġinput Person . id ĊĠĠĠĠĠĠĠ Ġfun Ġget Multiple Ids ( people : ĠArrayList < Recursive Person >): ĠList < String > Ġ= Ġpeople . map Ġ{ Ġit . id Ġ} ĊĠĠĠ Ġ} Ċ } Ċ