package Ġcom . nin jac ont rol . kr isp Ċ Ċ class ĠString Test Ġ: ĠTest Suite Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" Strings " ĊĊĠĠĠ Ġprivate Ġval Ġtests Ġ= ĠlistOf ( ĊĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" unes cap ing : Ġtransform Ġstrings Ġw . Ġescape Ġsequences " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġescaped Ġ= Ġ" foobar \\ n \\ r \\ t " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun escaped Ġ= Ġun escape ( escaped ). first ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( unes caped ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( unes caped !!. length , Ġ 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( unes caped [ 6 ], Ġ'\ n ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( unes caped [ 7 ], Ġ'\ r ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( unes caped [ 8 ], Ġ'\ t ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" unes cap ing : Ġreports Ġinvalid Ġescape Ġsequence Ġ& Ġposition " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġescaped Ġ= Ġ" foobar \\ n \\ m \\ t " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( unes caped , Ġerror ) Ġ= Ġun escape ( escaped ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( errorMessage , Ġchar Pos ) Ġ= Ġerror !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( unes caped ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( errorMessage , Ġ" Invalid Ġchar .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( char Pos !! , Ġ 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" es cap ing : Ġproduces Ġan Ġescaped Ġstring " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun escaped Ġ= Ġ" foobar \ n \ t \"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġescaped Ġ= Ġescape ( unes caped ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( escaped , Ġ" foobar \\ n \\ t \\\" ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" un quote : Ġtrim Ġquotes " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquoted Ġ= Ġ"\" foobar \"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun quoted Ġ= Ġ" foobar " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġun quote ( quoted ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( result !! , Ġun quoted ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( un quote ("\" \" ") !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" quotes : Ġverify Ġquotes " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun balanced Error Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" String Ġis Ġun balanced , Ġfirst Ġand Ġlast Ġcharacter Ġmust Ġbe Ġa Ġ'\" '. " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify Quotes ( null )?. let Ġ{ Ġ( error , Ġpos ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( error , Ġ" String Ġis Ġnull .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( pos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfail (" No Ġerror Ġreturned .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify Quotes ("") ?. let Ġ{ Ġ( error , Ġpos ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( error , Ġun balanced Error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( pos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfail (" No Ġerror Ġreturned .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify Quotes ("\" foobar ") ?. let Ġ{ Ġ( error , Ġpos ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( error , Ġun balanced Error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( pos !! , Ġ 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfail (" No Ġerror Ġreturned .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify Quotes ("\" foobar \\\" ") ?. let Ġ{ Ġ( error , Ġpos ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( error , Ġun balanced Error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( pos !! , Ġ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfail (" No Ġerror Ġreturned .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify Quotes ("\" dpp \" dj kl j \" ") ?. let Ġ{ Ġ( error , Ġpos ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( error , Ġ" Unexpected Ġend Ġof Ġstring .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Equal ( pos !! , Ġ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġfail (" No Ġerror Ġreturned .") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( verify Quotes ("\" foo \"" )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( verify Quotes ("\" fo \\\" o \"" )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( verify Quotes ("\" foo = \\\" bar \\ \"\ "" )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Tests (): ĠList < TestCase > Ġ= Ġtests ĊĠĠĠ Ġoverride Ġfun Ġrun (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġverify Tests ( tests ) Ċ } Ċ