예제 #1
0
        public void TestTestByType_ShouldGetOverridenDefault()
        {
            var resolver = new DefaultErrorResolver();
            var rule1    = new NotNullOrEmpty();
            var rule2    = new NotNullOrEmpty();

            SetErrorMessage <ClassA, int>(resolver, a => a.A, rule1, "ClassA validation for property A - Rule1");
            SetErrorMessage <ClassA, int>(resolver, a => a.A, null, "ClassA validation for property A - Default");
            SetErrorMessage <ClassA, ClassA>(resolver, a => a, null, "ClassA validation - Default");
            SetErrorMessage <ClassB, ClassB>(resolver, b => b, null, "ClassB validation - Default");

            //Should get message from default ClassB instead of getting a => a.A from ClassA message!
            Assert.AreEqual("ClassB validation - Default", GetErrorMessage <ClassB, int>(resolver, o => o.A, rule1));
        }
예제 #2
0
        public void TestByType()
        {
            var resolver = new DefaultErrorResolver();
            var rule1    = new NotNullOrEmpty();
            var rule2    = new NotNullOrEmpty();

            SetErrorMessage <ClassB, int>(resolver, b => b.A, rule1, "ClassB validation for property A - Rule1");
            SetErrorMessage <ClassB, int>(resolver, b => b.A, null, "ClassB validation for property A - Default");
            SetErrorMessage <ClassB, ClassB>(resolver, b => b, null, "ClassB validation - Default");

            Assert.AreEqual("ClassB validation for property A - Rule1", GetErrorMessage <ClassB, int>(resolver, o => o.A, rule1));
            Assert.AreEqual("ClassB validation for property A - Default", GetErrorMessage <ClassB, int>(resolver, o => o.A, rule2));
            Assert.AreEqual("ClassB validation - Default", GetErrorMessage <ClassB, int>(resolver, o => o.B, new NotNullOrEmpty()));
        }
예제 #3
0
        public void TestByRule()
        {
            var resolver = new DefaultErrorResolver();
            var rule1    = new NotNullOrEmpty();
            var rule2    = new RegexRule(new System.Text.RegularExpressions.Regex("a"));
            var rule3    = new Rules.GreaterThanRule <int>(10, true);

            SetErrorMessage <ClassA, int>(resolver, a => a.A, null, "ClassA validation for property A - Default");
            SetErrorMessage <ClassA, int>(resolver, a => a.A, rule1, "ClassA validation for property A - Rule1");
            SetErrorMessage <ClassA, int>(resolver, a => a.A, rule2, "ClassA validation for property A - Rule2");

            Assert.AreEqual("ClassA validation for property A - Rule1", GetErrorMessage <ClassA, int>(resolver, o => o.A, rule1));
            Assert.AreEqual("ClassA validation for property A - Rule2", GetErrorMessage <ClassA, int>(resolver, o => o.A, rule2));
            Assert.AreEqual("ClassA validation for property A - Default", GetErrorMessage <ClassA, int>(resolver, o => o.A, rule3));
        }
예제 #4
0
        public void Converter_NotNullOrEmptyTests()
        {
            NotNullOrEmpty conv     = new NotNullOrEmpty();
            string         emptyVal = String.Empty;
            string         nullVal  = null;
            string         val      = "test";

            Assert.AreEqual(true, conv.Convert(val, typeof(bool), null, CultureInfo.CurrentCulture),
                            "");
            Assert.AreEqual(false, conv.Convert(emptyVal, typeof(bool), null, CultureInfo.CurrentCulture),
                            "");
            Assert.AreEqual(false, conv.Convert(nullVal, typeof(bool), null, CultureInfo.CurrentCulture),
                            "");
            try
            {
                conv.ConvertBack(true, typeof(string), null, CultureInfo.CurrentCulture);
                Assert.Fail("NotNullOrEmpty ConvertBack did not throw a NotImplemented exception");
            }
            catch (NotImplementedException) { }
        }