Exemple #1
0
        public void Builder_Build_WithDefaultState()
        {
            var validatable = ValidatableBuilder.Create <string>().Build();

            Assert.IsNull(validatable.Value);
            Assert.IsTrue(validatable.IsValid);
        }
Exemple #2
0
        public void Validatable_ValidateMultiple_CorrectOrder()
        {
            var errorMessages = new[] {
                "ErrorMessage1",
                "ErrorMessage2",
                "ErrorMessage3",
            };
            var validators = new[] {
                new FakeValidator <object> {
                    Message = errorMessages[0], Order = 1
                },
                new FakeValidator <object> {
                    Message = errorMessages[1], Order = 2
                },
                new FakeValidator <object> {
                    Message = errorMessages[2], Order = 3
                },
            };
            var validatable = ValidatableBuilder.Create <object>()
                              .WithValidator(validators[0])
                              .WithValidator(validators[1])
                              .WithValidator(validators[2])
                              .Build();

            for (int i = 0; i < validators.Length; i++)
            {
                validatable.Validate();
                Assert.IsFalse(validatable.IsValid);
                Assert.AreEqual(errorMessages[i], validatable.ErrorMessage);

                validators[i].IsValid = true;
            }
        }
Exemple #3
0
        public void Builder_Build_WithValidator()
        {
            var validatable = ValidatableBuilder.Create <string>()
                              .WithValidator(new RequiredValidator("Required field."))
                              .Build();

            Assert.AreEqual(1, validatable.Validators.Count());
        }
Exemple #4
0
        public void Validatable_Validate_ChangeIsValid()
        {
            var validatable = ValidatableBuilder.Create <object>()
                              .WithValidator(new AlwaysFalseValidator())
                              .Build();

            validatable.Validate();
            Assert.IsFalse(validatable.IsValid);
        }
Exemple #5
0
        public void Builder_Build_WithRequired()
        {
            var validatable = ValidatableBuilder.Create <string>()
                              .WithRequired("Required field.")
                              .Build();

            Assert.AreEqual(1, validatable.Validators.Count());
            Assert.Contains(typeof(RequiredValidator),
                            validatable.Validators.Select(v => v.GetType()).ToList());
        }
Exemple #6
0
 Validatable <object> MakeValidatable() => ValidatableBuilder.Create <object>().Build();