Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r8d9701fc88424972b9f06c3e9f28fc55d85bebd9 -rda4f6a1d33595ff3f3a057c82c33fed131c2790e
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision 8d9701fc88424972b9f06c3e9f28fc55d85bebd9)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision da4f6a1d33595ff3f3a057c82c33fed131c2790e)
@@ -71,7 +71,7 @@
}
///
- /// Assembles the detailed assessment results.
+ /// Assembles the detailed assessment result.
///
/// The failure mechanism section result to assemble the
/// detailed assembly results for.
@@ -107,7 +107,7 @@
}
///
- /// Assembles the tailor made assessment results.
+ /// Assembles the tailor made assessment result.
///
/// The failure mechanism section result to assemble the
/// tailor made assembly results for.
@@ -139,7 +139,7 @@
}
///
- /// Assembles the combined assessment results.
+ /// Assembles the combined assembly.
///
/// The failure mechanism section result to assemble the
/// combined assembly results for.
@@ -184,19 +184,22 @@
/// 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 used or ignored, regardless of
+ /// the value of .
/// A .
/// Thrown when is null.
/// Thrown when the
/// could not be created.
public static FailureMechanismSectionAssemblyCategoryGroup GetSectionAssemblyCategoryGroup(
- StabilityStoneCoverFailureMechanismSectionResult failureMechanismSectionResult)
+ StabilityStoneCoverFailureMechanismSectionResult failureMechanismSectionResult,
+ bool useManual)
{
if (failureMechanismSectionResult == null)
{
throw new ArgumentNullException(nameof(failureMechanismSectionResult));
}
- return failureMechanismSectionResult.UseManualAssemblyCategoryGroup
+ return failureMechanismSectionResult.UseManualAssemblyCategoryGroup && useManual
? failureMechanismSectionResult.ManualAssemblyCategoryGroup
: AssembleCombinedAssessment(failureMechanismSectionResult);
}
@@ -205,12 +208,15 @@
/// Assembles the failure mechanism assembly.
///
/// The failure mechanism to assemble for.
+ /// Indicator that determines whether the manual assembly should be used or ignored, regardless of
+ /// the value of .
/// A .
/// Thrown when
/// is null.
/// Thrown when the
/// could not be created.
- public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(StabilityStoneCoverFailureMechanism failureMechanism)
+ public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanism(StabilityStoneCoverFailureMechanism failureMechanism,
+ bool useManual)
{
if (failureMechanism == null)
{
@@ -225,7 +231,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/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverResultView.cs
===================================================================
diff -u -r7adc47fc72205078d054034bb9d1028c32434e28 -rda4f6a1d33595ff3f3a057c82c33fed131c2790e
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverResultView.cs (.../StabilityStoneCoverResultView.cs) (revision 7adc47fc72205078d054034bb9d1028c32434e28)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Forms/Views/StabilityStoneCoverResultView.cs (.../StabilityStoneCoverResultView.cs) (revision da4f6a1d33595ff3f3a057c82c33fed131c2790e)
@@ -138,7 +138,7 @@
protected override void UpdateAssemblyResultControl()
{
- FailureMechanismAssemblyResultControl.SetAssemblyResult(StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism));
+ FailureMechanismAssemblyResultControl.SetAssemblyResult(StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, true));
}
protected override bool HasManualAssemblyResults()
Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -rc1ad8e8431d65da2f22adeb93f9deddd9fae77e3 -rda4f6a1d33595ff3f3a057c82c33fed131c2790e
--- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision c1ad8e8431d65da2f22adeb93f9deddd9fae77e3)
+++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision da4f6a1d33595ff3f3a057c82c33fed131c2790e)
@@ -429,7 +429,8 @@
{
// Call
TestDelegate call = () => StabilityStoneCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- null);
+ null,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -449,7 +450,8 @@
// Call
StabilityStoneCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
FailureMechanismSectionAssemblyCategoryGroup expectedSimpleAssembly = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleSimpleAssessment(
@@ -475,7 +477,8 @@
{
// Call
FailureMechanismSectionAssemblyCategoryGroup categoryGroup = StabilityStoneCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
@@ -485,7 +488,7 @@
}
[Test]
- public void GetSectionAssemblyCategoryGroup_WithManualInput_ReturnsOutput()
+ public void GetSectionAssemblyCategoryGroup_WithManualInputAndUseManualTrue_ReturnsOutput()
{
// Setup
var sectionResult = new StabilityStoneCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
@@ -496,27 +499,52 @@
// Call
FailureMechanismSectionAssemblyCategoryGroup categoryGroup = StabilityStoneCoverFailureMechanismAssemblyFactory.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 StabilityStoneCoverFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
+ {
+ UseManualAssemblyCategoryGroup = true,
+ ManualAssemblyCategoryGroup = random.NextEnumValue(),
+ TailorMadeAssessmentResult = random.NextEnumValue()
+ };
+
+ // Call
+ FailureMechanismSectionAssemblyCategoryGroup categoryGroup = StabilityStoneCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
+ sectionResult,
+ false);
+
+ // Assert
+ FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ sectionResult);
+ Assert.AreEqual(expectedAssembly, categoryGroup);
+ }
+
+ [Test]
public void GetSectionAssemblyCategoryGroup_WithoutManualInputAndCalculatorThrowsException_ThrowsAssemblyException()
{
// Setup
var sectionResult = new StabilityStoneCoverFailureMechanismSectionResult(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 = () => StabilityStoneCoverFailureMechanismAssemblyFactory.GetSectionAssemblyCategoryGroup(
- sectionResult);
+ sectionResult,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
@@ -534,14 +562,39 @@
public void AssembleFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate call = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(null);
+ TestDelegate call = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(null, new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);
Assert.AreEqual("failureMechanism", exception.ParamName);
}
[Test]
+ public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator()
+ {
+ // Setup
+ var failureMechanism = new StabilityStoneCoverFailureMechanism();
+ FailureMechanismTestHelper.SetSections(failureMechanism, new[]
+ {
+ FailureMechanismSectionTestFactory.CreateFailureMechanismSection()
+ });
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
+
+ // Call
+ StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean());
+
+ // Assert
+ FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
+ StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanism.SectionResults.Single());
+ Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
+ }
+ }
+
+ [Test]
public void AssembleFailureMechanism_FailureMechanismIsNotRelevant_ReturnsNotApplicableCategory()
{
// Setup
@@ -551,39 +604,40 @@
};
// Call
- FailureMechanismAssemblyCategoryGroup category = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ FailureMechanismAssemblyCategoryGroup category = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, new Random(39).NextBoolean());
// Assert
Assert.AreEqual(FailureMechanismAssemblyResultFactory.CreateNotApplicableCategory(), category);
}
[Test]
- public void AssembleFailureMechanism_WithoutManualInput_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInputAndUseManualTrue_SetsInputOnCalculator()
{
// Setup
var failureMechanism = new StabilityStoneCoverFailureMechanism();
FailureMechanismTestHelper.SetSections(failureMechanism, new[]
{
FailureMechanismSectionTestFactory.CreateFailureMechanismSection()
});
+ StabilityStoneCoverFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
+ sectionResult.UseManualAssemblyCategoryGroup = true;
+ sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue();
using (new AssemblyToolCalculatorFactoryConfig())
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
// Call
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, true);
// Assert
- FailureMechanismSectionAssemblyCategoryGroup assemblyCategory =
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanism.SectionResults.Single());
- Assert.AreEqual(assemblyCategory, calculator.FailureMechanismSectionCategories.Single());
+ Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single());
}
}
[Test]
- public void AssembleFailureMechanism_WithManualInput_SetsInputOnCalculator()
+ public void AssembleFailureMechanism_WithManualInputAndUseManualFalse_SetsNoInputOnCalculator()
{
// Setup
var failureMechanism = new StabilityStoneCoverFailureMechanism();
@@ -593,18 +647,20 @@
});
StabilityStoneCoverFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single();
sectionResult.UseManualAssemblyCategoryGroup = true;
- sectionResult.ManualAssemblyCategoryGroup = new Random(39).NextEnumValue();
+ sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.IIv;
using (new AssemblyToolCalculatorFactoryConfig())
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
// Call
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, false);
// Assert
- Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, calculator.FailureMechanismSectionCategories.Single());
+ FailureMechanismSectionAssemblyCategoryGroup expectedAssembly = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ failureMechanism.SectionResults.Single());
+ Assert.AreEqual(expectedAssembly, calculator.FailureMechanismSectionCategories.Single());
}
}
@@ -619,7 +675,8 @@
// Call
FailureMechanismAssemblyCategoryGroup actualOutput =
- StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new StabilityStoneCoverFailureMechanism());
+ StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new StabilityStoneCoverFailureMechanism(),
+ 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 = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(new StabilityStoneCoverFailureMechanism());
+ TestDelegate call = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(
+ new StabilityStoneCoverFailureMechanism(),
+ 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 = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism);
+ TestDelegate call = () => StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism,
+ new Random(39).NextBoolean());
// Assert
var exception = Assert.Throws(call);