public void InnerFieldsDictionary() { var validationService = new ValidationService(); var target = new Outer() { Licenses2 = new Dictionary <string, DriversLicense> { { "first", new DriversLicense() { Number = "TX" } } } }; try { Validator.ValidateObject(target, Factories.BuildValidationContext(target), true); Assert.Fail("Should have thrown an Exception."); } catch (ValidationException ex) { var results = (ex.ValidationResult as IEnumerable <ValidationResult>).Flatten(result => result as IEnumerable <ValidationResult>, leafNodesOnly: true); Assert.IsTrue((from entry in results from member in entry.MemberNames select member + ": " + entry.ErrorMessage).SequenceEqual(new[] { "Licenses2[0].Value.Number: Licenses2 Number Invalid", "Licenses2[0].Value.State: Licenses2 State Required", })); } }
public void UseDefaultBuildValidationContextTest() { var target = new object(); var actual = Factories.BuildValidationContext(target); Assert.IsNotNull(actual); Assert.AreEqual(target, actual.ObjectInstance); }
public void SetBuildValidationContextSomethingElseTest() { var expected = new System.ComponentModel.DataAnnotations.ValidationContext(new object()); var target = new object(); Factories.BuildValidationContext = (obj) => { Assert.AreEqual(target, obj); return(expected); }; var actual = Factories.BuildValidationContext(target); Assert.AreEqual(expected, actual); }