Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.cs
===================================================================
diff -u -rc7425b8f799095f2dc812351e14103931c672fba -reb90f0ffffa5e6028fed5b94f267e30358047629
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.cs) (revision c7425b8f799095f2dc812351e14103931c672fba)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.cs) (revision eb90f0ffffa5e6028fed5b94f267e30358047629)
@@ -73,8 +73,8 @@
///
/// The failure mechanism section result to
/// assemble the detailed assembly for.
- /// The failure mechanism.
- /// The .
+ /// The failure mechanism belonging to this calculation.
+ /// The belonging to this calculation.
/// A .
/// Thrown when any parameter is null.
/// Thrown when
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest.cs
===================================================================
diff -u -rad479a80b6db7879b935aecaca743c39615ec977 -reb90f0ffffa5e6028fed5b94f267e30358047629
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest.cs) (revision ad479a80b6db7879b935aecaca743c39615ec977)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest.cs) (revision eb90f0ffffa5e6028fed5b94f267e30358047629)
@@ -20,13 +20,17 @@
// All rights reserved.
using System;
+using System.Linq;
using Core.Common.TestUtil;
using NUnit.Framework;
+using Rhino.Mocks;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Contribution;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
@@ -37,6 +41,8 @@
[TestFixture]
public class GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactoryTest
{
+ #region Simple Assessment
+
[Test]
public void AssembleSimpleAssessment_FailureMechanismSectionResultNull_ThrowsArgumentNullException()
{
@@ -85,7 +91,7 @@
FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
- FailureMechanismSectionAssembly actualOutput =
+ FailureMechanismSectionAssembly actualOutput =
GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleSimpleAssessment(sectionResult);
// Assert
@@ -117,5 +123,180 @@
Assert.AreEqual(innerException.Message, exception.Message);
}
}
+
+ #endregion
+
+ #region Detailed Assessment
+
+ [Test]
+ public void AssembleDetailedAssembly_FailureMechanismSectionResultNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate call = () => GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ null,
+ new GrassCoverErosionInwardsFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismSectionResult", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_FailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate call = () => GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ null,
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_AssessmentSectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ new GrassCoverErosionInwardsFailureMechanism(),
+ null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("assessmentSection", exception.ParamName);
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_WithInput_SetsInputOnCalculator()
+ {
+ // Setup
+ var random = new Random(21);
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ assessmentSection.Stub(a => a.FailureMechanismContribution).Return(new FailureMechanismContribution(
+ Enumerable.Empty(),
+ random.Next(0, 100),
+ random.NextRoundedDouble(0.06, 0.1),
+ random.NextRoundedDouble(0.00001, 0.05)));
+ mocks.ReplayAll();
+
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+
+ // Call
+ GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ failureMechanism,
+ assessmentSection);
+
+ // Assert
+ Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(failureMechanism, assessmentSection),
+ calculator.DetailedAssessmentProbabilityInput);
+ Assert.IsNotNull(calculator.DetailedAssessmentCategoriesInput);
+ mocks.VerifyAll();
+ }
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_AssemblyRan_ReturnsOutput()
+ {
+ // Setup
+ var random = new Random(21);
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ assessmentSection.Stub(a => a.FailureMechanismContribution).Return(new FailureMechanismContribution(
+ Enumerable.Empty(),
+ random.Next(0, 100),
+ random.NextRoundedDouble(0.06, 0.1),
+ random.NextRoundedDouble(0.00001, 0.05)));
+ mocks.ReplayAll();
+
+ var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+
+ // Call
+ FailureMechanismSectionAssembly actualOutput =
+ GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ new GrassCoverErosionInwardsFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ FailureMechanismSectionAssembly calculatorOutput = calculator.DetailedAssessmentAssemblyOutput;
+ Assert.AreSame(calculatorOutput, actualOutput);
+ }
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_CalculatorThrowsExceptions_ThrowsAssemblyFactoryException()
+ {
+ // Setup
+ var random = new Random(21);
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ assessmentSection.Stub(a => a.FailureMechanismContribution).Return(new FailureMechanismContribution(
+ Enumerable.Empty(),
+ random.Next(0, 100),
+ random.NextRoundedDouble(0.06, 0.1),
+ random.NextRoundedDouble(0.00001, 0.05)));
+ mocks.ReplayAll();
+
+ var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ calculator.ThrowExceptionOnCalculate = true;
+
+ // Call
+ TestDelegate call = () => GrassCoverErosionInwardsFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ new GrassCoverErosionInwardsFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Exception innerException = exception.InnerException;
+ Assert.IsInstanceOf(innerException);
+ Assert.AreEqual(innerException.Message, exception.Message);
+ }
+ }
+
+ #endregion
}
}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultAssemblyFactory.cs
===================================================================
diff -u -r9871a2374e0f08658f7bec58412958b35f8a849b -reb90f0ffffa5e6028fed5b94f267e30358047629
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismSectionResultAssemblyFactory.cs) (revision 9871a2374e0f08658f7bec58412958b35f8a849b)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismSectionResultAssemblyFactory.cs) (revision eb90f0ffffa5e6028fed5b94f267e30358047629)
@@ -75,8 +75,8 @@
/// The failure mechanism section result to
/// assemble the detailed assembly for.
/// The calculations belonging to this section.
- /// The failure mechanism.
- /// The .
+ /// The failure mechanism belonging to this calculation.
+ /// The belonging to this calculation.
/// A .
/// Thrown when any parameter is null.
/// Thrown when
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs
===================================================================
diff -u -r7cccb012b51218b8989007633d8338eaf435d6f4 -reb90f0ffffa5e6028fed5b94f267e30358047629
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs (.../PipingFailureMechanismSectionResultAssemblyFactory.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs (.../PipingFailureMechanismSectionResultAssemblyFactory.cs) (revision eb90f0ffffa5e6028fed5b94f267e30358047629)
@@ -75,8 +75,8 @@
/// The failure mechanism section result to
/// assemble the detailed assembly for.
/// The calculations belonging to this section.
- /// The failure mechanism.
- /// The .
+ /// The failure mechanism belonging to this calculation.
+ /// The belonging to this calculation.
/// A .
/// Thrown when any parameter is null.
/// Thrown when