/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 , ĠChristian ĠB an se Ġand ĠAnd reas ĠH ager . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ġ Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// 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 Ġio . github . ox isto . ret ic ulated . expression Ċ Ċ import Ġio . github . ox isto . ret ic ulated . Python Parser Ċ import Ġio . github . ox isto . ret ic ulated . ast . expression . primary . atom . Identifier Ċ import Ġio . github . ox isto . ret ic ulated . ast . expression . primary . atom . enc lo sure . Set Comp reh ension Ċ import Ġio . github . ox isto . ret ic ulated . ast . expression . primary . atom . literal . Integer Ċ import Ġio . github . ox isto . ret ic ulated . ast . expression . primary . atom . literal . StringLiteral Ċ import Ġio . github . ox isto . ret ic ulated . ast . expression . primary . call . Call Ċ import Ġorg . junit . Test Ċ import Ġjava . io . File Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠSet Comp reh ension Test Ġ{ ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġstar red Set Test () Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFile ( ĊĠĠĠĠĠ Ġjava Class ĊĠĠĠĠĠĠĠ Ġ. class Loader ĊĠĠĠĠĠĠĠ Ġ. getResource (" expressions / enc lo sure / display / star red _ set . py ") !! ĊĠĠĠĠĠĠĠ Ġ. file ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġinput Ġ= ĠPython Parser () ĊĠĠĠĠĠ Ġ. parse ( file . path ) ĊĠĠĠĠĠ Ġ. root ĊĠĠĠ ĠassertNotNull ( input ) ĊĊĠĠĠ Ġ// Ġprint ( input . toString ()) ĊĊĠĠĠ Ġval Ġset Ġ= Ġinput . statements [ 0 ] Ġas ĠSet Comp reh ension ĊĠĠĠ ĠassertNotNull ( set ) ĊĠĠĠ ĠassertNull ( set . comp reh ension ) ĊĠĠĠ Ġval Ġstar red List Ġ= Ġset . star red List ĊĠĠĠ ĠassertNotNull ( star red List ) ĊĠĠĠ Ġval Ġfirst Element Ġ= Ġstar red List [ 0 ] Ġas ĠInteger ĊĠĠĠ ĠassertEquals ( first Element . value , Ġ 1 ) ĊĠĠĠ Ġval Ġvalue Of Second Element Ġ= Ġstar red List [ 1 ] Ġas ĠString Literal ĊĠĠĠ ĠassertEquals ( valueOf Second Element . value , Ġ" a ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġcompreh ension Set Test () Ġ{ ĊĠĠĠ Ġval Ġfile Ġ= ĠFile ( ĊĠĠĠĠĠ Ġjava Class ĊĠĠĠĠĠĠĠ Ġ. class Loader ĊĠĠĠĠĠĠĠ Ġ. getResource (" expressions / enc lo sure / display / comp reh ension _ set . py ") !! ĊĠĠĠĠĠĠĠ Ġ. file ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġinput Ġ= ĠPython Parser () ĊĠĠĠĠĠ Ġ. parse ( file . path ) ĊĠĠĠĠĠ Ġ. root ĊĠĠĠ ĠassertNotNull ( input ) ĊĊĠĠĠ Ġ// Ġprint ( input . toString ()) ĊĊĠĠĠ Ġval Ġset Ġ= Ġinput . statement As OrNull < Set Comp reh ension >( 0 ) ĊĠĠĠ ĠassertNotNull ( set ) ĊĠĠĠ ĠassertNull ( set . star red List ) ĊĠĠĠ Ġval Ġcompreh ension Ġ= Ġset . comp reh ension ĊĠĠĠ ĠassertNotNull ( comp reh ension ) ĊĠĠĠ Ġval Ġcomp Identifier Ġ= Ġcompreh ension . expression Ġas ĠIdentifier ĊĠĠĠ ĠassertEquals ( comp Identifier . name , Ġ" x ") ĊĠĠĠ Ġval Ġcomp For Ġ= Ġcompreh ension . comp For ĊĠĠĠ ĠassertFalse ( comp For . is Async ) ĊĠĠĠ Ġval Ġtarget Identifier Ġ= Ġcomp For . target List Ġas ĠIdentifier ĊĠĠĠ ĠassertEquals ( target Identifier . name , Ġ" x ") ĊĠĠĠ Ġval Ġcall Ġ= Ġcomp For . or Test Ġas ĠCall ĊĠĠĠ ĠassertNotNull ( call ) ĊĠĠĠ Ġval Ġcall Name Ġ= Ġcall . primary Ġas ĠIdentifier ĊĠĠĠ ĠassertEquals ( call Name . name , Ġ" range ") ĊĠĠĠ Ġval Ġcall Argument Ġ= Ġcall . call Tr ailer Ġas ĠInteger ĊĠĠĠ ĠassertEquals ( call Argument . value , Ġ 1 0 ) ĊĠ Ġ} Ċ } Ċ