Index: Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -re7f074df2c06a1c0b7d628f75dd87f0552d11e08 -reeb9df26ec9ddb16249a6b4488df1d79fffdaf8e
--- Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision e7f074df2c06a1c0b7d628f75dd87f0552d11e08)
+++ Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision eeb9df26ec9ddb16249a6b4488df1d79fffdaf8e)
@@ -29,6 +29,7 @@
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.Structures;
using Riskeer.Common.Primitives;
using RiskeerCommonDataResources = Riskeer.Common.Data.Properties.Resources;
@@ -76,6 +77,7 @@
///
/// The failure mechanism section result to
/// assemble the detailed assembly for.
+ /// The calculation scenarios belonging to this section.
/// The failure mechanism this section belongs to.
/// The this section belongs to.
/// A .
@@ -84,6 +86,7 @@
/// could not be created.
public static FailureMechanismSectionAssembly AssembleDetailedAssessment(
HeightStructuresFailureMechanismSectionResult failureMechanismSectionResult,
+ IEnumerable> calculationScenarios,
HeightStructuresFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
@@ -92,6 +95,11 @@
throw new ArgumentNullException(nameof(failureMechanismSectionResult));
}
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
if (failureMechanism == null)
{
throw new ArgumentNullException(nameof(failureMechanism));
@@ -172,6 +180,7 @@
///
/// The failure mechanism section result to
/// combine the assemblies for.
+ /// The calculation scenarios belonging to this section.
/// The failure mechanism this section belongs to.
/// The this section belongs to.
/// A .
@@ -180,6 +189,7 @@
/// could not be created.
public static FailureMechanismSectionAssembly AssembleCombinedAssessment(
HeightStructuresFailureMechanismSectionResult failureMechanismSectionResult,
+ IEnumerable> calculationScenarios,
HeightStructuresFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
{
@@ -188,6 +198,11 @@
throw new ArgumentNullException(nameof(failureMechanismSectionResult));
}
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
if (failureMechanism == null)
{
throw new ArgumentNullException(nameof(failureMechanism));
@@ -214,7 +229,7 @@
return calculator.AssembleCombined(
simpleAssembly,
- AssembleDetailedAssessment(failureMechanismSectionResult, failureMechanism, assessmentSection),
+ AssembleDetailedAssessment(failureMechanismSectionResult, calculationScenarios, failureMechanism, assessmentSection),
AssembleTailorMadeAssessment(failureMechanismSectionResult, failureMechanism, assessmentSection));
}
catch (FailureMechanismSectionAssemblyCalculatorException e)
@@ -334,6 +349,7 @@
else
{
sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection);
}
Index: Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Factories/HeightStructuresAssemblyMapDataFeaturesFactory.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -reeb9df26ec9ddb16249a6b4488df1d79fffdaf8e
--- Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Factories/HeightStructuresAssemblyMapDataFeaturesFactory.cs (.../HeightStructuresAssemblyMapDataFeaturesFactory.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Factories/HeightStructuresAssemblyMapDataFeaturesFactory.cs (.../HeightStructuresAssemblyMapDataFeaturesFactory.cs) (revision eeb9df26ec9ddb16249a6b4488df1d79fffdaf8e)
@@ -21,8 +21,10 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Core.Components.Gis.Features;
using Riskeer.Common.Data.AssessmentSection;
+using Riskeer.Common.Data.Structures;
using Riskeer.Common.Forms.Factories;
using Riskeer.HeightStructures.Data;
@@ -78,6 +80,7 @@
failureMechanism,
sectionResult => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
sectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection));
}
@@ -133,6 +136,7 @@
failureMechanism,
sectionResult => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
sectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection));
}
Index: Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Views/HeightStructuresFailureMechanismSectionResultRow.cs
===================================================================
diff -u -r52690294f687517a9367ec30bc6fcd44bb18d9fe -reeb9df26ec9ddb16249a6b4488df1d79fffdaf8e
--- Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Views/HeightStructuresFailureMechanismSectionResultRow.cs (.../HeightStructuresFailureMechanismSectionResultRow.cs) (revision 52690294f687517a9367ec30bc6fcd44bb18d9fe)
+++ Riskeer/HeightStructures/src/Riskeer.HeightStructures.Forms/Views/HeightStructuresFailureMechanismSectionResultRow.cs (.../HeightStructuresFailureMechanismSectionResultRow.cs) (revision eeb9df26ec9ddb16249a6b4488df1d79fffdaf8e)
@@ -22,6 +22,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Linq;
using Core.Common.Controls.DataGrid;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssessmentSection;
@@ -324,6 +325,7 @@
{
detailedAssemblyCategoryGroup = HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
SectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection).Group;
}
@@ -357,6 +359,7 @@
FailureMechanismSectionAssembly combinedAssembly =
HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
SectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection);
Index: Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -re7f074df2c06a1c0b7d628f75dd87f0552d11e08 -reeb9df26ec9ddb16249a6b4488df1d79fffdaf8e
--- Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision e7f074df2c06a1c0b7d628f75dd87f0552d11e08)
+++ Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision eeb9df26ec9ddb16249a6b4488df1d79fffdaf8e)
@@ -34,6 +34,7 @@
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
using Riskeer.Common.Data.FailureMechanism;
+using Riskeer.Common.Data.Structures;
using Riskeer.Common.Data.TestUtil;
using Riskeer.Common.Primitives;
@@ -148,18 +149,36 @@
mocks.ReplayAll();
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- null,
- new HeightStructuresFailureMechanism(),
- assessmentSection);
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ null, Enumerable.Empty>(),
+ new HeightStructuresFailureMechanism(), assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("failureMechanismSectionResult", exception.ParamName);
mocks.VerifyAll();
}
[Test]
+ public void AssembleDetailedAssessment_CalculationScenariosNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ null, new HeightStructuresFailureMechanism(), assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("calculationScenarios", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
public void AssembleDetailedAssessment_FailureMechanismNull_ThrowsArgumentNullException()
{
// Setup
@@ -168,13 +187,12 @@
mocks.ReplayAll();
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
- null,
- assessmentSection);
+ Enumerable.Empty>(), null, assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("failureMechanism", exception.ParamName);
mocks.VerifyAll();
}
@@ -183,13 +201,12 @@
public void AssembleDetailedAssessment_AssessmentSectionNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
- new HeightStructuresFailureMechanism(),
- null);
+ Enumerable.Empty>(), new HeightStructuresFailureMechanism(), null);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("assessmentSection", exception.ParamName);
}
@@ -215,9 +232,8 @@
// Call
HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(failureMechanism, assessmentSection),
@@ -248,9 +264,8 @@
// Call
FailureMechanismSectionAssembly actualOutput =
HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
FailureMechanismSectionAssembly calculatorOutput = calculator.DetailedAssessmentAssemblyOutput;
@@ -278,13 +293,12 @@
calculator.ThrowExceptionOnCalculate = true;
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Exception innerException = exception.InnerException;
Assert.IsInstanceOf(innerException);
Assert.AreEqual(innerException.Message, exception.Message);
@@ -458,18 +472,36 @@
mocks.ReplayAll();
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- null,
- new HeightStructuresFailureMechanism(),
- assessmentSection);
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ null, Enumerable.Empty>(),
+ new HeightStructuresFailureMechanism(), assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("failureMechanismSectionResult", exception.ParamName);
mocks.VerifyAll();
}
[Test]
+ public void AssembleCombinedAssessment_CalculationScenariosNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
+ null, new HeightStructuresFailureMechanism(), assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("calculationScenarios", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
public void AssembleCombinedAssessment_FailureMechanismNull_ThrowsArgumentNullException()
{
// Setup
@@ -478,13 +510,12 @@
mocks.ReplayAll();
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
- null,
- assessmentSection);
+ Enumerable.Empty>(), null, assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("failureMechanism", exception.ParamName);
mocks.VerifyAll();
}
@@ -493,13 +524,12 @@
public void AssembleCombinedAssessment_AssessmentSectionNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
new HeightStructuresFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()),
- new HeightStructuresFailureMechanism(),
- null);
+ Enumerable.Empty>(), new HeightStructuresFailureMechanism(), null);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("assessmentSection", exception.ParamName);
}
@@ -527,9 +557,8 @@
// Call
HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
AssemblyToolTestHelper.AssertAreEqual(calculator.SimpleAssessmentAssemblyOutput, calculator.CombinedSimpleAssemblyInput);
@@ -564,9 +593,8 @@
// Call
HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
AssemblyToolTestHelper.AssertAreEqual(calculator.SimpleAssessmentAssemblyOutput, calculator.CombinedSimpleAssemblyInput);
@@ -596,9 +624,8 @@
// Call
FailureMechanismSectionAssembly actualOutput =
HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
Assert.AreSame(calculator.CombinedAssemblyOutput, actualOutput);
@@ -625,13 +652,12 @@
calculator.ThrowExceptionOnCalculateCombinedAssembly = true;
// Call
- TestDelegate call = () => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
- sectionResult,
- failureMechanism,
- assessmentSection);
+ void Call() => HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(
+ sectionResult, Enumerable.Empty>(),
+ failureMechanism, assessmentSection);
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Exception innerException = exception.InnerException;
Assert.IsInstanceOf(innerException);
Assert.AreEqual(innerException.Message, exception.Message);
Index: Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableHeightStructuresFailureMechanismFactory.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -reeb9df26ec9ddb16249a6b4488df1d79fffdaf8e
--- Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableHeightStructuresFailureMechanismFactory.cs (.../ExportableHeightStructuresFailureMechanismFactory.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/Integration/src/Riskeer.Integration.IO/Factories/ExportableHeightStructuresFailureMechanismFactory.cs (.../ExportableHeightStructuresFailureMechanismFactory.cs) (revision eeb9df26ec9ddb16249a6b4488df1d79fffdaf8e)
@@ -21,9 +21,11 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.Structures;
using Riskeer.HeightStructures.Data;
using Riskeer.Integration.IO.Assembly;
using Riskeer.Integration.IO.Helpers;
@@ -108,6 +110,7 @@
HeightStructuresFailureMechanismAssemblyFactory.AssembleSimpleAssessment(failureMechanismSectionResult);
FailureMechanismSectionAssembly detailedAssembly =
HeightStructuresFailureMechanismAssemblyFactory.AssembleDetailedAssessment(failureMechanismSectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection);
FailureMechanismSectionAssembly tailorMadeAssembly =
@@ -116,6 +119,7 @@
assessmentSection);
FailureMechanismSectionAssembly combinedAssembly =
HeightStructuresFailureMechanismAssemblyFactory.AssembleCombinedAssessment(failureMechanismSectionResult,
+ failureMechanism.Calculations.Cast>(),
failureMechanism,
assessmentSection);