// ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ // ĠIG NORE _ BACKEND : ĠJS _ IR Ċ // ĠTODO : Ġmut ed Ġautomatically , Ġinvestigate Ġshould Ġit Ġbe Ġran Ġfor ĠJS Ġor Ġnot Ċ // ĠIG NORE _ BACKEND : ĠJS , ĠN ATIVE Ċ Ċ // ĠWITH _ REF LECT Ċ Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠC Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfoo ( a : ĠString , Ġb : ĠString Ġ= Ġ" b ") Ġ= Ġa Ġ+ Ġb ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġf Ġ= ĠC . Companion :: class . members . single Ġ{ Ġit . name Ġ== Ġ" foo " Ġ} ĊĊĠĠĠ Ġ// ĠAny Ġobject Ġmethod Ġcurrently Ġrequires Ġthe Ġobject Ġinstance Ġpassed ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġf . call By ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf . parameters . single Ġ{ Ġit . name Ġ== Ġ" a " Ġ} Ġto Ġ" a " ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Fail : ĠIllegalArgumentException Ġshould Ġhave Ġbeen Ġthrown " ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠOK ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠassertEquals (" ab ", Ġf . call By ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf . parameters . first () Ġto ĠC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf . parameters . single Ġ{ Ġit . name Ġ== Ġ" a " Ġ} Ġto Ġ" a " ĊĠĠĠ Ġ))) ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ } Ċ