@@ -662,7 +662,7 @@ private ExpressionSyntax ConvertConstraintToTUnitWithMessage(ExpressionSyntax ac
662662 } ;
663663 }
664664
665- // Handle Does.Not.StartWith, Does.Not.EndWith, Does.Not.Contain
665+ // Handle Does.Not.StartWith, Does.Not.EndWith, Does.Not.Contain, Does.Not.Match
666666 if ( memberAccess . Expression is MemberAccessExpressionSyntax doesNotAccess &&
667667 doesNotAccess . Expression is IdentifierNameSyntax { Identifier . Text : "Does" } &&
668668 doesNotAccess . Name . Identifier . Text == "Not" )
@@ -672,6 +672,7 @@ private ExpressionSyntax ConvertConstraintToTUnitWithMessage(ExpressionSyntax ac
672672 "StartWith" => CreateTUnitAssertionWithMessage ( "DoesNotStartWith" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
673673 "EndWith" => CreateTUnitAssertionWithMessage ( "DoesNotEndWith" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
674674 "Contain" => CreateTUnitAssertionWithMessage ( "DoesNotContain" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
675+ "Match" => CreateTUnitAssertionWithMessage ( "DoesNotMatch" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
675676 _ => CreateTUnitAssertionWithMessage ( "DoesNotContain" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) )
676677 } ;
677678 }
@@ -704,13 +705,14 @@ private ExpressionSyntax ConvertConstraintToTUnitWithMessage(ExpressionSyntax ac
704705 } ;
705706 }
706707
707- // Handle Does.StartWith, Does.EndWith, Contains.Substring
708+ // Handle Does.StartWith, Does.EndWith, Does.Match, Contains.Substring
708709 if ( memberAccess . Expression is IdentifierNameSyntax { Identifier . Text : "Does" or "Contains" } )
709710 {
710711 return methodName switch
711712 {
712713 "StartWith" => CreateTUnitAssertionWithMessage ( "StartsWith" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
713714 "EndWith" => CreateTUnitAssertionWithMessage ( "EndsWith" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
715+ "Match" => CreateTUnitAssertionWithMessage ( "Matches" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
714716 "Substring" => CreateTUnitAssertionWithMessage ( "Contains" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
715717 _ => CreateTUnitAssertionWithMessage ( "IsEqualTo" , actualValue , message , SyntaxFactory . Argument ( constraint ) )
716718 } ;
@@ -729,6 +731,7 @@ private ExpressionSyntax ConvertConstraintToTUnitWithMessage(ExpressionSyntax ac
729731 "SameAs" => CreateTUnitAssertionWithMessage ( "IsSameReferenceAs" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
730732 "InstanceOf" => CreateTUnitAssertionWithMessage ( "IsAssignableTo" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
731733 "TypeOf" => CreateTUnitAssertionWithMessage ( "IsTypeOf" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
734+ "Matches" => CreateTUnitAssertionWithMessage ( "Matches" , actualValue , message , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
732735 _ => CreateTUnitAssertionWithMessage ( "IsEqualTo" , actualValue , message , SyntaxFactory . Argument ( constraint ) )
733736 } ;
734737 }
@@ -877,7 +880,7 @@ private ExpressionSyntax ConvertConstraintToTUnit(ExpressionSyntax actualValue,
877880 } ;
878881 }
879882
880- // Handle Does.Not.StartWith, Does.Not.EndWith, Does.Not.Contain
883+ // Handle Does.Not.StartWith, Does.Not.EndWith, Does.Not.Contain, Does.Not.Match
881884 if ( memberAccess . Expression is MemberAccessExpressionSyntax doesNotAccess &&
882885 doesNotAccess . Expression is IdentifierNameSyntax { Identifier . Text : "Does" } &&
883886 doesNotAccess . Name . Identifier . Text == "Not" )
@@ -887,6 +890,7 @@ private ExpressionSyntax ConvertConstraintToTUnit(ExpressionSyntax actualValue,
887890 "StartWith" => CreateTUnitAssertion ( "DoesNotStartWith" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
888891 "EndWith" => CreateTUnitAssertion ( "DoesNotEndWith" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
889892 "Contain" => CreateTUnitAssertion ( "DoesNotContain" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
893+ "Match" => CreateTUnitAssertion ( "DoesNotMatch" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
890894 _ => CreateTUnitAssertion ( "DoesNotContain" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) )
891895 } ;
892896 }
@@ -901,13 +905,14 @@ private ExpressionSyntax ConvertConstraintToTUnit(ExpressionSyntax actualValue,
901905 } ;
902906 }
903907
904- // Handle Does.StartWith, Does.EndWith, Contains.Substring
908+ // Handle Does.StartWith, Does.EndWith, Does.Match, Contains.Substring
905909 if ( memberAccess . Expression is IdentifierNameSyntax { Identifier . Text : "Does" or "Contains" } )
906910 {
907911 return methodName switch
908912 {
909913 "StartWith" => CreateTUnitAssertion ( "StartsWith" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
910914 "EndWith" => CreateTUnitAssertion ( "EndsWith" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
915+ "Match" => CreateTUnitAssertion ( "Matches" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
911916 "Substring" => CreateTUnitAssertion ( "Contains" , actualValue , constraint . ArgumentList . Arguments . ToArray ( ) ) ,
912917 _ => CreateTUnitAssertion ( "IsEqualTo" , actualValue , SyntaxFactory . Argument ( constraint ) )
913918 } ;
0 commit comments