Index: Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs
===================================================================
diff -u -r0d1eb93c536da17bfb1fd47333cc48e9179159f0 -rf563394700bcbcf5eb13615972f0beb72b0a0894
--- Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs (.../AssessmentSectionAssemblyFactory.cs) (revision 0d1eb93c536da17bfb1fd47333cc48e9179159f0)
+++ Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs (.../AssessmentSectionAssemblyFactory.cs) (revision f563394700bcbcf5eb13615972f0beb72b0a0894)
@@ -50,79 +50,6 @@
public static class AssessmentSectionAssemblyFactory
{
///
- /// Assembles the results of the failure mechanisms with probability within the assessment sections.
- ///
- /// The assessment section which contains the failure mechanisms to assemble for.
- /// Indicator that determines whether the manual assembly should be considered when assembling the result.
- /// A .
- /// Thrown when is null.
- /// Thrown when cannot be created.
- public static FailureMechanismAssembly AssembleFailureMechanismsWithProbability(AssessmentSection assessmentSection,
- bool useManual)
- {
- if (assessmentSection == null)
- {
- throw new ArgumentNullException(nameof(assessmentSection));
- }
-
- try
- {
- IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance;
- IAssessmentSectionAssemblyCalculatorOld calculator =
- calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance);
-
- FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution;
- return calculator.AssembleFailureMechanisms(GetFailureMechanismWithProbabilityAssemblyResults(assessmentSection, useManual),
- failureMechanismContribution.SignalingNorm,
- failureMechanismContribution.LowerLimitNorm,
- assessmentSection.FailureProbabilityMarginFactor);
- }
- catch (AssessmentSectionAssemblyCalculatorException e)
- {
- throw new AssemblyException(e.Message, e);
- }
- catch (AssemblyException e)
- {
- throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e);
- }
- }
-
- ///
- /// Assembles the results of failure mechanisms without probability within the assessment section.
- ///
- /// The assessment section which contains the failure mechanisms to assemble for.
- /// Indicator that determines whether the manual assembly should be considered when assembling the result.
- /// A .
- /// Thrown when is null.
- /// Thrown when cannot be created.
- public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanismsWithoutProbability(AssessmentSection assessmentSection,
- bool useManual)
- {
- if (assessmentSection == null)
- {
- throw new ArgumentNullException(nameof(assessmentSection));
- }
-
- try
- {
- IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance;
- IAssessmentSectionAssemblyCalculatorOld calculator =
- calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance);
-
- return calculator.AssembleFailureMechanisms(GetFailureMechanismsWithoutProbabilityAssemblyResults(assessmentSection,
- useManual));
- }
- catch (AssessmentSectionAssemblyCalculatorException e)
- {
- throw new AssemblyException(e.Message, e);
- }
- catch (AssemblyException e)
- {
- throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e);
- }
- }
-
- ///
/// Assembles the assessment section.
///
/// The assessment section which contains the failure mechanisms to assemble for.
@@ -155,38 +82,7 @@
throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e);
}
}
-
- ///
- /// Assembles the assessment section.
- ///
- /// The assessment section which contains the failure mechanisms to assemble for.
- /// Indicator that determines whether the manual assembly should be considered when assembling the result.
- /// A .
- /// Thrown when is null.
- /// Thrown when cannot be created.
- public static AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(AssessmentSection assessmentSection,
- bool useManual)
- {
- if (assessmentSection == null)
- {
- throw new ArgumentNullException(nameof(assessmentSection));
- }
- try
- {
- IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance;
- IAssessmentSectionAssemblyCalculatorOld calculator =
- calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance);
-
- return calculator.AssembleAssessmentSection(AssembleFailureMechanismsWithoutProbability(assessmentSection, useManual),
- AssembleFailureMechanismsWithProbability(assessmentSection, useManual));
- }
- catch (AssessmentSectionAssemblyCalculatorException e)
- {
- throw new AssemblyException(e.Message, e);
- }
- }
-
///
/// Assembles the combined failure mechanism sections.
///
@@ -264,36 +160,5 @@
StandAloneFailureMechanismAssemblyFactory.AssembleFailureMechanism(assessmentSection.WaterPressureAsphaltCover, assessmentSection)
};
}
-
- private static IEnumerable GetFailureMechanismWithProbabilityAssemblyResults(AssessmentSection assessmentSection,
- bool useManual)
- {
- return new[]
- {
- GrassCoverErosionInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverErosionInwards, assessmentSection, useManual),
- HeightStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.HeightStructures, assessmentSection, useManual),
- ClosingStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.ClosingStructures, assessmentSection, useManual),
- StabilityPointStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.StabilityPointStructures, assessmentSection, useManual),
- PipingFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.Piping, assessmentSection, useManual),
- MacroStabilityInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.MacroStabilityInwards, assessmentSection, useManual)
- };
- }
-
- private static IEnumerable GetFailureMechanismsWithoutProbabilityAssemblyResults(AssessmentSection assessmentSection,
- bool useManual)
- {
- return new[]
- {
- StabilityStoneCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.StabilityStoneCover, useManual),
- WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.WaveImpactAsphaltCover, useManual),
- GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverErosionOutwards, useManual),
- DuneErosionFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.DuneErosion, useManual),
- MicrostabilityFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.Microstability, useManual),
- WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.WaterPressureAsphaltCover, useManual),
- GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverSlipOffOutwards, useManual),
- GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverSlipOffInwards, useManual),
- PipingStructureFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.PipingStructure, useManual)
- };
- }
}
}
\ No newline at end of file
Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs
===================================================================
diff -u -r56c67547623e965d4342f435469cf29f2bcf8a88 -rf563394700bcbcf5eb13615972f0beb72b0a0894
--- Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision 56c67547623e965d4342f435469cf29f2bcf8a88)
+++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision f563394700bcbcf5eb13615972f0beb72b0a0894)
@@ -30,406 +30,18 @@
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly;
-using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Contribution;
using Riskeer.Common.Data.Exceptions;
using Riskeer.Common.Data.FailureMechanism;
-using Riskeer.Common.Data.TestUtil;
-using Riskeer.DuneErosion.Data;
-using Riskeer.GrassCoverErosionOutwards.Data;
using Riskeer.Integration.Data.Assembly;
-using Riskeer.Integration.Data.StandAlone;
-using Riskeer.Integration.Data.TestUtil;
using Riskeer.Integration.TestUtil;
-using Riskeer.Piping.Data;
-using Riskeer.StabilityStoneCover.Data;
-using Riskeer.WaveImpactAsphaltCover.Data;
namespace Riskeer.Integration.Data.Test.Assembly
{
[TestFixture]
public class AssessmentSectionAssemblyFactoryTest
{
- #region Assemble Failure Mechanisms With Probability
-
- [Test]
- public void AssembleFailureMechanismsWithProbability_AssessmentSectionNull_ThrowsArgumentNullException()
- {
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(null, new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Assert.AreEqual("assessmentSection", exception.ParamName);
- }
-
- [Test]
- public void AssembleFailureMechanismsWithProbability_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput = new FailureMechanismAssembly(
- random.NextDouble(), random.NextEnumValue());
-
- AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
-
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection,
- random.NextBoolean());
-
- // Assert
- FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution;
- Assert.AreEqual(failureMechanismContribution.LowerLimitNorm, assessmentSectionAssemblyCalculator.LowerLimitNormInput);
- Assert.AreEqual(failureMechanismContribution.SignalingNorm, assessmentSectionAssemblyCalculator.SignalingNormInput);
- Assert.AreEqual(assessmentSection.FailureProbabilityMarginFactor, assessmentSectionAssemblyCalculator.FailureProbabilityMarginFactorInput);
-
- AssertGroup1And2FailureMechanismInputs(assessmentSection,
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput,
- assessmentSectionAssemblyCalculator);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithProbability_AssemblyRan_ReturnsOutput()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly(
- random.NextDouble(), random.NextEnumValue());
-
- // Call
- FailureMechanismAssembly output = AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection,
- random.NextBoolean());
-
- // Assert
- Assert.AreSame(calculator.AssembleFailureMechanismsAssemblyOutput, output);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithProbability_CalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual(innerException.Message, exception.Message);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithProbability_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message);
- }
- }
-
- #region Manual Assembly Used
-
- [Test]
- [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithProbability))]
- public void AssembleFailureMechanismsWithProbability_FailureMechanismWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator(AssessmentSection assessmentSection)
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- Assert.AreSame(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single());
- }
- }
-
- [Test]
- [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithProbability))]
- public void AssembleFailureMechanismsWithProbability_FailureMechanismWithManualSectionAssemblyAndUseManualFalse_SetsAssemblyInputOnCalculator(AssessmentSection assessmentSection)
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- Assert.AreSame(failureMechanismSectionAssemblyCalculator.CombinedAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single());
- }
- }
-
- #endregion
-
- #endregion
-
- #region Assemble Failure Mechanisms Without Probability
-
- [Test]
- public void AssembleFailureMechanismsWithoutProbability_AssessmentSectionNull_ThrowsArgumentNullException()
- {
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(null,
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Assert.AreEqual("assessmentSection", exception.ParamName);
- }
-
- [Test]
- public void AssembleFailureMechanismsWithoutProbability_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput = random.NextEnumValue();
-
- AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
-
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, random.NextBoolean());
-
- // Assert
- AssertGroup3And4FailureMechanismInputs(assessmentSection,
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput.Value,
- assessmentSectionAssemblyCalculator);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithoutProbability_AssemblyRan_ReturnsOutput()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput = random.NextEnumValue();
-
- // Call
- FailureMechanismAssemblyCategoryGroup output = AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection,
- random.NextBoolean());
-
- // Assert
- Assert.AreEqual(calculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput, output);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithoutProbability_CalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual(innerException.Message, exception.Message);
- }
- }
-
- [Test]
- public void AssembleFailureMechanismsWithoutProbability_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message);
- }
- }
-
- #region Manual Assembly Used
-
- [Test]
- [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithConfiguredFailureMechanismsWithoutProbability))]
- public void AssembleFailureMechanismsWithoutProbability_FailureMechanismWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator(AssessmentSection assessmentSection,
- IFailureMechanism failureMechanismInAssembly)
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, true);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- AssertFailureMechanismsWithoutProbabilityManualAssemblyCalculatorInput(failureMechanismInAssembly, failureMechanismAssemblyCalculator);
- }
- }
-
- [Test]
- [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithoutProbability))]
- public void AssembleFailureMechanismsWithoutProbability_FailureMechanismWithManualSectionAssemblyAndUseManualFalse_SetsAssemblyInputOnCalculator(AssessmentSection assessmentSection)
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // Call
- AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, false);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- Assert.AreEqual(failureMechanismSectionAssemblyCalculator.CombinedAssemblyCategoryOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- private static void AssertFailureMechanismsWithoutProbabilityManualAssemblyCalculatorInput(IFailureMechanism failureMechanism,
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator)
- {
- var duneErosion = failureMechanism as DuneErosionFailureMechanism;
- if (duneErosion != null)
- {
- Assert.AreEqual(GetFailureMechanismSectionResult(duneErosion).ManualAssemblyCategoryGroup,
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var grassCoverErosionOutwards = failureMechanism as GrassCoverErosionOutwardsFailureMechanism;
- if (grassCoverErosionOutwards != null)
- {
- Assert.AreEqual(GetFailureMechanismSectionResult(grassCoverErosionOutwards).ManualAssemblyCategoryGroup,
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var stabilityStoneCover = failureMechanism as StabilityStoneCoverFailureMechanism;
- if (stabilityStoneCover != null)
- {
- Assert.AreEqual(GetFailureMechanismSectionResult(stabilityStoneCover).ManualAssemblyCategoryGroup,
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var waveImpactAsphaltCover = failureMechanism as WaveImpactAsphaltCoverFailureMechanism;
- if (waveImpactAsphaltCover != null)
- {
- Assert.AreEqual(GetFailureMechanismSectionResult(waveImpactAsphaltCover).ManualAssemblyCategoryGroup,
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var grassCoverSlipOffInwards = failureMechanism as GrassCoverSlipOffInwardsFailureMechanism;
- if (grassCoverSlipOffInwards != null)
- {
- Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(grassCoverSlipOffInwards).ManualAssemblyCategoryGroup),
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var grassCoverSlipOffOutwards = failureMechanism as GrassCoverSlipOffOutwardsFailureMechanism;
- if (grassCoverSlipOffOutwards != null)
- {
- Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(grassCoverSlipOffOutwards).ManualAssemblyCategoryGroup),
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var pipingStructure = failureMechanism as PipingStructureFailureMechanism;
- if (pipingStructure != null)
- {
- Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(pipingStructure).ManualAssemblyCategoryGroup),
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var microStability = failureMechanism as MicrostabilityFailureMechanism;
- if (microStability != null)
- {
- Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(microStability).ManualAssemblyCategoryGroup),
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- var waterPressureAsphaltCover = failureMechanism as WaterPressureAsphaltCoverFailureMechanism;
- if (waterPressureAsphaltCover != null)
- {
- Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(waterPressureAsphaltCover).ManualAssemblyCategoryGroup),
- failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- return;
- }
-
- throw new NotSupportedException();
- }
-
- #endregion
-
- #endregion
-
#region Assemble Assessment Section
[Test]
@@ -531,237 +143,8 @@
}
}
- [Test]
- public void AssembleAssessmentSectionOld_AssessmentSectionNull_ThrowsArgumentNullException()
- {
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(null, new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Assert.AreEqual("assessmentSection", exception.ParamName);
- }
-
- [Test]
- public void AssembleAssessmentSectionOld_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly(
- random.NextDouble(), random.NextEnumValue());
- assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput = random.NextEnumValue();
-
- // Call
- AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, random.NextBoolean());
-
- // Assert
- AssertGroup1And2FailureMechanismInputs(assessmentSection,
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput,
- assessmentSectionAssemblyCalculator);
-
- AssertGroup3And4FailureMechanismInputs(assessmentSection,
- failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput.Value,
- assessmentSectionAssemblyCalculator);
-
- Assert.AreSame(assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyOutput,
- assessmentSectionAssemblyCalculator.FailureMechanismsWithProbabilityInput);
- Assert.AreEqual(assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput,
- assessmentSectionAssemblyCalculator.FailureMechanismsWithoutProbabilityInput);
- }
- }
-
- [Test]
- public void AssembleAssessmentSectionOld_AssemblyRan_ReturnsOutput()
- {
- // Setup
- var random = new Random(21);
- AssessmentSection assessmentSection = CreateAssessmentSection();
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly(
- random.NextDouble(), random.NextEnumValue());
- calculator.AssembleAssessmentSectionCategoryGroupOutput = random.NextEnumValue();
-
- // Call
- AssessmentSectionAssemblyCategoryGroup output = AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, random.NextBoolean());
-
- // Assert
- Assert.AreEqual(calculator.AssembleAssessmentSectionCategoryGroupOutput, output);
- }
- }
-
- [Test]
- public void AssembleAssessmentSectionOld_CalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual(innerException.Message, exception.Message);
- }
- }
-
- [Test]
- public void AssembleAssessmentSectionOld_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException()
- {
- // Setup
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.ThrowExceptionOnCalculate = true;
-
- // Call
- TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(CreateAssessmentSection(),
- new Random(39).NextBoolean());
-
- // Assert
- var exception = Assert.Throws(call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message);
- }
- }
-
- #region Manual Assembly Used
-
- #region With Probability
-
- [Test]
- public void GivenAssessmentSectionWithPipingConfigured_WhenAssemblingAssessmentSectionAndUseManualTrue_ThenInputSetOnCalculator()
- {
- // Given
- AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly();
- PipingFailureMechanism failureMechanism = assessmentSection.Piping;
- failureMechanism.InAssembly = true;
- FailureMechanismTestHelper.AddSections(failureMechanism, 1);
-
- PipingFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single();
- sectionResult.UseManualAssembly = true;
- double probability = new Random(39).NextDouble();
- sectionResult.ManualAssemblyProbability = probability;
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // When
- AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, true);
-
- // Then
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput);
- }
- }
-
- [Test]
- public void AssembleAssessmentSection_FailureMechanismWithProbabilityAndManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator()
- {
- // Given
- AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly();
- PipingFailureMechanism failureMechanism = assessmentSection.Piping;
- failureMechanism.InAssembly = true;
- FailureMechanismTestHelper.AddSections(failureMechanism, 1);
-
- PipingFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single();
- sectionResult.UseManualAssembly = true;
- double probability = new Random(39).NextDouble();
- sectionResult.ManualAssemblyProbability = probability;
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // When
- AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, false);
-
- // Then
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput);
- }
- }
-
#endregion
- #region Without Probability
-
- [Test]
- public void AssembleAssessmentSection_FailureMechanismWithoutProbabilityAndWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator()
- {
- // Given
- AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly();
- DuneErosionFailureMechanism failureMechanism = assessmentSection.DuneErosion;
- failureMechanism.InAssembly = true;
- FailureMechanismTestHelper.AddSections(failureMechanism, 1);
-
- DuneErosionFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single();
- sectionResult.UseManualAssembly = true;
- sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.Vv;
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // When
- AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, true);
-
- // Then
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- [Test]
- public void AssembleAssessmentSection_FailureMechanismWithoutProbabilityAndWithManualSectionAssemblyAndUseManualTrue_SetsAssemblyInputOnCalculator()
- {
- // Given
- AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly();
- DuneErosionFailureMechanism failureMechanism = assessmentSection.DuneErosion;
- failureMechanism.InAssembly = true;
- FailureMechanismTestHelper.AddSections(failureMechanism, 1);
-
- DuneErosionFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single();
- sectionResult.UseManualAssembly = true;
- sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.Vv;
-
- using (new AssemblyToolCalculatorFactoryConfigOld())
- {
- // When
- AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, false);
-
- // Then
- var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance;
- FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
- Assert.AreEqual(failureMechanismSectionAssemblyCalculator.CombinedAssemblyCategoryOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single());
- }
- }
-
- #endregion
-
- #endregion
-
- #endregion
-
#region Assemble Combined Per Failure Mechanism Section
[Test]