Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs =================================================================== diff -u -ra0c229e36b60ff177f0fe3cdf4d696a860a5c218 -r16d1086cd46db3f46db696a0a361becddfe58679 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs) (revision a0c229e36b60ff177f0fe3cdf4d696a860a5c218) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs) (revision 16d1086cd46db3f46db696a0a361becddfe58679) @@ -242,14 +242,16 @@ /// The failure mechanism section result to get the assembly category group for. /// The failure mechanism this section belongs to. /// The this section belongs to. + /// Indicator that determines whether the manual assembly should be considered when assembling the result. /// A . /// Thrown when any parameter is null. /// Thrown when the /// could not be created. public static FailureMechanismSectionAssemblyCategoryGroup GetSectionAssemblyCategoryGroup( MacroStabilityOutwardsFailureMechanismSectionResult failureMechanismSectionResult, MacroStabilityOutwardsFailureMechanism failureMechanism, - IAssessmentSection assessmentSection) + IAssessmentSection assessmentSection, + bool useManual) { if (failureMechanismSectionResult == null) { @@ -268,7 +270,7 @@ try { - return failureMechanismSectionResult.UseManualAssemblyCategoryGroup + return failureMechanismSectionResult.UseManualAssemblyCategoryGroup && useManual ? ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(failureMechanismSectionResult.ManualAssemblyCategoryGroup) : AssembleCombinedAssessment(failureMechanismSectionResult, failureMechanism, @@ -285,13 +287,15 @@ /// /// The failure mechanism to assemble for. /// The the failure mechanism belongs to. + /// Indicator that determines whether the manual assembly should be considered when assembling the result. /// A . /// Thrown when any parameter is null. /// Thrown when the /// could not be created. public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism( MacroStabilityOutwardsFailureMechanism failureMechanism, - IAssessmentSection assessmentSection) + IAssessmentSection assessmentSection, + bool useManual) { if (failureMechanism == null) { @@ -313,7 +317,8 @@ IEnumerable sectionAssemblies = failureMechanism.SectionResults.Select(sectionResult => GetSectionAssemblyCategoryGroup(sectionResult, failureMechanism, - assessmentSection)).ToArray(); + assessmentSection, + useManual)).ToArray(); IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; IFailureMechanismAssemblyCalculator calculator = Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/MacroStabilityOutwardsResultView.cs =================================================================== diff -u -rce90c93297034d4f78233f04f87a98494466c892 -r16d1086cd46db3f46db696a0a361becddfe58679 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/MacroStabilityOutwardsResultView.cs (.../MacroStabilityOutwardsResultView.cs) (revision ce90c93297034d4f78233f04f87a98494466c892) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/MacroStabilityOutwardsResultView.cs (.../MacroStabilityOutwardsResultView.cs) (revision 16d1086cd46db3f46db696a0a361becddfe58679) @@ -147,7 +147,9 @@ protected override void UpdateAssemblyResultControl() { - FailureMechanismAssemblyResultControl.SetAssemblyResult(MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, assessmentSection)); + FailureMechanismAssemblyResultControl.SetAssemblyResult(MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, + assessmentSection, + true)); } protected override bool HasManualAssemblyResults() Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs =================================================================== diff -u -ra0c229e36b60ff177f0fe3cdf4d696a860a5c218 -r16d1086cd46db3f46db696a0a361becddfe58679 --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision a0c229e36b60ff177f0fe3cdf4d696a860a5c218) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 16d1086cd46db3f46db696a0a361becddfe58679) @@ -72,8 +72,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; // Call MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleSimpleAssessment(sectionResult); @@ -92,8 +92,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 = @@ -114,8 +114,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 @@ -272,8 +272,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 @@ -433,8 +433,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 @@ -633,8 +633,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 @@ -668,7 +668,8 @@ TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( null, new MacroStabilityOutwardsFailureMechanism(), - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -688,7 +689,8 @@ TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( new MacroStabilityOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()), null, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -703,7 +705,8 @@ TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( new MacroStabilityOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()), new MacroStabilityOutwardsFailureMechanism(), - null); + null, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -730,7 +733,8 @@ MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( sectionResult, failureMechanism, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert FailureMechanismSectionAssemblyCategoryGroup expectedSimpleAssembly = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleSimpleAssessment( @@ -768,7 +772,8 @@ FailureMechanismSectionAssemblyCategoryGroup categoryGroup = MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( sectionResult, failureMechanism, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment( @@ -781,7 +786,7 @@ } [Test] - public void GetSectionAssemblyCategoryGroup_WithManualInput_ReturnsOutput() + public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualTrue_ReturnsOutput() { // Setup var sectionResult = new MacroStabilityOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) @@ -800,19 +805,54 @@ FailureMechanismSectionAssemblyCategoryGroup categoryGroup = MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( sectionResult, failureMechanism, - assessmentSection); + assessmentSection, + true); // Assert - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(sectionResult.ManualAssemblyCategoryGroup), - categoryGroup); + Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, categoryGroup); mocks.VerifyAll(); } [Test] + public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualFalse_ReturnsOutput() + { + // Setup + var random = new Random(39); + var sectionResult = new MacroStabilityOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + { + UseManualAssemblyCategoryGroup = true, + ManualAssemblyCategoryGroup = random.NextEnumValue(), + TailorMadeAssessmentResult = random.NextEnumValue() + }; + + var failureMechanism = new MacroStabilityOutwardsFailureMechanism(); + + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + // Call + FailureMechanismSectionAssemblyCategoryGroup categoryGroup = MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( + sectionResult, + failureMechanism, + assessmentSection, + false); + + // Assert + FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment( + sectionResult, + failureMechanism, + assessmentSection); + Assert.AreEqual(expectedAssembly, categoryGroup); + mocks.VerifyAll(); + } + + [Test] public void GetSectionAssemblyCategoryGroup_WithoutManualInputAndCalculatorThrowsException_ThrowsAssemblyException() { // Setup var sectionResult = new MacroStabilityOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()); + var failureMechanism = new MacroStabilityOutwardsFailureMechanism(); var mocks = new MockRepository(); @@ -821,15 +861,16 @@ 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 = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( sectionResult, failureMechanism, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -859,7 +900,8 @@ TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup( sectionResult, failureMechanism, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -883,7 +925,8 @@ // Call TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( null, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); @@ -897,14 +940,50 @@ // Call TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( new MacroStabilityOutwardsFailureMechanism(), - null); + null, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); Assert.AreEqual("assessmentSection", exception.ParamName); } [Test] + public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator() + { + // Setup + var failureMechanism = new MacroStabilityOutwardsFailureMechanism(); + FailureMechanismTestHelper.SetSections(failureMechanism, new[] + { + FailureMechanismSectionTestFactory.CreateFailureMechanismSection() + }); + + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + using (new AssemblyToolCalculatorFactoryConfig()) + { + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; + + // Call + MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + assessmentSection, + new Random(39).NextBoolean()); + + // Assert + FailureMechanismSectionAssemblyCategoryGroup assemblyCategory = + MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanism.SectionResults.Single(), + failureMechanism, + assessmentSection); + Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single()); + } + + mocks.VerifyAll(); + } + + [Test] public void AssembleFailureMechanism_FailureMechanismIsNotRelevant_ReturnsNotApplicableCategory() { // Setup @@ -918,23 +997,28 @@ mocks.ReplayAll(); // Call - FailureMechanismAssemblyCategoryGroup category = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, - assessmentSection); + FailureMechanismAssemblyCategoryGroup category = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( + failureMechanism, + assessmentSection, + new Random(39).NextBoolean()); // Assert Assert.AreEqual(FailureMechanismAssemblyResultFactory.CreateNotApplicableCategory(), category); mocks.VerifyAll(); } [Test] - public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator() + public void AssembleFailureMechanism_WithManualInputAndUseManualTrue_SetsInputOnCalculator() { // Setup var failureMechanism = new MacroStabilityOutwardsFailureMechanism(); FailureMechanismTestHelper.SetSections(failureMechanism, new[] { FailureMechanismSectionTestFactory.CreateFailureMechanismSection() }); + MacroStabilityOutwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); + sectionResult.UseManualAssemblyCategoryGroup = true; + sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue(); var mocks = new MockRepository(); IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); @@ -946,23 +1030,19 @@ FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; // Call - MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( - failureMechanism, - assessmentSection); + MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + assessmentSection, + true); // Assert - FailureMechanismSectionAssemblyCategoryGroup assemblyCategory = - MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment( - failureMechanism.SectionResults.Single(), - failureMechanism, - assessmentSection); - Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single()); - mocks.VerifyAll(); + Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single()); } + + mocks.VerifyAll(); } [Test] - public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator() + public void AssembleFailureMechanism_WithManualInputAndUseManualFalse_SetsNoInputOnCalculator() { // Setup var failureMechanism = new MacroStabilityOutwardsFailureMechanism(); @@ -972,7 +1052,7 @@ }); MacroStabilityOutwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); sectionResult.UseManualAssemblyCategoryGroup = true; - sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue(); + sectionResult.ManualAssemblyCategoryGroup = ManualFailureMechanismSectionAssemblyCategoryGroup.IIv; var mocks = new MockRepository(); IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); @@ -984,15 +1064,17 @@ FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; // Call - MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( - failureMechanism, - assessmentSection); + MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + assessmentSection, + false); // Assert - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(sectionResult.ManualAssemblyCategoryGroup), - calculator.FailureMechanismSectionCategories.Single()); - mocks.VerifyAll(); + FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment( + failureMechanism.SectionResults.Single(), failureMechanism, assessmentSection); + Assert.AreEqual(expectedAssembly, calculator.FailureMechanismSectionCategories.Single()); } + + mocks.VerifyAll(); } [Test] @@ -1012,9 +1094,9 @@ // Call FailureMechanismAssemblyCategoryGroup actualOutput = - MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( - failureMechanism, - assessmentSection); + MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + assessmentSection, + new Random(39).NextBoolean()); // Assert Assert.AreEqual(calculator.FailureMechanismAssemblyCategoryGroupOutput, actualOutput); @@ -1034,22 +1116,24 @@ 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 = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( failureMechanism, - assessmentSection); + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); Exception innerException = exception.InnerException; Assert.IsInstanceOf(innerException); Assert.AreEqual(innerException.Message, exception.Message); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } [Test] @@ -1068,22 +1152,23 @@ 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 = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism( - failureMechanism, - assessmentSection); + TestDelegate call = () => MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, + assessmentSection, + new Random(39).NextBoolean()); // Assert var exception = Assert.Throws(call); Exception innerException = exception.InnerException; Assert.IsInstanceOf(innerException); Assert.AreEqual("Voor een of meerdere vakken kan geen resultaat worden bepaald.", exception.Message); - mocks.VerifyAll(); } + + mocks.VerifyAll(); } #endregion