package Ġbr . com . al ura . byte bank . test Ċ Ċ import Ġbr . com . al ura . byte bank . model . client . Address Ċ Ċ fun Ġtest Let () Ġ{ ĊĠĠĠ Ġprintln ("\ n \ n ### Ġtest Let ") ĊĊĠĠĠ ĠAddress (). let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" OBJECT Ġ- ĠLET Ġ-- Ġ$ it ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" String ". let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" STRING Ġ- ĠLET Ġ-- Ġ$ it ") ĊĠĠĠ Ġ} ĊĠĠĠĠ 0 . let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" INT Ġ- ĠLET Ġ-- Ġ$ it ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġvalue Ġ= Ġorder A ( 1 ) Ġ{ Ġ" return Ġoperator " Ġ} ĊĠĠĠ Ġprintln ( value ) ĊĊĠĠĠ Ġprintln ("\ n ") ĊĊĠĠĠ Ġval Ġaddress Ġ= ĠAddress (- 1 , Ġ" SP ", Ġ" SP ", Ġ" BR ") ĊĠĠĠ Ġprintln ( address ) ĊĊĠĠĠ Ġval Ġ_ let Ġ= Ġaddress . let Ġ{ ĊĠĠĠĠĠĠĠ Ġit . city ĊĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠ Ġ" end " ĊĠĠĠ Ġ}. let (:: println ). let Ġ{ ĊĠĠĠĠĠĠĠ Ġ"_ let " ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln (_ let ) ĊĊĠĠĠ Ġprintln ("\ n ") ĊĊĠĠĠ Ġfunction A ( 1 , Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln ("\ n ") ĊĊĠĠĠ ĠAddress ( state Ġ= Ġ" SP ", Ġcity Ġ= Ġ" SP ", Ġlocation Ġ= Ġ" BR "). apply Ġ{ Ġthis ĊĠĠĠĠĠĠĠ Ġ"${ this . location }" ĊĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠAddress ( state Ġ= Ġ" SP ", Ġcity Ġ= Ġ" SP ", Ġlocation Ġ= Ġ" BR "). run Ġ{ Ġthis ĊĠĠĠĠĠĠĠ Ġ"${ this . location }" ĊĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġorder A ( value : ĠInt , Ġoperator : Ġ() Ġ-> ĠString ) Ġ{ ĊĠĠĠ Ġ"$ value Ġ-- Ġ$ operator ()" Ċ } Ċ Ċ fun Ġfunction A ( a : ĠInt , Ġb : ĠInt , Ġresult : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġprintln (" Ġ-- Ġbefore ") ĊĠĠĠ Ġresult ( a Ġ+ Ġb ) ĊĠĠĠ Ġprintln (" Ġ-- Ġafter ") Ċ }