public void given_deep_invalid_property_then_TryValidate_fails() { var instance = new RootObject { StemObjectProperty = { LeafObjectProperty = new LeafObject { StringProperty = "b to the a to the r", }, }, }; bool successful = ObjectValidator.TryValidate( instance, out IEnumerable <ObjectValidationError> errors); successful.Should().BeFalse(); errors.Should().ContainSingle(); ObjectValidationError error = errors.Single(); error.ObjectPath.Should().Be("StemObjectProperty.LeafObjectProperty"); error.ValidationAttribute.Should().BeOfType <StringLengthAttribute>(); error.ValidationResult.MemberNames.Should().BeEquivalentTo("StringProperty"); error.Value.Should().Be(instance.StemObjectProperty.LeafObjectProperty.StringProperty); }
public ValidationError(ObjectValidationError source) { ValidationAttribute = source.ValidationAttribute; ValidationResult = new ValidationResult( source.ValidationResult.ErrorMessage, memberNames: source.MemberPaths.ToList().AsReadOnly()); Value = source.Value; }
public void given_root_has_invalid_property_then_TryValidate_fails() { var instance = new RootObject { Int32Property = -1, }; bool successful = ObjectValidator.TryValidate( instance, out IEnumerable <ObjectValidationError> errors); successful.Should().BeFalse(); errors.Should().ContainSingle(); ObjectValidationError error = errors.Single(); error.ObjectPath.Should().BeEmpty(); error.ValidationAttribute.Should().BeOfType <RangeAttribute>(); error.ValidationResult.MemberNames.Should().BeEquivalentTo("Int32Property"); error.Value.Should().Be(instance.Int32Property); }
public void MemberPaths_composes_path_correctly() { var instance = new Component { Child = new Component { Child = new Component { Value = -1, }, }, }; ObjectValidator.TryValidate( instance, out IEnumerable <ObjectValidationError> errors); ObjectValidationError sut = errors.Single(); sut.MemberPaths.Should().ContainSingle(); sut.MemberPaths.Single().Should().Be("Child.Child.Value"); }