/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠN icol as ĠMal ta is Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġ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 Ġcom . mal ta is n . notes . ui . search Ċ Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ class ĠSearch Query Clean er Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġadd Ġwildcard Ġto Ġall Ġterms `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a * Ġb * Ġc *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (" a Ġ Ġb Ġ Ġc ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should n 't Ġadd Ġwildcard Ġin Ġquotes `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (""" a * Ġ" b Ġc """ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (""" a Ġ" b Ġc """" )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġremove Ġdisabled Ġchars `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a * Ġcolumn b * Ġc *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean ("^ a Ġcolumn : b Ġc * Ġ( Ġ) \ \" )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġremove Ġdisabled Ġchars Ġin Ġquotes `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (""" a * Ġ" column b Ġc """ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (""" ^ a Ġ" column : b Ġc * """" )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġdisable Ġf ts Ġkeywords `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a * Ġand * Ġb * Ġor * Ġnot * Ġc *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (" a ĠAND Ġ( b ĠOR ĠNOT Ġc ) ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġadd Ġmissing Ġquote `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (""" a * Ġ" b Ġc """ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (""" a Ġ" b Ġc "" ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġallow Ġminus ĠNOT Ġoperator `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a * Ġ- b *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (" a Ġ- b ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġignore Ġextra Ġsepar ators `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (" a * Ġb * Ġc *", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (" ;, Ġa , ;; Ġ Ġ, b ĠĠ Ġ;; c Ġ;; , Ġ Ġ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġignore Ġquery Ġof Ġonly Ġsepar ators `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ("", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Query Clean er . clean (" ĠĠĠĠĠĠĠ Ġ")) ĊĠĠĠ Ġ} Ċ Ċ } Ċ