Fisheye: Tag b0ed2483777a856479818b03fa5d5250abd64f99 refers to a dead (removed) revision in file `Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/AssemblyToolGroupBoundariesFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactory.cs
===================================================================
diff -u
--- Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactory.cs (revision 0)
+++ Riskeer/Common/src/Riskeer.Common.Data/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactory.cs (revision b0ed2483777a856479818b03fa5d5250abd64f99)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories;
+using Riskeer.AssemblyTool.KernelWrapper.Kernels;
+using Riskeer.Common.Data.Exceptions;
+
+namespace Riskeer.Common.Data.AssemblyTool
+{
+ ///
+ /// Factory for calculating the failure mechanism section assembly group boundaries.
+ ///
+ public static class FailureMechanismSectionAssemblyGroupBoundariesFactory
+ {
+ ///
+ /// Creates the failure mechanism section assembly group boundaries.
+ ///
+ /// The signaling norm to use in the calculation.
+ /// The lower limit norm to use in the calculation.
+ /// A collection of .
+ /// Thrown when an error occurred while creating the assembly group boundaries.
+ public static IEnumerable CreateFailureMechanismSectionAssemblyGroupBoundaries(
+ double signalingNorm, double lowerLimitNorm)
+ {
+ IAssemblyGroupBoundariesCalculator calculator = AssemblyToolCalculatorFactory.Instance.CreateAssemblyGroupBoundariesCalculator(
+ AssemblyToolKernelFactory.Instance);
+
+ try
+ {
+ return calculator.CalculateFailureMechanismSectionAssemblyGroupBoundaries(signalingNorm, lowerLimitNorm);
+ }
+ catch (AssessmentSectionAssemblyGroupBoundariesException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag b0ed2483777a856479818b03fa5d5250abd64f99 refers to a dead (removed) revision in file `Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/AssemblyToolGroupBoundariesFactoryTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactoryTest.cs
===================================================================
diff -u
--- Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactoryTest.cs (revision 0)
+++ Riskeer/Common/test/Riskeer.Common.Data.Test/AssemblyTool/FailureMechanismSectionAssemblyGroupBoundariesFactoryTest.cs (revision b0ed2483777a856479818b03fa5d5250abd64f99)
@@ -0,0 +1,116 @@
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using NUnit.Framework;
+using Riskeer.AssemblyTool.Data;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators;
+using Riskeer.AssemblyTool.KernelWrapper.Calculators.Categories;
+using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators;
+using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators.Categories;
+using Riskeer.Common.Data.AssemblyTool;
+using Riskeer.Common.Data.Exceptions;
+
+namespace Riskeer.Common.Data.Test.AssemblyTool
+{
+ [TestFixture]
+ public class FailureMechanismSectionAssemblyGroupBoundariesFactoryTest
+ {
+ [Test]
+ public void CreateFailureMechanismSectionAssemblyGroupBoundaries_WithInput_SetsInputOnCalculator()
+ {
+ // Setup
+ var random = new Random(11);
+ double signalingNorm = random.NextDouble();
+ double lowerLimitNorm = random.NextDouble();
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ AssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssemblyGroupBoundariesCalculator;
+
+ // Call
+ FailureMechanismSectionAssemblyGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(signalingNorm, lowerLimitNorm);
+
+ // Assert
+ Assert.AreEqual(signalingNorm, calculator.SignalingNorm);
+ Assert.AreEqual(lowerLimitNorm, calculator.LowerLimitNorm);
+ }
+ }
+
+ [Test]
+ public void CreateFailureMechanismSectionAssemblyGroupBoundaries_CalculatorRan_ReturnsOutput()
+ {
+ // Setup
+ var random = new Random(11);
+ double signalingNorm = random.NextDouble();
+ double lowerLimitNorm = random.NextDouble();
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ AssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssemblyGroupBoundariesCalculator;
+
+ // Call
+ FailureMechanismSectionAssemblyGroupBoundaries[] output =
+ FailureMechanismSectionAssemblyGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(signalingNorm, lowerLimitNorm)
+ .ToArray();
+
+ // Assert
+ FailureMechanismSectionAssemblyGroupBoundaries[] calculatorOutput = calculator.FailureMechanismSectionAssemblyGroupBoundariesOutput.ToArray();
+
+ int expectedNrOfOutputs = calculatorOutput.Length;
+ Assert.AreEqual(expectedNrOfOutputs, output.Length);
+ for (var i = 0; i < expectedNrOfOutputs; i++)
+ {
+ FailureMechanismSectionAssemblyGroupBoundaries expectedOutput = calculatorOutput[i];
+ FailureMechanismSectionAssemblyGroupBoundaries actualOutput = calculatorOutput[i];
+
+ Assert.AreEqual(expectedOutput.Group, actualOutput.Group);
+ Assert.AreEqual(expectedOutput.LowerBoundary, actualOutput.LowerBoundary);
+ Assert.AreEqual(expectedOutput.UpperBoundary, actualOutput.UpperBoundary);
+ }
+ }
+ }
+
+ [Test]
+ public void CreateFailureMechanismSectionAssemblyGroupBoundaries_CalculatorThrowsException_ThrowsAssemblyException()
+ {
+ // Setup
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance;
+ AssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssemblyGroupBoundariesCalculator;
+ calculator.ThrowExceptionOnCalculate = true;
+
+ // Call
+ void Call() => FailureMechanismSectionAssemblyGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(0, 0);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Exception innerException = exception.InnerException;
+ Assert.IsInstanceOf(innerException);
+ Assert.AreEqual(innerException.Message, exception.Message);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyGroupsProperties.cs
===================================================================
diff -u -r7ced486f0fd290de08668b1145ba43ce6195ddf8 -rb0ed2483777a856479818b03fa5d5250abd64f99
--- Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyGroupsProperties.cs (.../FailureMechanismSectionAssemblyGroupsProperties.cs) (revision 7ced486f0fd290de08668b1145ba43ce6195ddf8)
+++ Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/FailureMechanismSectionAssemblyGroupsProperties.cs (.../FailureMechanismSectionAssemblyGroupsProperties.cs) (revision b0ed2483777a856479818b03fa5d5250abd64f99)
@@ -77,7 +77,7 @@
try
{
- dataToSet = AssemblyToolGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(contribution.SignalingNorm, contribution.LowerLimitNorm)
+ dataToSet = FailureMechanismSectionAssemblyGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(contribution.SignalingNorm, contribution.LowerLimitNorm)
.Select(category => new FailureMechanismSectionAssemblyGroupProperties(category))
.ToArray();
dataToSet = dataToSet.Concat(new[]
Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismSectionAssemblyGroupsView.cs
===================================================================
diff -u -r7ced486f0fd290de08668b1145ba43ce6195ddf8 -rb0ed2483777a856479818b03fa5d5250abd64f99
--- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismSectionAssemblyGroupsView.cs (.../FailureMechanismSectionAssemblyGroupsView.cs) (revision 7ced486f0fd290de08668b1145ba43ce6195ddf8)
+++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismSectionAssemblyGroupsView.cs (.../FailureMechanismSectionAssemblyGroupsView.cs) (revision b0ed2483777a856479818b03fa5d5250abd64f99)
@@ -90,7 +90,7 @@
try
{
FailureMechanismContribution failureMechanismContribution = AssessmentSection.FailureMechanismContribution;
- dataToSet = AssemblyToolGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(
+ dataToSet = FailureMechanismSectionAssemblyGroupBoundariesFactory.CreateFailureMechanismSectionAssemblyGroupBoundaries(
failureMechanismContribution.SignalingNorm, failureMechanismContribution.LowerLimitNorm).Select(
assemblyGroupBoundaries => new Tuple(
assemblyGroupBoundaries,