Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r8554c8723c3d665efd0a9d5e0ea48e7494ee680d -r63e0ee80a5f8d6352ff172c693df3dc749b2828d
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision 8554c8723c3d665efd0a9d5e0ea48e7494ee680d)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision 63e0ee80a5f8d6352ff172c693df3dc749b2828d)
@@ -183,19 +183,21 @@
/// Gets the assembly category group of the given .
///
/// The failure mechanism section result to get the assembly category group for.
+ /// Indicator that determines whether the manual assembly should be considered when assembling the result.
/// A .
/// Thrown when is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismSectionAssemblyCategoryGroup GetSectionAssemblyCategoryGroup(
- DuneErosionFailureMechanismSectionResult failureMechanismSectionResult)
+ DuneErosionFailureMechanismSectionResult failureMechanismSectionResult,
+ bool useManual)
{
if (failureMechanismSectionResult == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResult));
}
- return failureMechanismSectionResult.UseManualAssemblyCategoryGroup
+ return failureMechanismSectionResult.UseManualAssemblyCategoryGroup && useManual
? failureMechanismSectionResult.ManualAssemblyCategoryGroup
: AssembleCombinedAssessment(failureMechanismSectionResult);
}
@@ -204,12 +206,14 @@
/// Assembles the failure mechanism assembly.
///
/// The failure mechanism to assemble for.
+ /// Indicator that determines whether the manual assembly should be considered when assembling the result.
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
- public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(DuneErosionFailureMechanism failureMechanism)
+ public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(DuneErosionFailureMechanism failureMechanism,
+ bool useManual)
{
if (failureMechanism == null)
{
@@ -224,7 +228,7 @@
try
{
IEnumerable sectionAssemblies =
- failureMechanism.SectionResults.Select(GetSectionAssemblyCategoryGroup).ToArray();
+ failureMechanism.SectionResults.Select(result => GetSectionAssemblyCategoryGroup(result, useManual)).ToArray();
IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
IFailureMechanismAssemblyCalculator calculator =
Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismResultView.cs
===================================================================
diff -u -r7adc47fc72205078d054034bb9d1028c32434e28 -r63e0ee80a5f8d6352ff172c693df3dc749b2828d
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismResultView.cs (.../DuneErosionFailureMechanismResultView.cs) (revision 7adc47fc72205078d054034bb9d1028c32434e28)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Views/DuneErosionFailureMechanismResultView.cs (.../DuneErosionFailureMechanismResultView.cs) (revision 63e0ee80a5f8d6352ff172c693df3dc749b2828d)
@@ -140,7 +140,7 @@
protected override void UpdateAssemblyResultControl()
{
- FailureMechanismAssemblyResultControl.SetAssemblyResult(DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism));
+ FailureMechanismAssemblyResultControl.SetAssemblyResult(DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, true));
}
protected override bool HasManualAssemblyResults()
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rc1ad8e8431d65da2f22adeb93f9deddd9fae77e3 -r63e0ee80a5f8d6352ff172c693df3dc749b2828d
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision c1ad8e8431d65da2f22adeb93f9deddd9fae77e3)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision 63e0ee80a5f8d6352ff172c693df3dc749b2828d)
@@ -65,8 +65,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
DuneErosionFailureMechanismAssemblyFactory.AssembleSimpleAssessment(sectionResult);
@@ -85,8 +85,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
FailureMechanismSectionAssemblyCategoryGroup actualOutput =
@@ -106,8 +106,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculate = true;
// Call
@@ -153,8 +153,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
DuneErosionFailureMechanismAssemblyFactory.AssembleDetailedAssessment(sectionResult);
@@ -177,8 +177,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
FailureMechanismSectionAssemblyCategoryGroup actualOutput =
@@ -198,8 +198,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculate = true;
// Call
@@ -241,8 +241,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
DuneErosionFailureMechanismAssemblyFactory.AssembleTailorMadeAssessment(sectionResult);
@@ -261,8 +261,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
// Call
FailureMechanismSectionAssemblyCategoryGroup actualOutput =
@@ -282,8 +282,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculate = true;
// Call
@@ -404,8 +404,8 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculateCombinedAssembly = true;
// Call
@@ -429,7 +429,8 @@
{
// Call
TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- null);
+ null,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -449,7 +450,8 @@
// Call
DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
FailureMechanismSectionAssemblyCategoryGroup expectedSimpleAssembly = DuneErosionFailureMechanismAssemblyFactory.AssembleSimpleAssessment(
@@ -475,7 +477,8 @@
{
// Call
FailureMechanismSectionAssemblyCategoryGroup categoryGroup = DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = DuneErosionFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
@@ -485,7 +488,7 @@
}
[Test]
- public void GetSectionAssemblyCategoryGroup_WithManualInput_ReturnsOutput()
+ public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualTrue_ReturnsOutput()
{
// Setup
var sectionResult = new DuneErosionFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
@@ -496,27 +499,52 @@
// Call
FailureMechanismSectionAssemblyCategoryGroup categoryGroup = DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ true);
// Assert
Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, categoryGroup);
}
[Test]
+ public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualFalse_ReturnsOutput()
+ {
+ // Setup
+ var random = new Random(39);
+ var sectionResult = new DuneErosionFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ UseManualAssemblyCategoryGroup = true,
+ ManualAssemblyCategoryGroup = random.NextEnumValue(),
+ TailorMadeAssessmentResult = random.NextEnumValue()
+ };
+
+ // Call
+ FailureMechanismSectionAssemblyCategoryGroup categoryGroup = DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
+ sectionResult,
+ false);
+
+ // Assert
+ FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = DuneErosionFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ sectionResult);
+ Assert.AreEqual(expectedAssembly, categoryGroup);
+ }
+
+ [Test]
public void GetSectionAssemblyCategoryGroup_WithoutManualInputAndCalculatorThrowsException_ThrowsAssemblyException()
{
// Setup
var sectionResult = new DuneErosionFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculateCombinedAssembly = true;
// Call
TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -534,7 +562,7 @@
public void AssembleFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(null);
+ TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(null, new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -557,7 +585,7 @@
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
// Call
- DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean());
// Assert
FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
@@ -576,14 +604,14 @@
};
// Call
- FailureMechanismAssemblyCategoryGroup category = DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ FailureMechanismAssemblyCategoryGroup category = DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean());
// Assert
Assert.AreEqual(FailureMechanismAssemblyResultFactory.CreateNotApplicableCategory(), category);
}
[Test]
- public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInputAndUseManualTrue_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new DuneErosionFailureMechanism();
@@ -601,14 +629,42 @@
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
// Call
- DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, true);
// Assert
Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single());
}
}
[Test]
+ public void AssembleFailureMechanism_WithManualInputAndUseManualFalse_SetsNoInputOnCalculator()
+ {
+ // Setup
+ var failureMechanism = new DuneErosionFailureMechanism();
+ FailureMechanismTestHelper.SetSections(failureMechanism, new[]
+ {
+ FailureMechanismSectionTestFactory.CreateFailureMechanismSection()
+ });
+ DuneErosionFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
+ sectionResult.UseManualAssemblyCategoryGroup = true;
+ sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.IIv;
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
+
+ // Call
+ DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, false);
+
+ // Assert
+ FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = DuneErosionFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ failureMechanism.SectionResults.Single());
+ Assert.AreEqual(expectedAssembly, calculator.FailureMechanismSectionCategories.Single());
+ }
+ }
+
+ [Test]
public void AssembleFailureMechanism_AssemblyRan_ReturnsOutput()
{
// Setup
@@ -619,7 +675,8 @@
// Call
FailureMechanismAssemblyCategoryGroup actualOutput =
- DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(new DuneErosionFailureMechanism());
+ DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(new DuneErosionFailureMechanism(),
+ new Random(39).NextBoolean());
// Assert
Assert.AreEqual(calculator.FailureMechanismAssemblyCategoryGroupOutput, actualOutput);
@@ -632,12 +689,14 @@
// Setup
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
calculator.ThrowExceptionOnCalculate = true;
// Call
- TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(new DuneErosionFailureMechanism());
+ TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(
+ new DuneErosionFailureMechanism(),
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -659,12 +718,13 @@
using (new AssemblyToolCalculatorFactoryConfig())
{
- var calculatorfactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorfactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator;
calculator.ThrowExceptionOnCalculate = true;
// Call
- TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ TestDelegate call = () => DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);