Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs
===================================================================
diff -u -r508157dfe8615caaf50d75a9dd5d5b8c86e3ee81 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision 508157dfe8615caaf50d75a9dd5d5b8c86e3ee81)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -1111,8 +1111,8 @@
CreateAssemblyCategoriesInput());
// Assert
- Assert.AreEqual(1.0, assembly.Probability);
- Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.VIv, assembly.Group);
+ Assert.AreEqual(0.0, assembly.Probability);
+ Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.IIv, assembly.Group);
}
[Test]
@@ -1189,8 +1189,8 @@
CreateAssemblyCategoriesInput());
// Assert
- Assert.AreEqual(0.0, assembly.Probability);
- Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.VIv, assembly.Group);
+ Assert.AreEqual(1.0, assembly.Probability);
+ Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.VIIv, assembly.Group);
}
[Test]
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs
===================================================================
diff -u -r508157dfe8615caaf50d75a9dd5d5b8c86e3ee81 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 508157dfe8615caaf50d75a9dd5d5b8c86e3ee81)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -447,11 +447,11 @@
throw new FailureMechanismSectionAssemblyCalculatorException("Message", new Exception());
}
- DetailedAssessmentProbabilityInput = probability;
+ ManualAssemblyProbabilityInput = probability;
AssemblyCategoriesInput = assemblyCategoriesInput;
- return DetailedAssessmentAssemblyOutput ??
- (DetailedAssessmentAssemblyOutput = new FailureMechanismSectionAssembly(0, FailureMechanismSectionAssemblyCategoryGroup.VIv));
+ return ManualAssemblyAssemblyOutput ??
+ (ManualAssemblyAssemblyOutput = new FailureMechanismSectionAssembly(0, FailureMechanismSectionAssemblyCategoryGroup.IIv));
}
public FailureMechanismSectionAssembly AssembleManual(double probability, double n, AssemblyCategoriesInput assemblyCategoriesInput)
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs (.../ClosingStructuresFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs (.../ClosingStructuresFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -25,9 +25,9 @@
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.Primitives;
namespace Ringtoets.ClosingStructures.Data
{
@@ -218,15 +218,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
ClosingStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -239,49 +237,76 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(ClosingStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (ClosingStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (ClosingStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability, assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(ClosingStructuresFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.GeneralInput.N,
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs (.../ClosingStructuresFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs (.../ClosingStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -676,7 +677,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new ClosingStructuresFailureMechanism();
@@ -700,51 +701,18 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = ClosingStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(
+ failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new ClosingStructuresFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- ClosingStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- ClosingStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = ClosingStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj
===================================================================
diff -u -rda7bb9a6d96d7118d6dcdc2ee17a11d5b43f44c7 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj (.../Ringtoets.Common.Data.csproj) (revision da7bb9a6d96d7118d6dcdc2ee17a11d5b43f44c7)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj (.../Ringtoets.Common.Data.csproj) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -16,6 +16,7 @@
+
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Ringtoets.Common.Data.Test.csproj
===================================================================
diff -u -rda7bb9a6d96d7118d6dcdc2ee17a11d5b43f44c7 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Ringtoets.Common.Data.Test.csproj (.../Ringtoets.Common.Data.Test.csproj) (revision da7bb9a6d96d7118d6dcdc2ee17a11d5b43f44c7)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Ringtoets.Common.Data.Test.csproj (.../Ringtoets.Common.Data.Test.csproj) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -20,6 +20,7 @@
+
Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -174,33 +175,23 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (DuneErosionFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -427,7 +427,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -453,34 +453,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new DuneErosionFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- DuneErosionFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -25,9 +25,9 @@
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.Primitives;
namespace Ringtoets.GrassCoverErosionInwards.Data
{
@@ -220,15 +220,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
GrassCoverErosionInwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -241,49 +239,76 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(GrassCoverErosionInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability, assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(GrassCoverErosionInwardsFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.GeneralInput.N,
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -676,7 +677,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
@@ -700,51 +701,18 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(
+ failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -175,40 +176,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (GrassCoverErosionOutwardsFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -427,7 +427,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -453,34 +453,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new GrassCoverErosionOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -25,9 +25,9 @@
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.Primitives;
namespace Ringtoets.HeightStructures.Data
{
@@ -220,15 +220,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
HeightStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -241,49 +239,76 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(HeightStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (HeightStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (HeightStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability, assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(HeightStructuresFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.GeneralInput.N,
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -676,7 +677,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new HeightStructuresFailureMechanism();
@@ -700,51 +701,18 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(
+ failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new HeightStructuresFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- HeightStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- HeightStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -174,40 +175,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (GrassCoverSlipOffInwardsFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -174,40 +175,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (GrassCoverSlipOffOutwardsFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,10 +21,12 @@
using System;
using System.Collections.Generic;
+using System.Linq;
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;
@@ -221,15 +223,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
MacroStabilityOutwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -241,24 +241,17 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- var sectionAssemblies = new List();
- foreach (MacroStabilityOutwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism,
- assessmentSection));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanism.SectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
try
{
return calculator.Assemble(sectionAssemblies);
@@ -272,11 +265,10 @@
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(MacroStabilityOutwardsFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.MacroStabilityOutwardsProbabilityAssessmentInput.GetN(
- failureMechanism.MacroStabilityOutwardsProbabilityAssessmentInput.SectionLength),
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.MacroStabilityOutwardsProbabilityAssessmentInput.GetN(
+ failureMechanism.MacroStabilityOutwardsProbabilityAssessmentInput.SectionLength),
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactory.cs (.../MicrostabilityFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactory.cs (.../MicrostabilityFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -174,40 +175,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (MicrostabilityFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs (.../PipingStructureFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs (.../PipingStructureFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -174,40 +175,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (PipingStructureFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -140,40 +141,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (StrengthStabilityLengthwiseConstructionFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactory.cs (.../TechnicalInnovationFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactory.cs (.../TechnicalInnovationFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -140,40 +141,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (TechnicalInnovationFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -140,40 +141,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (WaterPressureAsphaltCoverFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -406,7 +406,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -432,34 +432,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new GrassCoverSlipOffInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- GrassCoverSlipOffInwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -405,7 +405,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -431,34 +431,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new GrassCoverSlipOffOutwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -677,7 +677,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new MacroStabilityOutwardsFailureMechanism();
@@ -701,49 +701,13 @@
assessmentSection);
// Assert
- Assert.AreEqual(failureMechanism.SectionResults.Single().ManualAssemblyCategoryGroup,
+ Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup,
calculator.FailureMechanismSectionCategories.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new MacroStabilityOutwardsFailureMechanism();
- failureMechanism.AddSection(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);
- mocks.ReplayAll();
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- MacroStabilityOutwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactoryTest.cs (.../MicrostabilityFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/MicrostabilityFailureMechanismAssemblyFactoryTest.cs (.../MicrostabilityFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -406,7 +406,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -432,34 +432,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new MicrostabilityFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- MicrostabilityFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- MicrostabilityFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs (.../PipingStructureFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs (.../PipingStructureFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -406,7 +406,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -432,34 +432,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new PipingStructureFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- PipingStructureFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- PipingStructureFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactoryTest.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactoryTest.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -326,7 +326,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -352,34 +352,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new StrengthStabilityLengthwiseConstructionFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- StrengthStabilityLengthwiseConstructionFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactoryTest.cs (.../TechnicalInnovationFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/TechnicalInnovationFailureMechanismAssemblyFactoryTest.cs (.../TechnicalInnovationFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -325,7 +325,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -351,34 +351,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new TechnicalInnovationFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- TechnicalInnovationFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- TechnicalInnovationFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/AssemblyFactories/WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -325,7 +325,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -351,34 +351,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new WaterPressureAsphaltCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- WaterPressureAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -26,10 +26,10 @@
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;
-using Ringtoets.Common.Primitives;
namespace Ringtoets.MacroStabilityInwards.Data
{
@@ -238,15 +238,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
MacroStabilityInwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -259,52 +257,81 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(MacroStabilityInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (MacroStabilityInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (MacroStabilityInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN(sectionResult.Section.Length),
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN(
+ sectionResult.Section.Length),
+ assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism.Calculations.Cast(),
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism.Calculations.Cast(),
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
- private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(MacroStabilityInwardsFailureMechanism failureMechanism,
+ private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(MacroStabilityInwardsFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN(
- failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.SectionLength),
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN(
+ failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.SectionLength),
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -756,7 +757,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
@@ -780,53 +781,16 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- Enumerable.Empty(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(
+ sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(0.0, failureMechanism, assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- Enumerable.Empty(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -26,10 +26,10 @@
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;
-using Ringtoets.Common.Primitives;
namespace Ringtoets.Piping.Data
{
@@ -238,15 +238,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
PipingFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -259,52 +257,81 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(PipingFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (PipingFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (PipingFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- failureMechanism.PipingProbabilityAssessmentInput.GetN(sectionResult.Section.Length),
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ failureMechanism.PipingProbabilityAssessmentInput.GetN(
+ sectionResult.Section.Length),
+ assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism.Calculations.Cast(),
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism.Calculations.Cast(),
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(PipingFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.PipingProbabilityAssessmentInput.GetN(
- failureMechanism.PipingProbabilityAssessmentInput.SectionLength),
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.PipingProbabilityAssessmentInput.GetN(
+ failureMechanism.PipingProbabilityAssessmentInput.SectionLength),
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs (.../PipingFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs (.../PipingFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -757,7 +758,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new PipingFailureMechanism();
@@ -781,53 +782,16 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = PipingFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- Enumerable.Empty(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(
+ sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(0.0, failureMechanism, assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new PipingFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- PipingFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = PipingFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- Enumerable.Empty(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -25,9 +25,9 @@
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.Primitives;
namespace Ringtoets.StabilityPointStructures.Data
{
@@ -218,15 +218,13 @@
///
/// The failure mechanism to assemble for.
/// The the failure mechanism belongs to.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when any parameter is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssembly AssembleFailureMechanism(
StabilityPointStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection,
- bool considerManualAssembly = true)
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -239,49 +237,76 @@
}
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
+ IEnumerable sectionAssemblies = AssembleSections(failureMechanism,
+ assessmentSection,
+ assemblyCategoriesInput);
+
+ try
+ {
+ IFailureMechanismAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ }
+ catch (FailureMechanismAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+
+ ///
+ /// Assembles the combined assembly for all sections in the .
+ ///
+ /// The failure mechanism to assemble for.
+ /// The the failure mechanism belongs to.
+ /// The object containing the input parameters for determining the assembly categories.
+ /// Thrown when a
+ /// could not be created.
+ /// A collection of all section assembly results.
+ private static IEnumerable AssembleSections(StabilityPointStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection,
+ AssemblyCategoriesInput assemblyCategoriesInput)
+ {
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismSectionAssemblyCalculator sectionCalculator =
calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
- AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection);
var sectionAssemblies = new List();
- try
+ foreach (StabilityPointStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
{
- foreach (StabilityPointStructuresFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults)
+ FailureMechanismSectionAssembly sectionAssembly;
+ if (sectionResult.UseManualAssemblyProbability)
{
- if (sectionResult.UseManualAssemblyProbability && considerManualAssembly)
+ try
{
- sectionAssemblies.Add(sectionCalculator.AssembleDetailedAssessment(
- DetailedAssessmentProbabilityOnlyResultType.Probability,
- sectionResult.ManualAssemblyProbability,
- assemblyCategoriesInput));
+ sectionAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability, assemblyCategoriesInput);
}
- else
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
{
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult,
- failureMechanism,
- assessmentSection));
+ throw new AssemblyException(e.Message, e);
}
}
+ else
+ {
+ sectionAssembly = AssembleCombinedAssessment(sectionResult,
+ failureMechanism,
+ assessmentSection);
+ }
- IFailureMechanismAssemblyCalculator calculator =
- calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
-
- return calculator.Assemble(sectionAssemblies, assemblyCategoriesInput);
+ sectionAssemblies.Add(sectionAssembly);
}
- catch (Exception e) when (e is FailureMechanismAssemblyCalculatorException || e is FailureMechanismSectionAssemblyCalculatorException)
- {
- throw new AssemblyException(e.Message, e);
- }
+
+ return sectionAssemblies;
}
private static AssemblyCategoriesInput CreateAssemblyCategoriesInput(StabilityPointStructuresFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
- return new AssemblyCategoriesInput(failureMechanism.GeneralInput.N,
- failureMechanism.Contribution,
- assessmentSection.FailureMechanismContribution.SignalingNorm,
- assessmentSection.FailureMechanismContribution.LowerLimitNorm);
+ return AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection);
}
}
}
\ No newline at end of file
Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -30,6 +30,7 @@
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
+using Ringtoets.Common.Data.AssemblyTool;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
@@ -676,7 +677,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new StabilityPointStructuresFailureMechanism();
@@ -700,51 +701,18 @@
assessmentSection);
// Assert
- FailureMechanismSectionAssembly expectedAssembly = StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
+ FailureMechanismSectionAssemblyCalculatorStub sectionCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ FailureMechanismSectionAssembly expectedAssembly = sectionCalculator.AssembleManual(sectionResult.ManualAssemblyProbability,
+ AssemblyCategoriesInputFactory.CreateAssemblyCategoriesInput(
+ failureMechanism.GeneralInput.N,
+ failureMechanism,
+ assessmentSection));
AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
mocks.VerifyAll();
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var failureMechanism = new StabilityPointStructuresFailureMechanism();
- failureMechanism.AddSection(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- StabilityPointStructuresFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
- sectionResult.UseManualAssemblyProbability = true;
- sectionResult.ManualAssemblyProbability = new Random(39).NextDouble();
-
- 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
- StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(
- failureMechanism,
- assessmentSection,
- false);
-
- // Assert
- FailureMechanismSectionAssembly expectedAssembly = StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- failureMechanism.SectionResults.Single(),
- failureMechanism,
- assessmentSection);
- AssemblyToolTestHelper.AssertAreEqual(expectedAssembly, calculator.FailureMechanismSectionAssemblies.Single());
- mocks.VerifyAll();
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -175,40 +176,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (StabilityStoneCoverFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -427,7 +427,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -453,34 +453,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new StabilityStoneCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -21,6 +21,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators;
using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly;
@@ -175,40 +176,30 @@
///
/// The failure mechanism section results to
/// get the assembly for.
- /// Indicator whether the manual assembly should be used in the assembly.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(
- IEnumerable failureMechanismSectionResults,
- bool considerManualAssembly = true)
+ IEnumerable failureMechanismSectionResults)
{
if (failureMechanismSectionResults == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResults));
}
- var sectionAssemblies = new List();
- foreach (WaveImpactAsphaltCoverFailureMechanismSectionResult sectionResult in failureMechanismSectionResults)
- {
- if (sectionResult.UseManualAssemblyCategoryGroup && considerManualAssembly)
- {
- sectionAssemblies.Add(sectionResult.ManualAssemblyCategoryGroup);
- }
- else
- {
- sectionAssemblies.Add(AssembleCombinedAssessment(sectionResult));
- }
- }
+ IEnumerable sectionAssemblies =
+ failureMechanismSectionResults.Select(sectionResult => (sectionResult.UseManualAssemblyCategoryGroup
+ ? sectionResult.ManualAssemblyCategoryGroup
+ : AssembleCombinedAssessment(sectionResult))).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
calculatorFactory.CreateFailureMechanismAssemblyCalculator(AssemblyToolKernelFactory.Instance);
try
- {
+ {
return calculator.Assemble(sectionAssemblies);
}
catch (FailureMechanismAssemblyCalculatorException e)
Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rbbbfacd9e38cf43c98dba73e39694850fb932a66 -r76d5e546e8087c3cd169dd2e6bb04556d88eec87
--- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision bbbfacd9e38cf43c98dba73e39694850fb932a66)
+++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision 76d5e546e8087c3cd169dd2e6bb04556d88eec87)
@@ -427,7 +427,7 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyTrue_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
{
// Setup
var sectionResults = new[]
@@ -453,34 +453,6 @@
}
[Test]
- public void AssembleFailureMechanism_WithManualInputConsiderManualAssemblyFalse_SetsInputOnCalculator()
- {
- // Setup
- var sectionResults = new[]
- {
- new WaveImpactAsphaltCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- {
- UseManualAssemblyCategoryGroup = true,
- ManualAssemblyCategoryGroup = new Random(39).NextEnumValue()
- }
- };
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- // Call
- WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(sectionResults, false);
-
- // Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(sectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup