public void Coposition() { DerivatedClass dFullBroken = new DerivatedClass(); dFullBroken.A = "1234"; dFullBroken.B = "1234"; DerivatedClass dPartialBroken = new DerivatedClass(); dPartialBroken.A = "1234"; BaseClass bOk = new BaseClass(); bOk.A = "123"; BaseClass bBroken = new BaseClass(); bBroken.A = "1234"; ClassValidator vtor = new ClassValidator(typeof(Composition)); Composition c = new Composition(); c.Any = bBroken; vtor.GetInvalidValues(c).Should().Have.Count.EqualTo(1); c.Any = dFullBroken; vtor.GetInvalidValues(c).Should().Have.Count.EqualTo(2); c.Any = bOk; vtor.GetInvalidValues(c).Should().Be.Empty(); c.Any = dPartialBroken; var ivalue = vtor.GetInvalidValues(c).ToArray(); ivalue.Should().Not.Be.Empty(); ivalue.Single().PropertyName.Should().Be.EqualTo("A"); }
public void CopositionUsingEngine() { DerivatedClass dFullBroken = new DerivatedClass(); dFullBroken.A = "1234"; dFullBroken.B = "1234"; DerivatedClass dPartialBroken = new DerivatedClass(); dPartialBroken.A = "1234"; BaseClass bOk = new BaseClass(); bOk.A = "123"; BaseClass bBroken = new BaseClass(); bBroken.A = "1234"; ValidatorEngine ve = new ValidatorEngine(); InvalidValue[] ivalues; Composition c = new Composition(); c.Any = bBroken; ivalues = ve.Validate(c); Assert.AreEqual(1, ivalues.Length); c.Any = dFullBroken; ivalues = ve.Validate(c); Assert.AreEqual(2, ivalues.Length); c.Any = bOk; ivalues = ve.Validate(c); Assert.AreEqual(0, ivalues.Length); c.Any = dPartialBroken; ivalues = ve.Validate(c); Assert.AreEqual(1, ivalues.Length); Assert.AreEqual("A", ivalues[0].PropertyName); }
public void Coposition() { DerivatedClass dFullBroken = new DerivatedClass(); dFullBroken.A = "1234"; dFullBroken.B = "1234"; DerivatedClass dPartialBroken = new DerivatedClass(); dPartialBroken.A = "1234"; BaseClass bOk = new BaseClass(); bOk.A = "123"; BaseClass bBroken = new BaseClass(); bBroken.A = "1234"; ClassValidator vtor = new ClassValidator(typeof(Composition)); InvalidValue[] ivalues; Composition c = new Composition(); c.Any = bBroken; ivalues = vtor.GetInvalidValues(c); Assert.AreEqual(1, ivalues.Length); c.Any = dFullBroken; ivalues = vtor.GetInvalidValues(c); Assert.AreEqual(2, ivalues.Length); c.Any = bOk; ivalues = vtor.GetInvalidValues(c); Assert.AreEqual(0, ivalues.Length); c.Any = dPartialBroken; ivalues = vtor.GetInvalidValues(c); Assert.AreEqual(1, ivalues.Length); Assert.AreEqual("A", ivalues[0].PropertyName); }