예제 #1
0
        public void CheckIsValid_Should_Throw_ValidationException_When_Referenced_Collection_Of_Objects_Have_Errors()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
            {
                TestProperty =
                    new[]
                {
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = null
                    },
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = "ABC"
                    },
                    new TestClass {
                        TestProperty1 = null, TestProperty2 = "ABC"
                    }
                }
            };

            var validator = new ValidationHelper();

            // Act
            validator.CheckIsValid(testClass);
        }
예제 #2
0
        public void IsValid_Should_Return_False_When_Referenced_Collection_Of_Objects_Have_Errors()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
            {
                TestProperty =
                    new[]
                {
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = null
                    },
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = "ABC"
                    },
                    new TestClass {
                        TestProperty1 = null, TestProperty2 = "ABC"
                    }
                }
            };

            var validator = new ValidationHelper();

            // Act
            var errors = validator.IsValid(testClass);

            // Assert
            Assert.IsFalse(errors);
        }
예제 #3
0
        public void Validate_Should_Return_Error_When_Referenced_Collection_Of_Objects_Have_Errors()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
                {
                    TestProperty =
                        new[]
                        {
                            new TestClass { TestProperty1 = "ABC", TestProperty2 = null },
                            new TestClass { TestProperty1 = "ABC", TestProperty2 = "ABC"},
                            new TestClass { TestProperty1 = null, TestProperty2 = "ABC"}
                        }
                };

            var validator = new Validator();

            // Act
            var errors = validator.Validate(testClass);

            // Assert
            Assert.IsNotNull(errors);
            Assert.AreEqual(testClass, errors.Object);
            Assert.AreEqual(2, errors.Errors.Length);

            Assert.AreEqual("TestProperty2", errors.Errors[0].Key);
            Assert.AreEqual("Error2", errors.Errors[0].Message);
            Assert.AreEqual("TestProperty1", errors.Errors[1].Key);
            Assert.AreEqual("Error1", errors.Errors[1].Message);
        }
예제 #4
0
        public void Validate_Should_Return_Null_When_Referenced_Collection_Of_Objects_Is_Null()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
            {
                TestProperty = null
            };

            var validator = new Validator();

            // Act
            var errors = validator.Validate(testClass);

            // Assert
            Assert.IsNull(errors);
        }
예제 #5
0
        public void Validate_Should_Return_Error_When_Referenced_Collection_Of_Objects_Have_Errors()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
            {
                TestProperty =
                    new[]
                {
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = null
                    },
                    new TestClass {
                        TestProperty1 = "ABC", TestProperty2 = "ABC"
                    },
                    new TestClass {
                        TestProperty1 = null, TestProperty2 = "ABC"
                    }
                }
            };

            var validator = new ValidationHelper();

            // Act
            var errors = validator.Validate(testClass);

            // Assert
            Assert.IsNotNull(errors);
            Assert.AreEqual(testClass, errors.Object);
            Assert.AreEqual(2, errors.Errors.Count);

            var error1 = errors.Errors.First();

            Assert.AreEqual("TestProperty2", error1.Key);
            Assert.AreEqual("Error2", error1.Message);
            var error2 = errors.Errors.Last();

            Assert.AreEqual("TestProperty1", error2.Key);
            Assert.AreEqual("Error1", error2.Message);
        }
예제 #6
0
        public void Validate_Should_Return_Null_When_Referenced_Collection_Of_Objects_Is_Null()
        {
            // Arrange
            var testClass =
                new TestClassWithCollectionOfReferencesToAnotherClass
                {
                    TestProperty = null
                };

            var validator = new Validator();

            // Act
            var errors = validator.Validate(testClass);

            // Assert
            Assert.IsNull(errors);
        }