Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs =================================================================== diff -u -r70df02232e2470ca8edfa1181512e96c580d264a -rbb5e6710b02c9c28009245953196a7088ef2e111 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs) (revision 70df02232e2470ca8edfa1181512e96c580d264a) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs) (revision bb5e6710b02c9c28009245953196a7088ef2e111) @@ -64,13 +64,21 @@ // Assert Assert.IsInstanceOf>(row); Assert.AreEqual(result.SimpleAssessmentResult, row.SimpleAssessmentResult); + Assert.AreEqual(result.DetailedAssessmentResult, row.DetailedAssessmentResult); Assert.AreEqual(result.GetDetailedAssessmentProbability(failureMechanism, assessmentSection), row.DetailedAssessmentProbability); + Assert.AreEqual(row.TailorMadeAssessmentResult, result.TailorMadeAssessmentResult); Assert.AreEqual(row.TailorMadeAssessmentProbability, result.TailorMadeAssessmentProbability); + Assert.AreEqual(row.UseManualAssemblyProbability, result.UseManualAssemblyProbability); + Assert.AreEqual(row.ManualAssemblyProbability, result.ManualAssemblyProbability); TestHelper.AssertTypeConverter( nameof(GrassCoverErosionInwardsFailureMechanismSectionResultRow.DetailedAssessmentProbability)); TestHelper.AssertTypeConverter( nameof(GrassCoverErosionInwardsFailureMechanismSectionResultRow.TailorMadeAssessmentProbability)); + TestHelper.AssertTypeConverter( + nameof(GrassCoverErosionInwardsFailureMechanismSectionResultRow.CombinedAssemblyProbability)); + TestHelper.AssertTypeConverter( + nameof(GrassCoverErosionInwardsFailureMechanismSectionResultRow.ManualAssemblyProbability)); mocks.VerifyAll(); } @@ -720,6 +728,65 @@ } } + [Test] + public void CombinedAssemblyProbability_AssemblyRan_ReturnProbability() + { + // Setup + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, failureMechanism, assessmentSection); + + using (new AssemblyToolCalculatorFactoryConfig()) + { + var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + + // Call + double combinedAssemblyProbability = row.CombinedAssemblyProbability; + + // Assert + FailureMechanismSectionAssembly calculatorOutput = calculator.CombinedAssemblyOutput; + Assert.AreEqual(calculatorOutput.Probability, combinedAssemblyProbability); + mocks.VerifyAll(); + } + } + + [Test] + public void CombinedAssemblyProbability_AssemblyThrowsException_ThrowsAssemblyException() + { + // Setup + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, failureMechanism, assessmentSection); + + using (new AssemblyToolCalculatorFactoryConfig()) + { + var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + calculator.ThrowExceptionOnCalculate = true; + + // Call + double combinedAssemblyProbability; + TestDelegate test = () => combinedAssemblyProbability = row.CombinedAssemblyProbability; + + // Assert + Assert.Throws(test); + mocks.VerifyAll(); + } + } + #endregion } } \ No newline at end of file