Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs
===================================================================
diff -u -r82a3504384d5138339e41c6f7b5e586451f54661 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision 82a3504384d5138339e41c6f7b5e586451f54661)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -21,7 +21,6 @@
using System;
using System.Linq;
-using AssemblyTool.Kernel.Data.AssemblyCategories;
using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.AssemblyTool.Data;
@@ -47,9 +46,9 @@
Assert.AreEqual((SimpleAssessmentResultValidityOnlyType) 0,
calculator.SimpleAssessmentValidityOnlyInput);
Assert.IsNull(calculator.SimpleAssessmentAssemblyOutput);
- Assert.IsNull(calculator.DetailedAssessmentWithLengthEffectInput);
- Assert.IsNull(calculator.DetailedAssessmentInput);
- Assert.IsNull(calculator.DetailedAssessmentAssemblyOutput);
+ Assert.IsNull(calculator.DetailedAssessmentCategoriesInput);
+ Assert.AreEqual(0.0, calculator.DetailedAssessmentNInput);
+ Assert.AreEqual(0.0, calculator.DetailedAssessmentProbabilityInput);
}
#region Simple Assessment
@@ -178,8 +177,8 @@
// Setup
var random = new Random(39);
double probability = random.NextDouble();
- double lowerBoundary = random.NextRoundedDouble(0.0, 0.5);
- double upperBoundary = random.NextRoundedDouble(0.6, 1.0);
+ double lowerBoundary = random.NextDouble();
+ double upperBoundary = random.NextDouble();
var calculator = new FailureMechanismSectionAssemblyCalculatorStub();
@@ -194,12 +193,12 @@
});
// Assert
- Assert.AreEqual(probability, calculator.DetailedAssessmentInput.Probability);
+ Assert.AreEqual(probability, calculator.DetailedAssessmentProbabilityInput);
- FailureMechanismSectionCategory actualSectionCategory = calculator.DetailedAssessmentInput.Categories.Single();
+ FailureMechanismSectionAssemblyCategory actualSectionCategory = calculator.DetailedAssessmentCategoriesInput.Single();
Assert.AreEqual(lowerBoundary, actualSectionCategory.LowerBoundary);
Assert.AreEqual(upperBoundary, actualSectionCategory.UpperBoundary);
- Assert.AreEqual(FailureMechanismSectionCategoryGroup.IIv, actualSectionCategory.CategoryGroup);
+ Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.IIv, actualSectionCategory.Group);
}
[Test]
@@ -275,13 +274,13 @@
n);
// Assert
- Assert.AreEqual(probability, calculator.DetailedAssessmentWithLengthEffectInput.Probability);
- Assert.AreEqual(n, calculator.DetailedAssessmentWithLengthEffectInput.NValue);
+ Assert.AreEqual(probability, calculator.DetailedAssessmentProbabilityInput);
+ Assert.AreEqual(n, calculator.DetailedAssessmentNInput);
- FailureMechanismSectionCategory actualSectionCategory = calculator.DetailedAssessmentWithLengthEffectInput.Categories.Single();
+ FailureMechanismSectionAssemblyCategory actualSectionCategory = calculator.DetailedAssessmentCategoriesInput.Single();
Assert.AreEqual(lowerBoundary, actualSectionCategory.LowerBoundary);
Assert.AreEqual(upperBoundary, actualSectionCategory.UpperBoundary);
- Assert.AreEqual(FailureMechanismSectionCategoryGroup.IIv, actualSectionCategory.CategoryGroup);
+ Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.IIv, actualSectionCategory.Group);
}
[Test]
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs
===================================================================
diff -u -r82a3504384d5138339e41c6f7b5e586451f54661 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 82a3504384d5138339e41c6f7b5e586451f54661)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -21,10 +21,8 @@
using System;
using System.Collections.Generic;
-using AssemblyTool.Kernel.Assembly.CalculatorInput;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
-using Ringtoets.AssemblyTool.KernelWrapper.Creators;
using Ringtoets.Common.Primitives;
namespace Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly
@@ -55,16 +53,21 @@
public FailureMechanismSectionAssembly DetailedAssessmentAssemblyOutput { get; private set; }
///
- /// Gets the input of the detailed assessment calculation.
+ /// Gets the probability input of the detailed assessment calculation.
///
- public DetailedCalculationInputFromProbability DetailedAssessmentInput { get; private set; }
+ public double DetailedAssessmentProbabilityInput { get; private set; }
///
- /// Gets the input of the detailed assessment with length effect calculation.
+ /// Gets the categories input of the detailed assessment calculation.
///
- public DetailedCalculationInputFromProbabilityWithLengthEffect DetailedAssessmentWithLengthEffectInput { get; private set; }
+ public IEnumerable DetailedAssessmentCategoriesInput { get; private set; }
///
+ /// Gets the 'N' parameter input of the detailed assessment calculation.
+ ///
+ public double DetailedAssessmentNInput { get; private set; }
+
+ ///
/// Gets or sets an indicator whether an exception must be thrown when performing a calculation.
///
public bool ThrowExceptionOnCalculate { private get; set; }
@@ -100,8 +103,8 @@
throw new FailureMechanismSectionAssemblyCalculatorException("Message", new Exception());
}
- DetailedAssessmentInput = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateDetailedCalculationInputFromProbability(probability,
- categories);
+ DetailedAssessmentProbabilityInput = probability;
+ DetailedAssessmentCategoriesInput = categories;
return DetailedAssessmentAssemblyOutput = new FailureMechanismSectionAssembly(1, FailureMechanismSectionAssemblyCategoryGroup.VIIv);
}
@@ -115,11 +118,9 @@
throw new FailureMechanismSectionAssemblyCalculatorException("Message", new Exception());
}
- DetailedAssessmentWithLengthEffectInput =
- FailureMechanismSectionAssemblyCalculatorInputCreator.CreateDetailedCalculationInputFromProbabilityWithLengthEffect(
- probability,
- categories,
- n);
+ DetailedAssessmentProbabilityInput = probability;
+ DetailedAssessmentCategoriesInput = categories;
+ DetailedAssessmentNInput = n;
return DetailedAssessmentAssemblyOutput = new FailureMechanismSectionAssembly(0, FailureMechanismSectionAssemblyCategoryGroup.VIIv);
}
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.csproj
===================================================================
diff -u -rd7696913d8f9239cb80eb2c3bac6cc0ccf23d479 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.TestUtil.csproj) (revision d7696913d8f9239cb80eb2c3bac6cc0ccf23d479)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.TestUtil.csproj) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -36,10 +36,6 @@
-
- {D4200F43-3F72-4F42-AF0A-8CED416A38EC}
- Ringtoets.Common.Data
-
{78AA56F5-431D-465C-AC50-3173D7E90AC1}
Ringtoets.Common.Primitives
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionDetailedAssessmentResultExtensions.cs
===================================================================
diff -u -r40cbb4e66eedb0468bc0256f49b1d1c02a1b6086 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionDetailedAssessmentResultExtensions.cs (.../PipingFailureMechanismSectionDetailedAssessmentResultExtensions.cs) (revision 40cbb4e66eedb0468bc0256f49b1d1c02a1b6086)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionDetailedAssessmentResultExtensions.cs (.../PipingFailureMechanismSectionDetailedAssessmentResultExtensions.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -83,24 +83,15 @@
return double.NaN;
}
- IEnumerable calculationScenarios = sectionResult
- .GetCalculationScenarios(relevantScenarios)
- .Where(cs => cs.Status == CalculationScenarioStatus.Done);
-
- if (calculationScenarios.Any())
+ double totalDetailedAssessment = 0;
+ foreach (PipingCalculationScenario scenario in relevantScenarios)
{
- double totalDetailedAssessment = 0;
- foreach (PipingCalculationScenario scenario in calculationScenarios)
- {
- DerivedPipingOutput derivedOutput = DerivedPipingOutputFactory.Create(scenario.Output, failureMechanism, assessmentSection);
+ DerivedPipingOutput derivedOutput = DerivedPipingOutputFactory.Create(scenario.Output, failureMechanism, assessmentSection);
- totalDetailedAssessment += derivedOutput.PipingProbability * (double) scenario.Contribution;
- }
-
- return totalDetailedAssessment;
+ totalDetailedAssessment += derivedOutput.PipingProbability * (double) scenario.Contribution;
}
- return double.NaN;
+ return totalDetailedAssessment;
}
///
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs
===================================================================
diff -u -r2c8012ba40f0290a41ed277712a4eb8fc5ce8431 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs (.../PipingFailureMechanismSectionResultAssemblyFactory.cs) (revision 2c8012ba40f0290a41ed277712a4eb8fc5ce8431)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultAssemblyFactory.cs (.../PipingFailureMechanismSectionResultAssemblyFactory.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -20,11 +20,15 @@
// All rights reserved.
using System;
+using System.Collections.Generic;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.Kernels;
+using Ringtoets.Common.Data.AssemblyTool;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
+using Ringtoets.Common.Data.Probability;
namespace Ringtoets.Piping.Data
{
@@ -64,5 +68,64 @@
throw new AssemblyFactoryException(e.Message, e);
}
}
+
+ ///
+ /// Assembles the detailed assessment result.
+ ///
+ /// The failure mechanism section result to
+ /// assemble the detailed assembly for.
+ /// The calculations belonging to this section.
+ /// The failure mechanism.
+ /// The .
+ /// A .
+ /// Thrown when any parameter is null.
+ /// Thrown when
+ /// cannot be assembled.
+ public static FailureMechanismSectionAssembly AssembleDetailedAssembly(
+ PipingFailureMechanismSectionResult failureMechanismSectionResult,
+ IEnumerable calculationScenarios,
+ PipingFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanismSectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionResult));
+ }
+
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ IFailureMechanismSectionAssemblyCalculator calculator = calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ try
+ {
+ IEnumerable categories = AssemblyToolCategoriesFactory.CreateFailureMechanismSectionAssemblyCategories(
+ assessmentSection.FailureMechanismContribution.SignalingNorm,
+ assessmentSection.FailureMechanismContribution.LowerLimitNorm,
+ failureMechanism.Contribution,
+ failureMechanism.PipingProbabilityAssessmentInput.GetN(failureMechanism.PipingProbabilityAssessmentInput.SectionLength));
+
+ return calculator.AssembleDetailedAssessment(failureMechanismSectionResult.GetDetailedAssessmentProbability(calculationScenarios, failureMechanism, assessmentSection),
+ categories,
+ failureMechanism.PipingProbabilityAssessmentInput.GetN(failureMechanismSectionResult.Section.Length));
+ }
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
+ {
+ throw new AssemblyFactoryException(e.Message, e);
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSectionResultAssemblyFactoryTest.cs
===================================================================
diff -u -r2c8012ba40f0290a41ed277712a4eb8fc5ce8431 -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSectionResultAssemblyFactoryTest.cs (.../PipingFailureMechanismSectionResultAssemblyFactoryTest.cs) (revision 2c8012ba40f0290a41ed277712a4eb8fc5ce8431)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSectionResultAssemblyFactoryTest.cs (.../PipingFailureMechanismSectionResultAssemblyFactoryTest.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -20,23 +20,30 @@
// 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;
using Ringtoets.Common.Primitives;
+using Ringtoets.Piping.Data.TestUtil;
namespace Ringtoets.Piping.Data.Test
{
[TestFixture]
public class PipingFailureMechanismSectionResultAssemblyFactoryTest
{
+ #region Simple Assessment
+
[Test]
public void AssembleSimpleAssessment_FailureMechanismSectionResultNull_ThrowsArgumentNullException()
{
@@ -117,5 +124,220 @@
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 = () => PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ null,
+ Enumerable.Empty(),
+ new PipingFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismSectionResult", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_CalculationScenariosNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate call = () => PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ new PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ null,
+ new PipingFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("calculationScenarios", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_FailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate call = () => PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ new PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ Enumerable.Empty(),
+ null,
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AssembleDetailedAssembly_AssessmentSectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ new PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ Enumerable.Empty(),
+ new PipingFailureMechanism(),
+ 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 sectionResult = new PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+
+ // Call
+ PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ new[]
+ {
+ PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput()
+ },
+ new PipingFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(
+ new[]
+ {
+ PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput()
+ },
+ new PipingFailureMechanism(),
+ assessmentSection),
+ calculator.DetailedAssessmentProbabilityInput);
+ 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 PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+
+ // Call
+ FailureMechanismSectionAssembly actualOutput =
+ PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ new[]
+ {
+ PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput()
+ },
+ new PipingFailureMechanism(),
+ 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 PipingFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ SimpleAssessmentResult = random.NextEnumValue()
+ };
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ calculator.ThrowExceptionOnCalculate = true;
+
+ // Call
+ TestDelegate call = () => PipingFailureMechanismSectionResultAssemblyFactory.AssembleDetailedAssembly(
+ sectionResult,
+ new[]
+ {
+ PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput()
+ },
+ new PipingFailureMechanism(),
+ 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/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioTestFactory.cs
===================================================================
diff -u -r8b37c0f11e7d78b71c298763124973e94845c87b -r7cccb012b51218b8989007633d8338eaf435d6f4
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioTestFactory.cs (.../PipingCalculationScenarioTestFactory.cs) (revision 8b37c0f11e7d78b71c298763124973e94845c87b)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioTestFactory.cs (.../PipingCalculationScenarioTestFactory.cs) (revision 7cccb012b51218b8989007633d8338eaf435d6f4)
@@ -79,6 +79,7 @@
{
throw new ArgumentNullException(nameof(section));
}
+
var pipingSurfaceLine = new PipingSurfaceLine(string.Empty);
Point2D p = section.Points.First();
pipingSurfaceLine.SetGeometry(new[]
@@ -165,7 +166,7 @@
surfaceLine.SetBottomDitchDikeSideAt(thirdCharacteristicPointLocation);
surfaceLine.SetBottomDitchPolderSideAt(fourthCharacteristicPointLocation);
surfaceLine.SetDitchPolderSideAt(fifthCharacteristicPointLocation);
-
+ surfaceLine.ReferenceLineIntersectionWorldPoint = new Point2D(0.0, 0.0);
HydraulicBoundaryLocation hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation
{
DesignWaterLevelCalculation2 =