package Ġlanguage Ċ Ċ import Ġorg . junit . Test Ġas Ġtest Ċ import Ġkotlin . test .* Ċ Ċ class ĠProduct ( val Ġname : ĠString , Ġval Ġprice : ĠDouble ) Ġ{ Ċ } Ċ Ċ class ĠCustomer ( val Ġname : ĠString , Ġval Ġproducts : ĠList < Product >) Ġ{ Ċ } ĊĊ Ċ fun Ġcustomer Template ( customer : ĠCustomer ) Ġ= Ġ""" Ċ < html > Ċ < body > Ċ < h 1 > Hello Ġ${ customer . name }</ h 1 > Ċ < ul > Ċ ${ customer . products . map { Ġproduct Snippet ( it ) Ġ}. join ("\ n ")} Ċ </ ul > Ċ < p > lets Ġdo Ġsome Ġk ool Ġstuff </ p > Ċ </ body > Ċ """ Ċ Ċ fun Ġproduct Snippet ( product : ĠProduct ) Ġ= Ġ"< li >${ product . name }. ĠPrice Ġ: Ġ${ product . price }</ li >" Ċ Ċ // ĠTODO Ġsupport Ġnumber Ġformatting Ġmethods ? Ċ // Ġfun Ġproduct Snippet ( product : ĠProduct ) Ġ= Ġ"< li >${ product . name }. ĠPrice Ġ: Ġ${ product . price . format (' ## Ġ### , 0 0 ')} Ġ</ li >" Ċ Ċ val ĠEXPECT ED Ġ= Ġ""" Ċ < html > Ċ < body > Ċ < h 1 > Hello ĠJames </ h 1 > Ċ < ul > Ċ < li > Be er . ĠPrice Ġ: Ġ 1 . 9 9 </ li > Ċ < li > W ine . ĠPrice Ġ: Ġ 5 . 9 9 </ li > Ċ </ ul > Ċ < p > lets Ġdo Ġsome Ġk ool Ġstuff </ p > Ċ </ body > Ċ """ Ċ Ċ class ĠString Expression Example Test Ġ{ ĊĠĠĠ Ġval Ġcustomer Ġ= ĠCustomer (" James ", Ġarray ListOf ( Product (" Be er ", Ġ 1 . 9 9 ), ĠProduct (" W ine ", Ġ 5 . 9 9 ))) ĊĊĠĠĠ Ġtest Ġfun Ġtest Expressions (): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( EXPECTED , Ġcustomer Template ( customer )) ĊĠĠĠ Ġ} Ċ }