Example #1
0
        public void Rules_CalcSum_Test()
        {
            var root = RuleTestRoot.NewEditableRoot();

            // no rules are run for this new object

            Assert.IsTrue(root.IsValid);
            // Sum is calculated as the sum of Num1,Num2,Num3, Num4
            Assert.AreEqual(0, root.Sum);
            root.Num1 = 1;
            Assert.AreEqual(1, root.Sum);
            root.Num2 = 2;
            Assert.AreEqual(3, root.Sum);
            root.Num3 = 3;
            Assert.AreEqual(6, root.Sum);
            root.Num4 = 4;
            Assert.AreEqual(10, root.Sum);
            root.Num1 = -5;
            Assert.AreEqual(4, root.Sum);
            root.Num2 = 0;
            Assert.AreEqual(2, root.Sum);
            root.Num1 = 0;
            root.Num2 = 0;
            root.Num3 = 0;
            root.Num4 = 0;
            Assert.AreEqual(0, root.Sum);
        }
Example #2
0
        public void Rules_CustomErrorMessage()
        {
            var root = RuleTestRoot.NewEditableRoot();

            Assert.AreEqual("US", root.Str1);
            Assert.IsTrue(root.IsValid);
            root.Str1 = string.Empty;
            Assert.IsFalse(root.IsValid);
            var errorMessage = ((IDataErrorInfo)root)[RuleTestRoot.Str1Property.Name];

            Assert.AreEqual("My error message Str1", errorMessage);
            root.Str1 = "US";
            Assert.IsTrue(root.IsValid);
        }
Example #3
0
        public void Rules_ToUpperCase_Test()
        {
            var root = RuleTestRoot.NewEditableRoot();

            // no rules are run for this new object

            Assert.IsTrue(root.IsValid);
            // Num3 must be greater than Num6 (=0)
            root.Upper = string.Empty;
            Assert.AreEqual(string.Empty, root.Upper);
            root.Upper = "ABCDEFghiJ123";
            Assert.AreEqual("ABCDEFGHIJ123", root.Upper);
            root.Upper = string.Empty;
            Assert.AreEqual(string.Empty, root.Upper);
        }
Example #4
0
        public void Rules_LessThanOrEqual_Test()
        {
            var root = RuleTestRoot.NewEditableRoot();

            // no rules are run for this new object

            Assert.IsTrue(root.IsValid);
            // Num2 must be less than Num5 (=0)
            root.Num2 = 1;
            Assert.IsFalse(root.IsValid);
            Assert.AreEqual("rule://cslacontrib.rules.commonrules.lessthanorequal/Num2?compareto=Num5", root.BrokenRulesCollection[0].RuleName);
            root.Num2 = 0;
            Assert.IsTrue(root.IsValid);
            root.Num2 = 1;
            Assert.IsFalse(root.IsValid);
            Assert.AreEqual("rule://cslacontrib.rules.commonrules.lessthanorequal/Num2?compareto=Num5", root.BrokenRulesCollection[0].RuleName);
            root.Num2 = -1;
            Assert.IsTrue(root.IsValid);
        }
Example #5
0
        public void Rules_GreaterThanOrEqual_Test()
        {
            var root = RuleTestRoot.NewEditableRoot();

            // no rules are run for this new object

            Assert.IsTrue(root.IsValid);
            // Num4 must be greater than Num6
            root.Num6 = 5;
            root.Num3 = 6;
            root.Num4 = -1;
            Assert.IsFalse(root.IsValid);
            Assert.AreEqual("rule://cslacontrib.rules.commonrules.greaterthanorequal/Num4?compareto=Num6", root.BrokenRulesCollection[0].RuleName);
            root.Num4 = 6;
            Assert.IsTrue(root.IsValid);
            root.Num4 = -1;
            Assert.IsFalse(root.IsValid);
            Assert.AreEqual("rule://cslacontrib.rules.commonrules.greaterthanorequal/Num4?compareto=Num6", root.BrokenRulesCollection[0].RuleName);
            root.Num4 = 5;
            Assert.IsTrue(root.IsValid);
        }