Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs =================================================================== diff -u -r4848313b00f4765d72a8330caf521d8d3d04d7da -rde06c65bb8a8867881aa1a378fce556329b0c0a6 --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision 4848313b00f4765d72a8330caf521d8d3d04d7da) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision de06c65bb8a8867881aa1a378fce556329b0c0a6) @@ -71,7 +71,7 @@ } /// - /// Assembles the detailed assessment results. + /// Assembles the detailed assessment result. /// /// The failure mechanism section result to assemble the /// detailed assembly results for. @@ -107,7 +107,7 @@ } /// - /// Assembles the tailor made assessment results. + /// Assembles the tailor made assessment result. /// /// The failure mechanism section result to assemble the /// tailor made assembly results for. @@ -139,7 +139,7 @@ } /// - /// Assembles the combined assessment results. + /// Assembles the combined assembly. /// /// The failure mechanism section result to assemble the /// combined assembly results for. @@ -185,19 +185,22 @@ /// Gets the assembly category group of the given . /// /// The failure mechanism section result to get the assembly category group for. + /// Indicator that determines whether the manual assembly should be used or ignored, regardless of + /// the value of . /// A . /// Thrown when is null. /// Thrown when the /// could not be created. public static FailureMechanismSectionAssemblyCategoryGroup GetSectionAssemblyCategoryGroup( - WaveImpactAsphaltCoverFailureMechanismSectionResult failureMechanismSectionResult) + WaveImpactAsphaltCoverFailureMechanismSectionResult failureMechanismSectionResult, + bool useManual) { if (failureMechanismSectionResult == null) { throw new ArgumentNullException(nameof(failureMechanismSectionResult)); } - return failureMechanismSectionResult.UseManualAssemblyCategoryGroup + return failureMechanismSectionResult.UseManualAssemblyCategoryGroup && useManual ? failureMechanismSectionResult.ManualAssemblyCategoryGroup : AssembleCombinedAssessment(failureMechanismSectionResult); } @@ -206,12 +209,15 @@ /// Assembles the failure mechanism assembly. /// /// The failure mechanism to assemble for. + /// Indicator that determines whether the manual assembly should be used or ignored, regardless of + /// the value of . /// A . /// Thrown when /// is null. /// Thrown when the /// could not be created. - public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(WaveImpactAsphaltCoverFailureMechanism failureMechanism) + public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(WaveImpactAsphaltCoverFailureMechanism failureMechanism, + bool useManual) { if (failureMechanism == null) { @@ -226,7 +232,7 @@ try { IEnumerable sectionAssemblies = - failureMechanism.SectionResults.Select(GetSectionAssemblyCategoryGroup).ToArray(); + failureMechanism.SectionResults.Select(result => GetSectionAssemblyCategoryGroup(result, useManual)).ToArray(); IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; IFailureMechanismAssemblyCalculator calculator = Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Views/WaveImpactAsphaltCoverFailureMechanismResultView.cs =================================================================== diff -u -r7adc47fc72205078d054034bb9d1028c32434e28 -rde06c65bb8a8867881aa1a378fce556329b0c0a6 --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Views/WaveImpactAsphaltCoverFailureMechanismResultView.cs (.../WaveImpactAsphaltCoverFailureMechanismResultView.cs) (revision 7adc47fc72205078d054034bb9d1028c32434e28) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Forms/Views/WaveImpactAsphaltCoverFailureMechanismResultView.cs (.../WaveImpactAsphaltCoverFailureMechanismResultView.cs) (revision de06c65bb8a8867881aa1a378fce556329b0c0a6) @@ -139,7 +139,7 @@ protected override void UpdateAssemblyResultControl() { - FailureMechanismAssemblyResultControl.SetAssemblyResult(WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism)); + FailureMechanismAssemblyResultControl.SetAssemblyResult(WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, true)); } protected override bool HasManualAssemblyResults() Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs =================================================================== diff -u -rc1ad8e8431d65da2f22adeb93f9deddd9fae77e3 -rde06c65bb8a8867881aa1a378fce556329b0c0a6 --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision c1ad8e8431d65da2f22adeb93f9deddd9fae77e3) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision de06c65bb8a8867881aa1a378fce556329b0c0a6) @@ -65,8 +65,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleSimpleAssessment(sectionResult); @@ -85,8 +85,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call FailureMechanismSectionAssemblyCategoryGroup actualOutput = @@ -106,8 +106,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; // Call @@ -153,8 +153,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleDetailedAssessment(sectionResult); @@ -177,8 +177,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call FailureMechanismSectionAssemblyCategoryGroup actualOutput = @@ -198,8 +198,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; // Call @@ -241,8 +241,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment(sectionResult); @@ -261,8 +261,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call FailureMechanismSectionAssemblyCategoryGroup actualOutput = @@ -282,8 +282,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; // Call @@ -407,8 +407,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculateCombinedAssembly = true; // Call @@ -432,7 +432,8 @@ { // Call TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( - null); + null, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -452,7 +453,8 @@ // Call WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( - sectionResult); + sectionResult, + new Random(39).NextBoolean()); // Assert FailureMechanismSectionAssemblyCategoryGroup expectedSimpleAssembly = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleSimpleAssessment( @@ -478,7 +480,8 @@ { // Call FailureMechanismSectionAssemblyCategoryGroup categoryGroup = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( - sectionResult); + sectionResult, + new Random(39).NextBoolean()); // Assert FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment( @@ -488,7 +491,7 @@ } [Test] - public void GetSectionAssemblyCategoryGroup_WithManualInput_ReturnsOutput() + public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualTrue_ReturnsOutput() { // Setup var sectionResult = new WaveImpactAsphaltCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) @@ -499,27 +502,52 @@ // Call FailureMechanismSectionAssemblyCategoryGroup categoryGroup = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( - sectionResult); + sectionResult, + true); // Assert Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, categoryGroup); } [Test] + public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualFalse_ReturnsOutput() + { + // Setup + var random = new Random(39); + var sectionResult = new WaveImpactAsphaltCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + { + UseManualAssemblyCategoryGroup = true, + ManualAssemblyCategoryGroup = random.NextEnumValue(), + TailorMadeAssessmentResult = random.NextEnumValue() + }; + + // Call + FailureMechanismSectionAssemblyCategoryGroup categoryGroup = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( + sectionResult, + false); + + // Assert + FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment( + sectionResult); + Assert.AreEqual(expectedAssembly, categoryGroup); + } + + [Test] public void GetSectionAssemblyCategoryGroup_WithoutManualInputAndCalculatorThrowsException_ThrowsAssemblyException() { // Setup var sectionResult = new WaveImpactAsphaltCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()); using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculateCombinedAssembly = true; // Call TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( - sectionResult); + sectionResult, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -537,14 +565,39 @@ public void AssembleFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(null); + TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(null, new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); Assert.AreEqual("failureMechanism", exception.ParamName); } [Test] + public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator() + { + // Setup + var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); + FailureMechanismTestHelper.SetSections(failureMechanism, new[] + { + FailureMechanismSectionTestFactory.CreateFailureMechanismSection() + }); + + using (new AssemblyToolCalculatorFactoryConfig()) + { + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; + + // Call + WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean()); + + // Assert + FailureMechanismSectionAssemblyCategoryGroup assemblyCategory = + WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanism.SectionResults.Single()); + Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single()); + } + } + + [Test] public void AssembleFailureMechanism_FailureMechanismIsNotRelevant_ReturnsNotApplicableCategory() { // Setup @@ -554,39 +607,40 @@ }; // Call - FailureMechanismAssemblyCategoryGroup category = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism); + FailureMechanismAssemblyCategoryGroup category = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean()); // Assert Assert.AreEqual(FailureMechanismAssemblyResultFactory.CreateNotApplicableCategory(), category); } [Test] - public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator() + public void AssembleFailureMechanism_WithManualInputAndUseManualTrue_SetsInputOnCalculator() { // Setup var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); FailureMechanismTestHelper.SetSections(failureMechanism, new[] { FailureMechanismSectionTestFactory.CreateFailureMechanismSection() }); + WaveImpactAsphaltCoverFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); + sectionResult.UseManualAssemblyCategoryGroup = true; + sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue(); using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; // Call - WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism); + WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, true); // Assert - FailureMechanismSectionAssemblyCategoryGroup assemblyCategory = - WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanism.SectionResults.Single()); - Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single()); + Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single()); } } [Test] - public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator() + public void AssembleFailureMechanism_WithManualInputAndUseManualFalse_SetsNoInputOnCalculator() { // Setup var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -596,18 +650,20 @@ }); WaveImpactAsphaltCoverFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); sectionResult.UseManualAssemblyCategoryGroup = true; - sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue(); + sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.IIv; using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; // Call - WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism); + WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, false); // Assert - Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single()); + FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment( + failureMechanism.SectionResults.Single()); + Assert.AreEqual(expectedAssembly, calculator.FailureMechanismSectionCategories.Single()); } } @@ -622,7 +678,8 @@ // Call FailureMechanismAssemblyCategoryGroup actualOutput = - WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new WaveImpactAsphaltCoverFailureMechanism()); + WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new WaveImpactAsphaltCoverFailureMechanism(), + new Random(39).NextBoolean()); // Assert Assert.AreEqual(calculator.FailureMechanismAssemblyCategoryGroupOutput, actualOutput); @@ -635,12 +692,14 @@ // Setup using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; // Call - TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new WaveImpactAsphaltCoverFailureMechanism()); + TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism( + new WaveImpactAsphaltCoverFailureMechanism(), + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -662,12 +721,13 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; // Call - TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism); + TestDelegate call = () => WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call);