package Ġcom . tester um . web _ backend . services . manual . filter er Ċ Ċ import Ġcom . tester um . common _ jdk . contains Search String Parts Ċ import Ġcom . tester um . model . manual . Manual Test Ċ import Ġcom . tester um . model . manual . enums . Manual Test Status Ċ import Ġcom . tester um . model . manual . status _ tree . filter . Manual Tree Status Filter Ċ Ċ object ĠManual Tests Tree Filter er Ġ{ ĊĊĠĠĠ Ġfun Ġfilter Tests ( tests : ĠList < Manual Test >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter : ĠManual Tree Status Filter ): ĠList < Manual Test > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmutable ListOf < Manual Test >() ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( test Ġin Ġtests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! matches Status ( test . status , Ġfilter )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! matches Text Search ( test , Ġfilter . search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! matches Tags ( test . tags , Ġfilter . tags )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ+= Ġtest ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmatches Tags ( tags : ĠList < String >, Ġfilter Tags : ĠList < String >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupper Case d Tags Ġ= Ġtags . map ( String :: toUpperCase ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġupper Case d Tags . contains All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Tags . map ( String :: toUpperCase ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmatches Status ( status : ĠManual Test Status , Ġfilter : ĠManual Tree Status Filter ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . NOT _ EXECUT ED ĠĠ Ġ-> Ġfilter . show Not Executed ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . IN _ PROGRESS ĠĠĠ Ġ-> Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . BLOCK ED ĠĠĠĠĠĠĠ Ġ-> Ġfilter . show Blocked ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . FAILED ĠĠĠĠĠĠĠĠ Ġ-> Ġfilter . show Failed ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . PAS SED ĠĠĠĠĠĠĠĠ Ġ-> Ġfilter . show Passed ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManual Test Status . NOT _ AP PL IC ABLE Ġ-> Ġfilter . show Not Applicable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmatches Text Search ( test : ĠManual Test , Ġfilter Search : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( filter Search Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue Ġ// Ġnot Ġfiltering Ġon Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( test . path . toString (). contains Search String Parts ( filter Search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( test . name . contains Search String Parts ( filter Search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( test . description . contains Search String Parts ( filter Search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( test . comments . contains Search String Parts ( filter Search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ Ċ }