public void PropertyChainShouldContainPrefixes() { var testContainer = new OuterTestClass { TestClasses = new[] { new TestClass { List = new[] { new InnerClass { DupeVal = "hello" }, new InnerClass { DupeVal = "hello" }, new InnerClass() } }, new TestClass { List = new[] { new InnerClass { DupeVal = "hello1" }, new InnerClass { DupeVal = "hello2" }, new InnerClass() } }, new TestClass { List = new[] { new InnerClass { DupeVal = "hello" }, new InnerClass { DupeVal = "hello" }, new InnerClass { DupeVal = "hello" } } } } }; var outerTestClassValidator = new OuterTestClassValidator(); var validationReport = outerTestClassValidator.Validate(testContainer); validationReport.IsValid.ShouldBeFalse(); var violations = validationReport.Violations.ToArray(); violations.Count().ShouldEqual(5); var error1 = ReflectionHelper.PropertyChainToString(violations[0].Property, '.'); error1.ShouldEqual("TestClasses[0].List[0].DupeVal"); var error3 = ReflectionHelper.PropertyChainToString(violations[3].Property, '.'); error3.ShouldEqual("TestClasses[2].List[1].DupeVal"); }
public void ValidatesPublicProperty() { var model = new OuterTestClass(10); Model.Verify(model); model .PublicProperty .Value .Value .Should() .Be(10); }
public void ValidatesPublicField() { var model = new OuterTestClass(10); Model.Verify(model); model ._publicField .Value .Value .Should() .Be(10); }