public void Enumerable_WhenCalled_AssertEnumerableValidatorFromConstructor()
        {
            IValidator sut = CreateSut();

            IEnumerableValidator enumerableValidator = sut.Enumerable;

            Assert.That(enumerableValidator, Is.EqualTo(_enumerableValidatorMock.Object));
        }
示例#2
0
        public void ShouldContainItems_WhenValueIsNullAndNullIsAllowed_ReturnsNotNull()
        {
            IEnumerableValidator sut = CreateSut();

            IValidator result = sut.ShouldContainItems <object>(null, GetType(), _fixture.Create <string>(), true);

            Assert.That(result, Is.Not.Null);
        }
示例#3
0
        public void ShouldContainItems_WhenValueIsNullAndNullIsAllowed_ReturnsEnumerableValidator()
        {
            IEnumerableValidator sut = CreateSut();

            IValidator result = sut.ShouldContainItems <object>(null, GetType(), _fixture.Create <string>(), true);

            Assert.That(result, Is.TypeOf <BusinessLogic.Validation.EnumerableValidator>());
        }
示例#4
0
        public void ShouldContainItems_WhenValueIsNotNullAndValueContainsItems_ReturnsEnumerableValidator()
        {
            IEnumerableValidator sut = CreateSut();

            IValidator result = sut.ShouldContainItems(_fixture.CreateMany <object>(_random.Next(5, 10)).ToArray(), GetType(), _fixture.Create <string>());

            Assert.That(result, Is.TypeOf <BusinessLogic.Validation.EnumerableValidator>());
        }
示例#5
0
        public void ShouldContainItems_WhenValidatingFieldIsWhiteSpace_ThrowsArgumentNullException()
        {
            IEnumerableValidator sut = CreateSut();

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.ShouldContainItems(_fixture.CreateMany <object>(_random.Next(5, 10)).ToArray(), GetType(), " "));

            // ReSharper disable PossibleNullReferenceException
            Assert.That(result.ParamName, Is.EqualTo("validatingField"));
            // ReSharper restore PossibleNullReferenceException
        }
示例#6
0
        public void ShouldContainItems_WhenValueIsNullAndNullIsNotAllowed_ThrowsIntranetValidationException()
        {
            IEnumerableValidator sut = CreateSut();

            Type   validatingType              = GetType();
            string validatingField             = _fixture.Create <string>();
            IntranetValidationException result = Assert.Throws <IntranetValidationException>(() => sut.ShouldContainItems <object>(null, validatingType, validatingField));

            // ReSharper disable PossibleNullReferenceException
            Assert.That(result.ErrorCode, Is.EqualTo(ErrorCode.ValueCannotBeNull));
            Assert.That(result.ValidatingType, Is.EqualTo(validatingType));
            Assert.That(result.ValidatingField, Is.EqualTo(validatingField));
            // ReSharper restore PossibleNullReferenceException
        }
示例#7
0
        public void ShouldContainItems_WhenValueIsNotNullAndValueDoesNotContainItems_ThrowsIntranetValidationException()
        {
            IEnumerableValidator sut = CreateSut();

            Type   validatingType              = GetType();
            string validatingField             = _fixture.Create <string>();
            IntranetValidationException result = Assert.Throws <IntranetValidationException>(() => sut.ShouldContainItems(Array.Empty <object>(), validatingType, validatingField));

            // ReSharper disable PossibleNullReferenceException
            Assert.That(result.ErrorCode, Is.EqualTo(ErrorCode.ValueShouldContainSomeItems));
            Assert.That(result.ValidatingType, Is.EqualTo(validatingType));
            Assert.That(result.ValidatingField, Is.EqualTo(validatingField));
            Assert.That(result.InnerException, Is.Null);
            // ReSharper restore PossibleNullReferenceException
        }
        public Validator(IIntegerValidator integerValidator, IDecimalValidator decimalValidator, IStringValidator stringValidator, IDateTimeValidator dateTimeValidator, IObjectValidator objectValidator, IEnumerableValidator enumerableValidator)
        {
            NullGuard.NotNull(integerValidator, nameof(integerValidator))
            .NotNull(decimalValidator, nameof(decimalValidator))
            .NotNull(stringValidator, nameof(stringValidator))
            .NotNull(dateTimeValidator, nameof(dateTimeValidator))
            .NotNull(objectValidator, nameof(objectValidator))
            .NotNull(enumerableValidator, nameof(enumerableValidator));

            lock (SyncRoot)
            {
                _integerValidator    = integerValidator;
                _decimalValidator    = decimalValidator;
                _stringValidator     = stringValidator;
                _dateTimeValidator   = dateTimeValidator;
                _objectValidator     = objectValidator;
                _enumerableValidator = enumerableValidator;
            }
        }