5using Microsoft.VisualStudio.TestTools.UnitTesting;
17 _testDIContext = TestDIContextFactory.CreateDefaultContext();
25 var root = dataPortal.
Create();
26 root.CascadeOnDirtyProperties =
true;
27 Assert.AreEqual(0, root.Num1);
28 Assert.AreEqual(0, root.Num2);
29 Assert.AreEqual(0, root.Num3);
30 Assert.AreEqual(0, root.Num4);
32 Assert.AreEqual(1, root.Num1);
33 Assert.AreEqual(2, root.Num2);
34 Assert.AreEqual(3, root.Num3);
35 Assert.AreEqual(4, root.Num4);
43 var root = dataPortal.
Create();
44 root.CascadeOnDirtyProperties =
true;
45 Assert.AreEqual(0, root.Num1);
46 Assert.AreEqual(0, root.Num2);
47 Assert.AreEqual(0, root.Num3);
48 Assert.AreEqual(0, root.Num4);
49 Assert.AreEqual(0, root.Num5);
51 Assert.AreEqual(1, root.Num1);
52 Assert.AreEqual(2, root.Num2);
53 Assert.AreEqual(3, root.Num3);
54 Assert.AreEqual(4, root.Num4);
55 Assert.AreEqual(0, root.Num5);
63 var root = dataPortal.
Create();
64 root.CascadeOnDirtyProperties =
false;
65 Assert.AreEqual(0, root.Num1);
66 Assert.AreEqual(0, root.Num2);
67 Assert.AreEqual(0, root.Num3);
68 Assert.AreEqual(0, root.Num4);
70 Assert.AreEqual(1, root.Num1);
71 Assert.AreEqual(2, root.Num2);
72 Assert.AreEqual(3, root.Num3);
73 Assert.AreEqual(0, root.Num4);
77 [TestCategory(
"SkipWhenLiveUnitTesting")]
87 var root = dataPortal.
Create();
88 root.CascadeOnDirtyProperties =
true;
90 Assert.AreEqual(0, root.ValueAc);
91 Assert.AreEqual(0, root.ValueAg);
92 Assert.AreEqual(0, root.ValueAe);
93 Assert.AreEqual(0, root.ValueAf);
96 Assert.AreEqual(10, root.ValueAc);
97 Assert.AreEqual(10, root.ValueAg);
98 Assert.AreEqual(10, root.ValueAe);
99 Assert.AreEqual(10, root.ValueAf);
102 Assert.AreEqual(30, root.ValueAc);
103 Assert.AreEqual(30, root.ValueAe);
104 Assert.AreEqual(30, root.ValueAf);
105 Assert.AreEqual(30, root.ValueAg);
108 Assert.AreEqual(55, root.ValueAf);
109 Assert.AreEqual(55, root.ValueAg);
120 var root = dataPortal.
Create();
121 root.CascadeOnDirtyProperties =
true;
123 Assert.AreEqual(0, root.ValueBa);
124 Assert.AreEqual(0, root.ValueBb);
125 Assert.IsTrue(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBaProperty.Name));
126 Assert.IsTrue(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBbProperty.Name));
129 Assert.IsFalse(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBaProperty.Name));
130 Assert.IsFalse(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBbProperty.Name));
133 Assert.IsTrue(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBaProperty.Name));
134 Assert.IsTrue(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBbProperty.Name));
137 Assert.IsFalse(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBaProperty.Name));
138 Assert.IsFalse(root.BrokenRulesCollection.Any(p => p.Property ==
CascadeRoot.ValueBbProperty.Name));
150 var root = dataPortal.
Create();
151 root.CascadeOnDirtyProperties =
true;
153 Assert.AreEqual(0, root.ValueCa);
154 Assert.AreEqual(0, root.ValueCb);
155 Assert.AreEqual(0, root.ValueCc);
156 Assert.AreEqual(0, root.ValueCd);
157 Assert.AreEqual(0, root.ValueCe);
160 Assert.AreEqual(5, root.ValueCa);
161 Assert.AreEqual(0, root.ValueCb);
162 Assert.AreEqual(0, root.ValueCc);
163 Assert.AreEqual(1.67m, root.ValueCd);
164 Assert.AreEqual(6.67m, root.ValueCe);
167 Assert.AreEqual(5, root.ValueCa);
168 Assert.AreEqual(15, root.ValueCb);
169 Assert.AreEqual(0, root.ValueCc);
170 Assert.AreEqual(6.67m, root.ValueCd);
171 Assert.AreEqual(26.67m, root.ValueCe);
174 Assert.AreEqual(5, root.ValueCa);
175 Assert.AreEqual(15, root.ValueCb);
176 Assert.AreEqual(25, root.ValueCc);
177 Assert.AreEqual(15.00m, root.ValueCd);
178 Assert.AreEqual(60.00m, root.ValueCe);
void BusinessRules_MustNotCascade_WhenCascadeOnDirtyPropertiesIsFalse()
static void ClassInitialze(TestContext testContext)
void BusinessRules_MustRecalculateSumAfterCaclulateFraction_WhenCascadeOnDirtyPropertiesIsTrue()
void BusinessRules_MustCascade_WhenCascadeOnDirtyPropertiesIsTrue()
void BusinessRules_MustCascadeAsSpreadsheet_WhenCascadeOnDirtyPropertiesIsTrue()
void BusinessRules_MustNotCascade_WhenCanRunAsAffectedIsFalse()
void BusinessRules_MustCheckBothSums_WhenCascadeOnDirtyPropertiesIsTrue()
Type to carry context information for DI in unit tests
Interface defining the members of the data portal type.
object Create(params object[] criteria)
Called by a factory method in a business class to create a new object, which is loaded with default v...