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); }
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); }
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); }
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); }
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); }