public void Given_DifferentValidatorType_When_Verifying_Then_ValidationMustFail()
        {
            // Arrange
            var otherValidator = new FakePropertyValidator();
            var verifier       = new RegularExpressionValidatorVerifier <RegularExpressionValidator>("regex");

            // Act & Assert
            AssertExtension.Throws <XunitException>(() => verifier.Verify(otherValidator), "(wrong type)");
        }
        public void Given_CorrectValidatorWithExpressionAndRegexOptions_When_Verifying_Then_ValidationPass()
        {
            // Arrange
            var regularExpressionValidator = new FakeRegularExpressionValidator {
                Expression = "regex"
            };
            var verifier = new RegularExpressionValidatorVerifier <FakeRegularExpressionValidator>("regex", RegexOptions.None);

            // Act & Assert
            AssertExtension.NotThrows(() => verifier.Verify(regularExpressionValidator));
        }
        public void Given_CorrectValidatorWithDifferentExpression_When_Verifying_Then_ValidationFail()
        {
            // Arrange
            var regularExpressionValidator = new FakeRegularExpressionValidator {
                Expression = "regex"
            };
            var verifier = new RegularExpressionValidatorVerifier <FakeRegularExpressionValidator>("otherRegex");

            // Act & Assert
            AssertExtension.Throws <XunitException>(() => verifier.Verify(regularExpressionValidator),
                                                    "(Expression property)");
        }