/* Ċ Ġ* Ċ Ġ* ĠĠ Ġ================= ======= LICENSE _ START ================================ = Ċ Ġ* ĠĠ ĠCompose ĠForms Ċ Ġ* ĠĠ Ġ%% Ċ Ġ* ĠĠ ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠF HN W ĠTech nik Ċ Ġ* ĠĠ Ġ%% Ċ Ġ* ĠĠ Ġ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 . Ċ Ġ* ĠĠ Ġ================= ======== LICENSE _ END ================================ == Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġmodel . validators . semantic Validators Ċ Ċ import Ġmodel . Labels Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ /** Ċ Ġ* Ġ@ author ĠL ou isa ĠRe inger Ċ Ġ* Ġ@ author ĠSteve ĠVo gel Ċ Ġ*/ Ċ internal Ġclass ĠCustom Validator Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġoverride Custom Validator () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġf Ġ: Ġ( String ?) Ġ-> ĠBoolean Ġ= Ġ{ it !!. length Ġ> Ġ 3 } ĊĠĠĠĠĠĠĠ Ġval Ġf 2 : Ġ( String ?) Ġ-> ĠBoolean Ġ= Ġ{ it !!. length Ġ> Ġ 1 } ĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠLabels . CUSTOM VALID ATOR MSG ĊĠĠĠĠĠĠĠ Ġval Ġmsg 1 Ġ= ĠLabels . CUSTOM VALID ATOR MSG 1 ĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġval Ġcv Ġ= ĠCustom Validator ( f , Ġvalidation Message Ġ= Ġmsg ) ĊĠĠĠĠĠĠĠ Ġcv . override Custom Validator ( f 2 ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Ha ", Ġ" Ha "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Ha ", Ġ" Ha "). right Track Result ) ĊĊĠĠĠĠĠĠĠ Ġcv . override Custom Validator ( null , Ġvalidation Message Ġ= Ġmsg 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Ha ", Ġ" Ha "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Ha ", Ġ" Ha "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( msg 1 , Ġcv . validate User Input (" H ", Ġ" H "). validation Message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalidate User Input () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġf Ġ: Ġ( String ?) Ġ-> ĠBoolean Ġ= Ġ{ it !!. length Ġ> Ġ 3 } ĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠLabels . CUSTOM VALID ATOR MSG ĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġval Ġcv Ġ= ĠCustom Validator ( f , Ġvalidation Message Ġ= Ġmsg ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv . validate User Input (" Hal lo ", Ġ" Hal lo "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( cv . validate User Input (" Ha ", Ġ" Ha "). result ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( cv . validate User Input (" Ha ", Ġ" Ha "). right Track Result ) ĊĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġval Ġcv 2 Ġ= ĠCustom Validator ( f , Ġnull , Ġmsg ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv 2 . validate User Input (" Hal lo ", Ġ" Hal lo "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv 2 . validate User Input (" Hal lo ", Ġ" Hal lo "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( cv 2 . validate User Input (" Ha ", Ġ" Ha "). result ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( cv 2 . validate User Input (" Ha ", Ġ" Ha "). right Track Result ) ĊĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġf 3 Ġ: Ġ( String ?) Ġ-> ĠBoolean Ġ= Ġ{ it !!. length Ġ> Ġ 1 } ĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġval Ġcv 3 Ġ= ĠCustom Validator ( f , Ġf 3 , validation Message Ġ= Ġmsg ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv 3 . validate User Input (" Hal lo ", Ġ" Hal lo "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv 3 . validate User Input (" Hal lo ", Ġ" Hal lo "). right Track Result ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( cv 3 . validate User Input (" Ha ", Ġ" Ha "). result ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( cv 3 . validate User Input (" Ha ", Ġ" Ha "). right Track Result ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Validation Function () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġf Ġ: Ġ( String ?) Ġ-> ĠBoolean Ġ= Ġ{ it !!. length Ġ> Ġ 3 } ĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠLabels . CUSTOM VALID ATOR MSG ĊĊĠĠĠĠĠĠĠ Ġ// when ĊĠĠĠĠĠĠĠ Ġval Ġcv Ġ= ĠCustom Validator ( f , Ġvalidation Message Ġ= Ġmsg ) ĊĊĠĠĠĠĠĠĠ Ġ// then ĊĠĠĠĠĠĠĠ ĠassertEquals ( f , Ġcv . get Validation Function ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( msg , Ġcv . validation Message ) ĊĠĠĠ Ġ} Ċ Ċ }