/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 Ġ- Ġ 2 0 2 1 ĠMark o ĠSal me la Ċ Ġ* Ċ Ġ* Ġhttp :// fu us io . org Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . fu us io . fl x . core Ċ Ċ import Ġorg . fu us io . fl x . Flx UnitTest Ċ import Ġorg . fu us io . fl x . core . function . Defined Function Ċ import Ġorg . fu us io . fl x . core . function . Function Spec Ċ import Ġorg . fu us io . fl x . core . function . Function Symbol Ċ import Ġorg . fu us io . fl x . core . type . impl . ImmutableList Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠDefined Function Test Ġ: ĠFl x UnitTest () Ġ{ ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠTest Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ org . junit . jupiter . api . Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Define Ġfunction Ġ( foo Ġx Ġy )` () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġctx Ġ= Ġctx () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfoo Ġ= ĠSymbol (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= ĠSymbol (" x ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= ĠSymbol (" y ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠarrayOf ( x , Ġy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠImmutableList . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Symbol ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Spec . AD DITION ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġx , Ġy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdefined Function Ġ= ĠDefined Function ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfoo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠImmutableList . create ( foo , Ġ 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġlist . eval ( ctx ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( foo , Ġdefined Function . function Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( result Ġis ĠLong ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( 3 L , Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }