Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -rc2a9f7c4c0f3e7959a9213020b44c3e0af27158d -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs (.../ClosingStructuresFailureMechanismAssemblyFactory.cs) (revision c2a9f7c4c0f3e7959a9213020b44c3e0af27158d)
+++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Data/ClosingStructuresFailureMechanismAssemblyFactory.cs (.../ClosingStructuresFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,9 +20,12 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.FailureMechanism;
using Riskeer.Common.Data.Structures;
namespace Riskeer.ClosingStructures.Data
@@ -38,11 +41,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(ClosingStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(ClosingStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -54,9 +57,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs (.../ClosingStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismAssemblyFactoryTest.cs (.../ClosingStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -21,8 +21,10 @@
using System;
using System.Linq;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -109,7 +111,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new ClosingStructuresFailureMechanism
{
@@ -125,13 +126,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = ClosingStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = ClosingStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/AssemblyToolHelper.cs
===================================================================
diff -u -re0e88197c86733745f1b318931865f58882504d4 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/AssemblyToolHelper.cs (.../AssemblyToolHelper.cs) (revision e0e88197c86733745f1b318931865f58882504d4)
+++ Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/AssemblyToolHelper.cs (.../AssemblyToolHelper.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,7 +20,6 @@
// All rights reserved.
using System;
-using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.Exceptions;
using Riskeer.Common.Data.FailureMechanism;
@@ -65,51 +64,5 @@
return new DefaultFailureMechanismSectionAssemblyResult();
}
}
-
- ///
- /// Assembles the failure mechanism.
- ///
- /// The failure mechanism to assemble.
- /// The to perform the failure mechanism section assembly.
- /// The n value of the .
- /// Indicator whether the failure mechanism section length effect is applied.
- /// The type of section result.
- /// The failure mechanism probability.
- /// Thrown when
- /// or is null.
- /// Thrown when the failure mechanism could not be successfully assembled.
- public static double AssemblyFailureMechanism(
- IFailureMechanism failureMechanism,
- Func performSectionAssemblyFunc,
- double failureMechanismN, bool applyLengthEffect)
- where TSectionResult : FailureMechanismSectionResult
- {
- if (failureMechanism == null)
- {
- throw new ArgumentNullException(nameof(failureMechanism));
- }
-
- if (performSectionAssemblyFunc == null)
- {
- throw new ArgumentNullException(nameof(performSectionAssemblyFunc));
- }
-
- if (!failureMechanism.InAssembly)
- {
- return double.NaN;
- }
-
- FailureMechanismAssemblyResult assemblyResult = failureMechanism.AssemblyResult;
- if (assemblyResult.ProbabilityResultType == FailureMechanismAssemblyProbabilityResultType.Manual)
- {
- return assemblyResult.ManualFailureMechanismAssemblyProbability;
- }
-
- return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
- failureMechanismN, failureMechanism.SectionResults.Select(sr => AssembleFailureMechanismSection(
- sr, performSectionAssemblyFunc))
- .ToArray(),
- applyLengthEffect);
- }
}
}
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/AssemblyToolHelperTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/AssemblyToolHelperTest.cs (.../AssemblyToolHelperTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/AssemblyToolHelperTest.cs (.../AssemblyToolHelperTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,17 +20,9 @@
// All rights reserved.
using System;
-using System.Linq;
-using Core.Common.Base;
using Core.Common.TestUtil;
using NUnit.Framework;
-using Rhino.Mocks;
using Riskeer.AssemblyTool.Data;
-using Riskeer.AssemblyTool.Data.TestUtil;
-using Riskeer.AssemblyTool.KernelWrapper.Calculators;
-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.Exceptions;
using Riskeer.Common.Data.FailureMechanism;
@@ -99,262 +91,5 @@
// Assert
Assert.IsInstanceOf(assemblyResult);
}
-
- [Test]
- public void AssembleFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException()
- {
- // Call
- void Call() => AssemblyToolHelper.AssemblyFailureMechanism(
- null, sr => null, double.NaN, false);
-
- // Assert
- var exception = Assert.Throws(Call);
- Assert.AreEqual("failureMechanism", exception.ParamName);
- }
-
- [Test]
- public void AssembleFailureMechanism_PerformSectionAssemblyFuncNull_ThrowsArgumentNullException()
- {
- // Setup
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- mocks.ReplayAll();
-
- // Call
- void Call() => AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, null, double.NaN, false);
-
- // Assert
- var exception = Assert.Throws(Call);
- Assert.AreEqual("performSectionAssemblyFunc", exception.ParamName);
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyFalse_ReturnsNaN()
- {
- // Setup
- var random = new Random(21);
-
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = false;
-
- // Call
- double assemblyResult = AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => null, random.NextDouble(), random.NextBoolean());
-
- // Assert
- Assert.IsNaN(assemblyResult);
- mocks.VerifyAll();
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyAndProbabilityResultTypeManual_ReturnsExpectedAssemblyResult()
- {
- // Setup
- var random = new Random(21);
- double expectedAssemblyResult = random.NextDouble();
-
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- failureMechanism.Stub(fp => fp.AssemblyResult)
- .Return(new FailureMechanismAssemblyResult
- {
- ProbabilityResultType = FailureMechanismAssemblyProbabilityResultType.Manual,
- ManualFailureMechanismAssemblyProbability = expectedAssemblyResult
- });
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = true;
-
- // Call
- double assemblyResult = AssemblyToolHelper.AssemblyFailureMechanism(failureMechanism, sr => null, double.NaN, random.NextBoolean());
-
- // Assert
- Assert.AreEqual(expectedAssemblyResult, assemblyResult);
- mocks.VerifyAll();
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyAndProbabilityResultTypeAutomatic_InputCorrectlySetOnCalculator()
- {
- // Setup
- var random = new Random(21);
- double failureMechanismN = random.NextDouble();
- bool applyLenghtEffect = random.NextBoolean();
-
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- failureMechanism.Stub(fp => fp.AssemblyResult)
- .Return(new FailureMechanismAssemblyResult
- {
- ProbabilityResultType = FailureMechanismAssemblyProbabilityResultType.Automatic,
- ManualFailureMechanismAssemblyProbability = double.NaN
- });
- failureMechanism.Stub(fp => fp.SectionResults)
- .Return(new ObservableList
- {
- new TestFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- });
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = true;
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var failureMechanismSectionAssemblyResult = new FailureMechanismSectionAssemblyResult(
- random.NextDouble(), random.NextDouble(), random.NextDouble(),
- random.NextEnumValue());
-
- // Call
- AssemblyToolHelper.AssemblyFailureMechanism(failureMechanism, sr => new FailureMechanismSectionAssemblyResultWrapper(
- failureMechanismSectionAssemblyResult, random.NextEnumValue(),
- random.NextEnumValue()),
- failureMechanismN, applyLenghtEffect);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- CollectionAssert.AreEqual(new[]
- {
- failureMechanismSectionAssemblyResult
- }, failureMechanismAssemblyCalculator.SectionAssemblyResultsInput);
- Assert.AreEqual(failureMechanismN, failureMechanismAssemblyCalculator.FailureMechanismN);
- Assert.AreEqual(applyLenghtEffect, failureMechanismAssemblyCalculator.ApplyLengthEffect);
- }
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyAndProbabilityResultTypeAutomaticAndFailureMechanismSectionAssemblyThrowsException_InputCorrectlySetOnCalculator()
- {
- // Setup
- var random = new Random(21);
- double failureMechanismN = random.NextDouble();
- bool applyLenghtEffect = random.NextBoolean();
-
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- failureMechanism.Stub(fp => fp.AssemblyResult)
- .Return(new FailureMechanismAssemblyResult
- {
- ProbabilityResultType = FailureMechanismAssemblyProbabilityResultType.Automatic,
- ManualFailureMechanismAssemblyProbability = double.NaN
- });
- failureMechanism.Stub(fp => fp.SectionResults)
- .Return(new ObservableList
- {
- new TestFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- });
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = true;
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- // Call
- AssemblyToolHelper.AssemblyFailureMechanism(failureMechanism, sr => throw new AssemblyException(),
- failureMechanismN, applyLenghtEffect);
-
- // Assert
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
-
- Assert.AreEqual(1, failureMechanismAssemblyCalculator.SectionAssemblyResultsInput.Count());
- Assert.IsInstanceOf(failureMechanismAssemblyCalculator.SectionAssemblyResultsInput.First());
- Assert.AreEqual(failureMechanismN, failureMechanismAssemblyCalculator.FailureMechanismN);
- Assert.AreEqual(applyLenghtEffect, failureMechanismAssemblyCalculator.ApplyLengthEffect);
- }
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyAndProbabilityResultTypeAutomatic_ReturnsExpectedAssemblyResult()
- {
- // Setup
- var random = new Random(21);
- double expectedAssemblyResult = random.NextDouble();
-
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- failureMechanism.Stub(fp => fp.AssemblyResult)
- .Return(new FailureMechanismAssemblyResult
- {
- ProbabilityResultType = FailureMechanismAssemblyProbabilityResultType.Automatic,
- ManualFailureMechanismAssemblyProbability = double.NaN
- });
- failureMechanism.Stub(fp => fp.SectionResults)
- .Return(new ObservableList
- {
- new TestFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- });
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = true;
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- failureMechanismAssemblyCalculator.AssemblyResultOutput = expectedAssemblyResult;
-
- // Call
- double assemblyResult = AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => FailureMechanismSectionAssemblyResultWrapperTestFactory.Create(),
- double.NaN, random.NextBoolean());
-
- // Assert
- Assert.AreEqual(expectedAssemblyResult, assemblyResult);
- }
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AssembleFailureMechanism_WithFailureMechanismInAssemblyAndProbabilityResultTypeAutomaticAndFailureMechanismAssemblyThrowsException_ThrowsAssemblyException()
- {
- // Setup
- var mocks = new MockRepository();
- var failureMechanism = mocks.Stub>();
- failureMechanism.Stub(fp => fp.AssemblyResult)
- .Return(new FailureMechanismAssemblyResult
- {
- ProbabilityResultType = FailureMechanismAssemblyProbabilityResultType.Automatic,
- ManualFailureMechanismAssemblyProbability = double.NaN
- });
- failureMechanism.Stub(fp => fp.SectionResults)
- .Return(new ObservableList
- {
- new TestFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection())
- });
- mocks.ReplayAll();
-
- failureMechanism.InAssembly = true;
-
- using (new AssemblyToolCalculatorFactoryConfig())
- {
- var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
- FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- failureMechanismAssemblyCalculator.ThrowExceptionOnCalculate = true;
-
- // Call
- void Call() => AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => FailureMechanismSectionAssemblyResultWrapperTestFactory.Create(),
- double.NaN, false);
-
- // Assert
- var exception = Assert.Throws(Call);
- Exception innerException = exception.InnerException;
- Assert.IsInstanceOf(innerException);
- Assert.AreEqual(innerException.Message, exception.Message);
- }
-
- mocks.VerifyAll();
- }
}
}
\ No newline at end of file
Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r435fdcbbc57f38e7ac960ae201824e48aca9bc21 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision 435fdcbbc57f38e7ac960ae201824e48aca9bc21)
+++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Data/DuneErosionFailureMechanismAssemblyFactory.cs (.../DuneErosionFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,9 +20,12 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.FailureMechanism;
namespace Riskeer.DuneErosion.Data
{
@@ -37,11 +40,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(DuneErosionFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(DuneErosionFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -53,9 +56,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => FailureMechanismSectionAssemblyResultFactory.AssembleSection(sr, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ FailureMechanismSectionAssemblyResultFactory.AssembleSection(sr, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Data.Test/DuneErosionFailureMechanismAssemblyFactoryTest.cs (.../DuneErosionFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -21,8 +21,10 @@
using System;
using System.Linq;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -109,7 +111,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new DuneErosionFailureMechanism
{
@@ -125,13 +126,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = DuneErosionFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -78,11 +78,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(GrassCoverErosionInwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(GrassCoverErosionInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -94,9 +94,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -113,7 +113,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism
{
@@ -129,13 +128,15 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(
+ failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
@@ -70,11 +71,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(GrassCoverErosionOutwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(GrassCoverErosionOutwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -86,9 +87,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs (.../GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -271,7 +271,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism
{
@@ -287,13 +286,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = GrassCoverErosionOutwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r435fdcbbc57f38e7ac960ae201824e48aca9bc21 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision 435fdcbbc57f38e7ac960ae201824e48aca9bc21)
+++ Riskeer/HeightStructures/src/Riskeer.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,9 +20,12 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.FailureMechanism;
using Riskeer.Common.Data.Structures;
namespace Riskeer.HeightStructures.Data
@@ -38,11 +41,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(HeightStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(HeightStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -54,9 +57,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/HeightStructures/test/Riskeer.HeightStructures.Data.Test/HeightStructuresFailureMechanismAssemblyFactoryTest.cs (.../HeightStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -21,8 +21,10 @@
using System;
using System.Linq;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -109,7 +111,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new HeightStructuresFailureMechanism
{
@@ -125,13 +126,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = HeightStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = HeightStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs (.../FailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs (.../FailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
@@ -71,12 +72,12 @@
/// The failure mechanism to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// The type of failure mechanism to assemble.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism cannot be assembled.
- public static double AssembleFailureMechanism(TFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(TFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
where TFailureMechanism : IHasGeneralInput, IFailureMechanism
{
if (failureMechanism == null)
@@ -89,9 +90,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r435fdcbbc57f38e7ac960ae201824e48aca9bc21 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs (.../PipingStructureFailureMechanismAssemblyFactory.cs) (revision 435fdcbbc57f38e7ac960ae201824e48aca9bc21)
+++ Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactory.cs (.../PipingStructureFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,9 +20,12 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.FailureMechanism;
namespace Riskeer.Integration.Data.StandAlone.AssemblyFactories
{
@@ -37,10 +40,10 @@
/// The failure mechanism to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism cannot be assembled.
- public static double AssembleFailureMechanism(PipingStructureFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(PipingStructureFailureMechanism failureMechanism, IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -52,9 +55,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => FailureMechanismSectionAssemblyResultFactory.AssembleSection(sr, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ FailureMechanismSectionAssemblyResultFactory.AssembleSection(sr, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs (.../FailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs (.../FailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -283,7 +283,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new TestFailureMechanism
{
@@ -299,13 +298,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = FailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = FailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs (.../PipingStructureFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/PipingStructureFailureMechanismAssemblyFactoryTest.cs (.../PipingStructureFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -21,8 +21,10 @@
using System;
using System.Linq;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -111,7 +113,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new PipingStructureFailureMechanism
{
@@ -127,13 +128,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = PipingStructureFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = PipingStructureFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -80,11 +80,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(MacroStabilityInwardsFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(MacroStabilityInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -96,10 +96,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN(assessmentSection.ReferenceLine.Length),
- failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -278,7 +278,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new MacroStabilityInwardsFailureMechanism
{
@@ -294,13 +293,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/Piping/src/Riskeer.Piping.Data/PipingFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Piping/src/Riskeer.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/Piping/src/Riskeer.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
@@ -78,11 +79,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(PipingFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(PipingFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -94,10 +95,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
failureMechanism.PipingProbabilityAssessmentInput.GetN(assessmentSection.ReferenceLine.Length),
- failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs (.../PipingFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingFailureMechanismAssemblyFactoryTest.cs (.../PipingFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -285,7 +285,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new PipingFailureMechanism
{
@@ -301,13 +300,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r435fdcbbc57f38e7ac960ae201824e48aca9bc21 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactory.cs) (revision 435fdcbbc57f38e7ac960ae201824e48aca9bc21)
+++ Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanismAssemblyFactory.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,9 +20,12 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
using Riskeer.Common.Data.Exceptions;
+using Riskeer.Common.Data.FailureMechanism;
using Riskeer.Common.Data.Structures;
namespace Riskeer.StabilityPointStructures.Data
@@ -38,11 +41,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(StabilityPointStructuresFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(StabilityPointStructuresFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -54,9 +57,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs (.../StabilityPointStructuresFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -21,8 +21,10 @@
using System;
using System.Linq;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.KernelWrapper.Calculators;
using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly;
using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
@@ -109,7 +111,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new StabilityPointStructuresFailureMechanism
{
@@ -125,13 +126,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = StabilityPointStructuresFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
@@ -70,11 +71,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(StabilityStoneCoverFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(StabilityStoneCoverFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -86,9 +87,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
- failureMechanism.GeneralInput.N, failureMechanism.GeneralInput.ApplyLengthEffectInSection);
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
+ failureMechanism.GeneralInput.N,
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Data.Test/StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs (.../StabilityStoneCoverFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -271,7 +271,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new StabilityStoneCoverFailureMechanism
{
@@ -287,13 +286,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = StabilityStoneCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreEqual(calculator.AssemblyResultOutput, result);
}
}
Index: Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs
===================================================================
diff -u -r12cfec70e267d72e576a11552690ae71064d487c -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision 12cfec70e267d72e576a11552690ae71064d487c)
+++ Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Riskeer.AssemblyTool.Data;
using Riskeer.Common.Data.AssemblyTool;
using Riskeer.Common.Data.AssessmentSection;
@@ -70,11 +71,11 @@
/// The to assemble.
/// The the
/// belongs to.
- /// A representing the assembly result.
+ /// A with the assembly result.
/// Thrown when any argument is null.
/// Thrown when the failure mechanism could not be assembled.
- public static double AssembleFailureMechanism(WaveImpactAsphaltCoverFailureMechanism failureMechanism,
- IAssessmentSection assessmentSection)
+ public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(WaveImpactAsphaltCoverFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
if (failureMechanism == null)
{
@@ -86,10 +87,15 @@
throw new ArgumentNullException(nameof(assessmentSection));
}
- return AssemblyToolHelper.AssemblyFailureMechanism(
- failureMechanism, sr => AssembleSection(sr, failureMechanism, assessmentSection),
+ Func performSectionAssemblyFunc = sr =>
+ AssembleSection(sr, failureMechanism, assessmentSection);
+
+ return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism(
failureMechanism.GeneralWaveImpactAsphaltCoverInput.GetN(assessmentSection.ReferenceLine.Length),
- failureMechanism.GeneralWaveImpactAsphaltCoverInput.ApplyLengthEffectInSection);
+ failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc))
+ .ToArray(),
+ failureMechanism.GeneralWaveImpactAsphaltCoverInput.ApplyLengthEffectInSection,
+ failureMechanism.AssemblyResult);
}
}
}
\ No newline at end of file
Index: Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs
===================================================================
diff -u -r595a82333f00c0752b613eb745a33879b23cd8c8 -r084b5f4e5d401fcf4c37fdc9ac139b0201db0215
--- Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision 595a82333f00c0752b613eb745a33879b23cd8c8)
+++ Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Data.Test/WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs (.../WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryTest.cs) (revision 084b5f4e5d401fcf4c37fdc9ac139b0201db0215)
@@ -272,7 +272,6 @@
{
// Setup
var random = new Random(21);
- double assemblyOutput = random.NextDouble();
var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism
{
@@ -288,13 +287,14 @@
{
var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
FailureMechanismAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator;
- calculator.AssemblyResultOutput = assemblyOutput;
+ calculator.AssemblyResultOutput = new FailureMechanismAssemblyResultWrapper(
+ random.NextDouble(), random.NextEnumValue());
// Call
- double result = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
+ FailureMechanismAssemblyResultWrapper result = WaveImpactAsphaltCoverFailureMechanismAssemblyFactory.AssembleFailureMechanism(failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(assemblyOutput, result);
+ Assert.AreSame(calculator.AssemblyResultOutput, result);
}
}