コード例 #1
0
        public void AddLessThanValidationPredicate()
        {
            // Arrange.
            ValidatableArgument <short> argument = new ValidatableArgument <short>("argument", 3);

            // Act.
            argument.IsLessThan(5);

            // Assert.
            Assert.AreEqual(1, argument.ValidationPredicates.Count());
            Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate <short>));
        }
コード例 #2
0
        public void AddLessThanValidationPredicate_WhenArgumentIsDecimal()
        {
            // Arrange.
            ValidatableArgument<decimal> argument = new ValidatableArgument<decimal>("argument", 3);

            // Act.
            argument.IsLessThan(5);

            // Assert.
            Assert.AreEqual(1, argument.ValidationPredicates.Count());
            Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate<decimal>));
        }
コード例 #3
0
        public void AddLessThanValidationPredicate_WhenArgumentIsDateTime()
        {
            // Arrange.
            ValidatableArgument <DateTime> argument = new ValidatableArgument <DateTime>("argument", DateTime.Now);

            // Act.
            argument.IsLessThan(DateTime.Now);

            // Assert.
            Assert.AreEqual(1, argument.ValidationPredicates.Count());
            Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate <DateTime>));
        }
コード例 #4
0
        public void NotThrowAnyException_WhenArgumentHasNoMatches()
        {
            // Arrange.
            IValidatableArgument<int> validatableArgument = new ValidatableArgument<int>("validatableArgument", 3);
            validatableArgument.IsLessThan(2).IsGreaterThan(5);

            // Act & Assert.
            Ensure.NoExceptionIsThrown(
                () =>
                {
                    validatableArgument.Throw();
                });
        }
コード例 #5
0
        public void NotThrowAnyException_WhenArgumentHasNoMatches()
        {
            // Arrange.
            IValidatableArgument <int> validatableArgument = new ValidatableArgument <int>("validatableArgument", 3);

            validatableArgument.IsLessThan(2).IsGreaterThan(5);

            // Act & Assert.
            Ensure.NoExceptionIsThrown(
                () =>
            {
                validatableArgument.Throw();
            });
        }
        public void ReturnFalseAndArgumentExceptionIsNull_WhenArgumentDoesNotHaveMatches()
        {
            // Arrange.
            IValidatableArgument<int> validatableArgument = new ValidatableArgument<int>("validatableArgument", 3);
            validatableArgument.IsLessThan(2).IsGreaterThan(5);

            // Act.
            ArgumentException argumentException;
            bool result = validatableArgument.TryGetArgumentException(out argumentException);

            // Assert.
            Assert.IsFalse(result);
            Assert.IsNull(argumentException);
        }
コード例 #7
0
        public void RunInExpectedTime()
        {
            // Arrange.
            ValidatableArgument <int> argument = new ValidatableArgument <int>("argument", 3);

            // Act & Assert.
            Ensure.ActionRunsInExpectedTime(
                () =>
            {
                argument.IsLessThan(3);
            },
                PerformanceConstants.ValidationPredicateExecutionCount,
                PerformanceConstants.ValidationPredicateTotalExecutionExpectedTime);
        }
        public void ReturnFalseAndArgumentExceptionIsNull_WhenArgumentDoesNotHaveMatches()
        {
            // Arrange.
            IValidatableArgument <int> validatableArgument = new ValidatableArgument <int>("validatableArgument", 3);

            validatableArgument.IsLessThan(2).IsGreaterThan(5);

            // Act.
            ArgumentException argumentException;
            bool result = validatableArgument.TryGetArgumentException(out argumentException);

            // Assert.
            Assert.IsFalse(result);
            Assert.IsNull(argumentException);
        }
        public void ReturnTrueAndCreatesArgumentOutOfRangeException_WhenArgumentHasMatchesOfRangeValidationType()
        {
            // Arrange.
            IValidatableArgument<int> validatableArgument = new ValidatableArgument<int>("validatableArgument", 3);
            validatableArgument.IsLessThan(5).IsGreaterThan(2);

            // Act.
            ArgumentException argumentException;
            bool result = validatableArgument.TryGetArgumentException(out argumentException);

            // Assert.
            Assert.IsTrue(result);
            Assert.IsNotNull(argumentException);
            Assert.IsInstanceOfType(argumentException, typeof(ArgumentOutOfRangeException));
            Assert.AreEqual("validatableArgument", argumentException.ParamName);
            Assert.AreEqual("Argument value <3> is less than <5>.\r\nParameter name: validatableArgument", argumentException.Message);
        }
        public void ReturnTrueAndCreatesArgumentOutOfRangeException_WhenArgumentHasMatchesOfRangeValidationType()
        {
            // Arrange.
            IValidatableArgument <int> validatableArgument = new ValidatableArgument <int>("validatableArgument", 3);

            validatableArgument.IsLessThan(5).IsGreaterThan(2);

            // Act.
            ArgumentException argumentException;
            bool result = validatableArgument.TryGetArgumentException(out argumentException);

            // Assert.
            Assert.IsTrue(result);
            Assert.IsNotNull(argumentException);
            Assert.IsInstanceOfType(argumentException, typeof(ArgumentOutOfRangeException));
            Assert.AreEqual("validatableArgument", argumentException.ParamName);
            Assert.AreEqual("Argument value <3> is less than <5>.\r\nParameter name: validatableArgument", argumentException.Message);
        }
コード例 #11
0
        public void RunInExpectedTime()
        {
            // Arrange.
            ValidatableArgument<int> argument = new ValidatableArgument<int>("argument", 3);

            // Act & Assert.
            Ensure.ActionRunsInExpectedTime(
                () =>
                {
                    argument.IsLessThan(3);
                },
                PerformanceConstants.ValidationPredicateExecutionCount,
                PerformanceConstants.ValidationPredicateTotalExecutionExpectedTime);
        }
コード例 #12
0
        public void AddLessThanValidationPredicate_WhenArgumentIsDateTime()
        {
            // Arrange.
            ValidatableArgument<DateTime> argument = new ValidatableArgument<DateTime>("argument", DateTime.Now);

            // Act.
            argument.IsLessThan(DateTime.Now);

            // Assert.
            Assert.AreEqual(1, argument.ValidationPredicates.Count());
            Assert.IsInstanceOfType(argument.ValidationPredicates.First(), typeof(LessThanValidationPredicate<DateTime>));
        }