package Ġcz . v ut br . fit . k not . entic ing . index . collection . manager . post process Ċ Ċ import Ġcz . v ut br . fit . k not . entic ing . dto . annotation . Incomplete Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠGlobal Constraints Test Ġ: ĠAbstract Document Matching Test () Ġ{ ĊĊĠĠĠ Ġ@ DisplayName (" one := food Ġtwo := food Ġ&& Ġone Ġ!= Ġtwo ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġone () Ġ= ĠforEach Match (" one := food Ġtwo := food Ġ&& Ġone Ġ!= Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠ ĠforEach Identifier (" one ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġtext At (" token ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( text Ġ== Ġ" food ") Ġ{ Ġ" text Ġfor Ġone Ġshould Ġbe Ġfood , Ġwas Ġ'$ text '" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠforEach Identifier (" two ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġtext At (" token ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( text Ġ== Ġ" food ") Ġ{ Ġ" text Ġfor Ġone Ġshould Ġbe Ġfood , Ġwas Ġ'$ text '" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" one "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" one Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" two "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" two Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( one . match Ġ!= Ġtwo . match ) Ġ{ Ġ" Ġone Ġand Ġtwo Ġshould Ġrepresent Ġdifferent Ġintervals Ġeven Ġthough Ġthe Ġword Ġis Ġthe Ġsame , Ġthey Ġwere Ġone Ġ== Ġ${ one . match }, Ġtwo Ġ== Ġ${ two . match }" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DisplayName (" one := food Ġtwo := food Ġ&& Ġone Ġ!= Ġtwo ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġone One () Ġ= ĠforEach Match (" one := food Ġtwo := food Ġ&& Ġone Ġ!= Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠ ĠforEach Identifier (" one ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġtext At (" token ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( text Ġ== Ġ" food ") Ġ{ Ġ" text Ġfor Ġone Ġshould Ġbe Ġfood , Ġwas Ġ'$ text '" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠforEach Identifier (" two ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġtext At (" token ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( text Ġ== Ġ" food ") Ġ{ Ġ" text Ġfor Ġone Ġshould Ġbe Ġfood , Ġwas Ġ'$ text '" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" one "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" one Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" two "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" two Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( one . match Ġ== Ġtwo . match ) Ġ{ Ġ" Ġone Ġand Ġtwo Ġshould Ġrepresent Ġthe Ġs ma e Ġinterval , Ġthey Ġwere Ġone Ġ== Ġ${ one . match }, Ġtwo Ġ== Ġ${ two . match }" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DisplayName (" one := lemma : work Ġtwo := lemma : work Ġ&& Ġone Ġ!= Ġtwo ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo () Ġ= ĠforEach Match (" one := lemma : work Ġtwo := lemma : work Ġ&& Ġone Ġ!= Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ", Ġ" one ", Ġ" two ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" one "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" one Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" two "] Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" two Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( one . match Ġ!= Ġtwo . match ) Ġ{ Ġ" Ġone Ġand Ġtwo Ġshould Ġrepresent Ġdifferent Ġintervals Ġeven Ġthough Ġthe Ġword Ġis Ġthe Ġsame , Ġthey Ġwere Ġone Ġ== Ġ${ one . match }, Ġtwo Ġ== Ġ${ two . match }" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DisplayName (" in flu encer := n ert ag :( person ) Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person ) Ġctx : par Ġ&& Ġinflu encer . url Ġ!= Ġinfluence e . url ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnested Simple () Ġ= ĠforEach Match (" in flu encer := n ert ag :( person ) Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person ) Ġctx : par Ġ&& Ġinflu encer . url Ġ!= Ġinfluence e . url ") Ġ{ ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ", Ġ" in flu encer ", Ġ" in fluence e ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" in flu encer "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in flu encer Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" in fluence e "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in fluence e Ġwas Ġnot Ġmatched ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflu encer Ġ= Ġattribute Cells At (" person ", Ġ" url ", Ġone . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in flu encer . size Ġ== Ġ 1 ) Ġ{ Ġ" in lf u encer , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfluence e Ġ= Ġattribute Cells At (" person ", Ġ" url ", Ġtwo . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in fluence e . size Ġ== Ġ 1 ) Ġ{ Ġ" in fluence e , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( in flu encer Ġ!= Ġinfluence e ) Ġ{ Ġ" Ġinflu encer Ġand Ġinfluence e Ġsh ou dl Ġhave Ġdifferent Ġurls , Ġthey Ġhad Ġ$ in flu encer Ġvs Ġ$ in fluence e " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DisplayName (" in flu encer := n ert ag :( person | artist ) Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person | artist ) Ġctx : par Ġ&& Ġinflu encer . url Ġ!= Ġinfluence e . url ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnested Person Artist () Ġ= ĠforEach Match (" in flu encer := n ert ag :( person | artist ) Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person | artist ) Ġctx : par Ġ&& Ġinflu encer . url Ġ!= Ġinfluence e . url ") Ġ{ ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ", Ġ" in flu encer ", Ġ" in fluence e ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" in flu encer "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in flu encer Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" in fluence e "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in fluence e Ġwas Ġnot Ġmatched ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflu encer Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" url ", Ġone . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in flu encer . size Ġ== Ġ 1 ) Ġ{ Ġ" in lf u encer , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfluence e Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" url ", Ġtwo . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in fluence e . size Ġ== Ġ 1 ) Ġ{ Ġ" in fluence e , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( in flu encer Ġ!= Ġinfluence e ) Ġ{ Ġ" Ġinflu encer Ġand Ġinfluence e Ġsh ou dl Ġhave Ġdifferent Ġurls , Ġthey Ġhad Ġ$ in flu encer Ġvs Ġ$ in fluence e " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Incomplete (" is Ġnot Ġmatched Ġby Ġanything Ġ: X ") ĊĠĠĠ Ġ@ DisplayName (" in flu encer := person . name : Mic * Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person | artist ) Ġctx : par Ġ&& Ġinflu encer . gender Ġ!= Ġinfluence e . gender ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġone Identifier With Attribute () Ġ= ĠforEach Match (" in flu encer := person . name : Mic * Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := n ert ag :( person | artist ) Ġctx : par Ġ&& Ġinflu encer . gender Ġ!= Ġinfluence e . gender ") Ġ{ ĊĠĠĠĠĠĠĠ ĠforEach Identifier (" in flu encer ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ert ag Cells Ġ= Ġcells At (" n ert ag ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( n ert ag Cells . all Ġ{ Ġit Ġ== Ġ" person " Ġ}) Ġ{ Ġ" all Ġcells Ġshould Ġhave Ġa Ġperson Ġin Ġit " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Cells Ġ= Ġattribute Cells At (" person ", Ġ" name ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( name Cells . all Ġ{ Ġit . startsWith (" Jo ") Ġ}) Ġ{ Ġ" person 's Ġname Ġshould Ġstart Ġwith ĠJo " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ", Ġ" in flu encer ", Ġ" in fluence e ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" in flu encer "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in flu encer Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" in fluence e "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in fluence e Ġwas Ġnot Ġmatched ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflu encer Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" gender ", Ġone . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in flu encer . size Ġ== Ġ 1 ) Ġ{ Ġ" in lf u encer , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfluence e Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" gender ", Ġtwo . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in fluence e . size Ġ== Ġ 1 ) Ġ{ Ġ" in fluence e , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( in flu encer Ġ!= Ġinfluence e ) Ġ{ Ġ" Ġinflu encer Ġand Ġinfluence e Ġshould Ġhave Ġdifferent Ġg enders , Ġthey Ġhad Ġ$ in flu encer Ġvs Ġ$ in fluence e " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Incomplete (" is Ġnot Ġmatched Ġby Ġanything Ġ: X ") ĊĠĠĠ Ġ@ DisplayName (" in flu encer := person . name : Jo * Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := in flu encer := person . name : Mi * Ġctx : par Ġ&& Ġinflu encer . gender Ġ!= Ġinfluence e . gender ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Attributes () Ġ= ĠforEach Match (" in flu encer := person . name : Jo * Ġ< Ġ( Ġlemma :( in fluence | impact ) Ġ| Ġ( lemma : paid Ġ< Ġlemma : tribute ) Ġ) Ġ Ġ< Ġinfluence e := person . name : Jo * Ġctx : par Ġ&& Ġinflu encer . gender Ġ!= Ġinfluence e . gender ") Ġ{ ĊĠĠĠĠĠĠĠ ĠforEach Identifier (" in flu encer ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ert ag Cells Ġ= Ġcells At (" n ert ag ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( n ert ag Cells . all Ġ{ Ġit Ġ== Ġ" person " Ġ}) Ġ{ Ġ" all Ġcells Ġshould Ġhave Ġa Ġperson Ġin Ġit " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Cells Ġ= Ġattribute Cells At (" person ", Ġ" name ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( name Cells . all Ġ{ Ġit . startsWith (" Jo ") Ġ}) Ġ{ Ġ" person 's Ġname Ġshould Ġstart Ġwith ĠJo " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠforEach Identifier (" in fluence e ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ert ag Cells Ġ= Ġcells At (" n ert ag ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( n ert ag Cells . all Ġ{ Ġit Ġ== Ġ" artist " Ġ}) Ġ{ Ġ" all Ġcells Ġshould Ġhave Ġan Ġartist Ġin Ġit " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Cells Ġ= Ġattribute Cells At (" artist ", Ġ" name ", Ġleaf Match . match ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( name Cells . all Ġ{ Ġit . startsWith (" Jo ") Ġ}) Ġ{ Ġ" person 's Ġname Ġshould Ġstart Ġwith ĠJo " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Global Constraint (" one Ġshould Ġbe Ġdifferent Ġthan Ġtwo ", Ġ" in flu encer ", Ġ" in fluence e ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġidentifiers [" in flu encer "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in flu encer Ġwas Ġnot Ġmatched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġidentifiers [" in fluence e "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ verify Global Constraint Ġcheck Failed (" in fluence e Ġwas Ġnot Ġmatched ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflu encer Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" gender ", Ġone . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in flu encer . size Ġ== Ġ 1 ) Ġ{ Ġ" in lf u encer , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfluence e Ġ= Ġmultiple Entity Attribute Cells At ( set Of (" person ", Ġ" artist "), Ġ" gender ", Ġtwo . match ). toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( in fluence e . size Ġ== Ġ 1 ) Ġ{ Ġ" in fluence e , Ġsize Ġshould Ġbe Ġone " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( in flu encer Ġ!= Ġinfluence e ) Ġ{ Ġ" Ġinflu encer Ġand Ġinfluence e Ġshould Ġhave Ġdifferent Ġg enders , Ġthey Ġhad Ġ$ in flu encer Ġvs Ġ$ in fluence e " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }