コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }