/* Ċ Ġ* ĠCopyright Ġ 2 0 1 2 - 2 0 2 1 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . nex ial . core . interactive Ċ Ċ import Ġorg . apache . commons . lang 3 . StringUtils Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . nex ial . commons . utils . Regex Utils Ċ import Ġorg . nex ial . core . interactive . Execution Inspector . Companion . regex Desktop Var Ċ Ċ class ĠExecution Inspector Test Ġ{ ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Desktop Regex () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġinspection Ġonly ĊĠĠĠĠĠĠĠ Ġval Ġfixtures Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" /* [@ ClassName =' My App '] ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" /* [@ ClassName =' Window Class 3 2 ' Ġand Ġcontains (@ Name ,' P TE ĠSystem ĠMenu ') ]" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfixtures . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= Ġ" DE SK TOP ($ it )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" testing Ġ$ fixture ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( Regex Utils . is Exact ( fixture , Ġregex Desktop Var )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= ĠRegex Utils . collect Groups ( fixture , Ġregex Desktop Var ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( groups ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 5 , Ġgroups . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( it , Ġgroups [ 0 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġaction Ġwith Ġno Ġinput ĊĠĠĠĠĠĠĠ Ġval Ġfixtures 2 Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" /* [@ ClassName =' Window Class 3 2 ' Ġand Ġcontains (@ Name ,' P TE ĠSystem ĠMenu ')] /* [@ Control Type =' Control Type . Title Bar ' Ġand Ġ@ Automation Id =' Title Bar ']) ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" double Click "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" /* [@ ClassName =' Window Class 3 2 ' Ġand Ġ@ Name =' Application )]) ", Ġ" click ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfixtures 2 . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= Ġ" DE SK TOP ($ key ) Ġ=> Ġ$ value " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" testing Ġ$ fixture ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( Regex Utils . is Exact ( fixture , Ġregex Desktop Var )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= ĠRegex Utils . collect Groups ( fixture , Ġregex Desktop Var ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( groups ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" expects Ġ 5 Ġgroups Ġcaptured ", Ġ 5 , Ġgroups . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( key , Ġgroups [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( value , Ġgroups [ 2 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġaction Ġwith Ġinput ( s ) ĊĠĠĠĠĠĠĠ Ġval Ġfixtures 3 Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" /* [@ ClassName =' Window Class 3 2 '] /* [@ Automation Id =' Title Bar ']) ", Ġ" click "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" /* [@ ClassName =' Window Class 3 2 '] /* [@ Control Type =' Control Type . Title Bar ' Ġand Ġ@ Automation Id =' Title Bar ']) ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type , Hello "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" /* [@ ClassName =' Window Class 3 2 ' Ġand Ġ@ Name =' Application )]) ", Ġ" type , Hi { TAB } there !, What 's Ġup ? !") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfixtures 3 . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠStringUtils . substring Before ( value , Ġ", ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= Ġ" DE SK TOP ($ key ) Ġ=> Ġ$ action (${ StringUtils . substring After ( value , Ġ", ") })" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" testing Ġ$ fixture ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( Regex Utils . is Exact ( fixture , Ġregex Desktop Var )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= ĠRegex Utils . collect Groups ( fixture , Ġregex Desktop Var ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( groups ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" expects Ġ 5 Ġgroups Ġcaptured ", Ġ 5 , Ġgroups . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( key , Ġgroups [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( action , Ġgroups [ 2 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( StringUtils . substring After ( value , Ġ", "), ĠStringUtils . default String ( groups [ 4 ])) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} Ċ }