/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* Ġ ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// aws . amazon . com / apache 2 . 0 / Ċ Ġ* Ċ Ġ* Ġ Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġ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 . part i ql . lang . eval . builtins Ċ Ċ import Ġorg . part i ql . lang . eval .* Ċ import Ġorg . part i ql . lang . syntax .* Ċ import Ġorg . junit .* ĊĊ Ċ class ĠTrim Evaluation Test Ġ: ĠEvalu ator TestBase () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default 1 () Ġ= Ġassert Eval (" trim (' ĠĠ Ġstring ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default 2 () Ġ= Ġassert Eval (" trim (' ĠĠ Ġstring ') ", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default 3 () Ġ= Ġassert Eval (" trim (' string ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Other Wh ites p aces () Ġ= Ġassert Eval (" trim ('\ t string \ t ') ", Ġ"\" \ t string \ t \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Simple Case With From 1 () Ġ= Ġassert Eval (" trim ( from Ġ' ĠĠ Ġstring ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Simple Case With From 2 () Ġ= Ġassert Eval (" trim ( from Ġ' ĠĠ Ġstring ') ", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Simple Case With From 3 () Ġ= Ġassert Eval (" trim ( from Ġ' string ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Both 1 () Ġ= Ġassert Eval (" trim ( both Ġfrom Ġ' ĠĠ Ġstring ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Both 2 () Ġ= Ġassert Eval (" trim ( both Ġfrom Ġ' ĠĠ Ġstring ') ", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Both 3 () Ġ= Ġassert Eval (" trim ( both Ġfrom Ġ' string ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Leading 1 () Ġ= Ġassert Eval (" trim ( leading Ġfrom Ġ' ĠĠ Ġstring ĠĠ Ġ' )", Ġ"\" string ĠĠ Ġ\" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Leading 2 () Ġ= Ġassert Eval (" trim ( leading Ġfrom Ġ' ĠĠ Ġstring ') ", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Leading 3 () Ġ= Ġassert Eval (" trim ( leading Ġfrom Ġ' string ĠĠ Ġ' )", Ġ"\" string ĠĠ Ġ\" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Trailing 1 () Ġ= Ġassert Eval (" trim ( trailing Ġfrom Ġ' ĠĠ Ġstring ĠĠ Ġ' )", Ġ"\" ĠĠ Ġstring \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Trailing 2 () Ġ= Ġassert Eval (" trim ( trailing Ġfrom Ġ' ĠĠ Ġstring ') ", Ġ"\" ĠĠ Ġstring \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Trailing 3 () Ġ= Ġassert Eval (" trim ( trailing Ġfrom Ġ' string ĠĠ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 1 () Ġ= Ġassert Eval (" trim ( both Ġ' Ġ- =' Ġfrom Ġ'- Ġ= string Ġ= - Ġ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 2 () Ġ= Ġassert Eval (" trim ( both Ġ' Ġ- =' Ġfrom Ġ'-- === ĠĠĠ Ġ-= Ġ-= Ġ-= ĠĠ Ġstring ') ", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 3 () Ġ= Ġassert Eval (" trim ( both Ġ' Ġ- =' Ġfrom Ġ' string Ġ== - Ġ= Ġ-= - Ġ- Ġ---------- Ġ Ġ' )", Ġ"\" string \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 4 () Ġ= Ġassert Eval (" trim ( both Ġ' Ġ' Ġfrom Ġ' ĠĠĠĠĠĠĠĠĠĠĠ Ġ' )", Ġ"\" \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 5 () Ġ= Ġassert Eval (" trim ( leading Ġ' Ġ' Ġfrom Ġ' ĠĠĠĠĠĠĠĠĠĠĠ Ġ' )", Ġ"\" \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Multiple 6 () Ġ= Ġassert Eval (" trim ( trailing Ġ' Ġ' Ġfrom Ġ' ĠĠĠĠĠĠĠĠĠĠĠ Ġ' )", Ġ"\" \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Emoji 1 () Ġ= Ġassert Eval (" trim ( both Ġ' ðŁĴ © ' Ġfrom Ġ Ġ' ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĺ ģ ðŁĺ ŀ ðŁĺ ¸ ðŁĺ ¸ ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ðŁĴ © ') ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" ðŁĺ ģ ðŁĺ ŀ ðŁĺ ¸ ðŁĺ ¸ \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Emoji 2 () Ġ= Ġassert Eval (" trim (' ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠðŁĺ ģ ðŁĺ ŀ ðŁĺ ¸ ðŁĺ ¸ ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' )", Ġ"\" ðŁĺ ģ ðŁĺ ŀ ðŁĺ ¸ ðŁĺ ¸ \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Chinese () Ġ= Ġassert Eval (" trim ( both Ġ' è© ± Ġ' Ġfrom Ġ' è© ± è© ± Ġ è© ± è© ± è© ± è© ± è© ± è© ± è² » è° · æĸĻ æĿ ĳ èĥ½ è© ± è© ± è© ± è© ± Ġ è© ± è© ± è© ± è© ± ĠĠĠ Ġ' )", Ġ"\" è² » è° · æĸĻ æĿ ĳ èĥ½ \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Expression () Ġ= Ġassert Eval (" trim (' ĠĠ Ġa '|| ' b Ġ Ġ' )", Ġ"\" ab \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim ToRemove Expression () Ġ= Ġassert Eval (""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrim ( both Ġel Ġfrom Ġ' ĠĠĠ 1 ab 1 Ġ Ġ') Ġas Ġtrimmed ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<< ' Ġ 1 ' >> ĠAS Ġel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ", Ġ"[ { trimmed :\" ab \" }] ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Wrong ToRemove Type () Ġ= ĠassertThrows (" Expected Ġtext : Ġ 1 ", ĠNode Metadata ( 1 , Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġvoid Eval (" trim ( trailing Ġ 1 Ġfrom Ġ'') ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Wrong StringType () Ġ= ĠassertThrows (" Expected Ġtext : Ġtrue ", ĠNode Metadata ( 1 , Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġvoid Eval (" trim ( true )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Wrong StringType 2 () Ġ= ĠassertThrows (" Expected Ġtext : Ġtrue ", ĠNode Metadata ( 1 , Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġvoid Eval (" trim ( trailing Ġfrom Ġtrue )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default Specification 1 () Ġ= Ġassert Eval (" trim (' 1 2 ' Ġfrom Ġ' 1 2 1 2 b 1 2 1 2 ') ", Ġ"\" b \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default Specification 2 () Ġ= Ġassert Eval (" trim (' 1 2 ' Ġfrom Ġ' 1 2 1 2 b ') ", Ġ"\" b \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Default Specification 3 () Ġ= Ġassert Eval (" trim (' 1 2 ' Ġfrom Ġ' b 1 2 1 2 ') ", Ġ"\" b \" ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Null 0 1 () Ġ= Ġassert Eval (" trim ( both Ġnull Ġfrom Ġ'') ", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Null 0 2 () Ġ= Ġassert Eval (" trim ( both Ġ'' Ġfrom Ġnull )", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Null 0 3 () Ġ= Ġassert Eval (" trim ( null Ġfrom Ġ'') ", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Null 0 4 () Ġ= Ġassert Eval (" trim (' ' Ġfrom Ġnull )", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Null 0 5 () Ġ= Ġassert Eval (" trim ( null )", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Missing 0 1 () Ġ= Ġassert Eval (" trim ( both Ġmissing Ġfrom Ġ'') ", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Missing 0 2 () Ġ= Ġassert Eval (" trim ( both Ġ'' Ġfrom Ġmissing )", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Missing 0 3 () Ġ= Ġassert Eval (" trim ( missing Ġfrom Ġ'') ", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Missing 0 4 () Ġ= Ġassert Eval (" trim (' ' Ġfrom Ġmissing )", Ġ" null ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtrim Missing 0 5 () Ġ= Ġassert Eval (" trim ( missing )", Ġ" null ") Ċ }