@@ -348,6 +348,45 @@ public void HasIsNumberPlaceholder_Element_IsNumber() {
348348 Assert . IsFalse ( diff . HasDifferences ( ) ) ;
349349 }
350350
351+ [ Test ]
352+ public void HasMatchesRegexPlaceholder_Attribute_Matches ( ) {
353+ string control = "<elem1 attr='${xmlunit.matchesRegex(^\\ d+$)}'>qwert</elem1>" ;
354+ string test = "<elem1 attr='023'>qwert</elem1>" ;
355+ var diff = DiffBuilder . Compare ( control ) . WithTest ( test )
356+ . WithDifferenceEvaluator ( new PlaceholderDifferenceEvaluator ( ) . Evaluate ) . Build ( ) ;
357+
358+ Assert . IsFalse ( diff . HasDifferences ( ) ) ;
359+ }
360+
361+ [ Test ]
362+ public void HasMatchesRegexPlaceholder_Attribute_NotMatches ( ) {
363+ string control = "<elem1 attr='${xmlunit.matchesRegex(^\\ d+$)}'>qwert</elem1>" ;
364+ string test = "<elem1 attr='023asd'>qwert</elem1>" ;
365+ var diff = DiffBuilder . Compare ( control ) . WithTest ( test )
366+ . WithDifferenceEvaluator ( new PlaceholderDifferenceEvaluator ( ) . Evaluate ) . Build ( ) ;
367+
368+ Assert . IsTrue ( diff . HasDifferences ( ) ) ;
369+ }
370+
371+ [ Test ]
372+ public void HasMatchesRegexPlaceholder_Element_Matches ( ) {
373+ string control = "<elem1>${xmlunit.matchesRegex(^\\ d+$)}</elem1>" ;
374+ string test = "<elem1>023</elem1>" ;
375+ var diff = DiffBuilder . Compare ( control ) . WithTest ( test )
376+ . WithDifferenceEvaluator ( new PlaceholderDifferenceEvaluator ( ) . Evaluate ) . Build ( ) ;
377+ Assert . IsFalse ( diff . HasDifferences ( ) ) ;
378+ }
379+
380+ [ Test ]
381+ public void HasMatchesRegexPlaceholder_Element_NotMatches ( ) {
382+ string control = "<elem1>${xmlunit.matchesRegex(^\\ d+$)}</elem1>" ;
383+ string test = "<elem1>23abc</elem1>" ;
384+ var diff = DiffBuilder . Compare ( control ) . WithTest ( test )
385+ . WithDifferenceEvaluator ( new PlaceholderDifferenceEvaluator ( ) . Evaluate ) . Build ( ) ;
386+
387+ Assert . IsTrue ( diff . HasDifferences ( ) ) ;
388+ }
389+
351390 [ Test ]
352391 public void HasIsDateTimePlaceholder_Attribute_NotDateTime ( ) {
353392 string control = "<elem1 attr='${xmlunit.isDateTime}'/>" ;
0 commit comments