Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (revision 0)
+++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/CombinedFailureMechanismSectionAssembly.cs (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets 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.Collections.Generic;
+
+namespace Ringtoets.AssemblyTool.Data
+{
+ ///
+ /// Assembly for the combined failure mechanism section.
+ ///
+ public class CombinedFailureMechanismSectionAssembly
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The start of the section from the beginning of the reference line.
+ /// The end of the section from the beginning of the reference line.
+ /// The combined assembly result.
+ /// The assembly results per failure mechanism.
+ /// Thrown when
+ /// is null.
+ public CombinedFailureMechanismSectionAssembly(double sectionStart, double sectionEnd,
+ FailureMechanismSectionAssemblyCategoryGroup combinedResult,
+ IEnumerable failureMechanismResults)
+ {
+ if (failureMechanismResults == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismResults));
+ }
+
+ SectionStart = sectionStart;
+ SectionEnd = sectionEnd;
+ CombinedResult = combinedResult;
+ FailureMechanismResults = failureMechanismResults;
+ }
+
+ ///
+ /// Gets the start of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public double SectionStart { get; }
+
+ ///
+ /// Gets the end of the section from the beginning of the reference line.
+ /// [m]
+ ///
+ public double SectionEnd { get; }
+
+ ///
+ /// Gets the combined assembly result.
+ ///
+ public FailureMechanismSectionAssemblyCategoryGroup CombinedResult { get; }
+
+ ///
+ /// Gets the assembly results per failure mechanism.
+ ///
+ public IEnumerable FailureMechanismResults { get; }
+ }
+}
Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Ringtoets.AssemblyTool.Data.csproj
===================================================================
diff -u -ra251293462e2a2aa75936cb721a1fc815645b17b -r9537a33b0502e46af43b6e1372b87984fe7f2a88
--- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Ringtoets.AssemblyTool.Data.csproj (.../Ringtoets.AssemblyTool.Data.csproj) (revision a251293462e2a2aa75936cb721a1fc815645b17b)
+++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.Data/Ringtoets.AssemblyTool.Data.csproj (.../Ringtoets.AssemblyTool.Data.csproj) (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88)
@@ -16,6 +16,7 @@
+
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs
===================================================================
diff -u
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs (revision 0)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/CombinedFailureMechanismSectionAssemblyTest.cs (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88)
@@ -0,0 +1,69 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets 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.Collections.Generic;
+using System.Linq;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+
+namespace Ringtoets.AssemblyTool.Data.Test
+{
+ [TestFixture]
+ public class CombinedFailureMechanismSectionAssemblyTest
+ {
+ [Test]
+ public void Constructor_FailureMechanismResultsNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var random = new Random(21);
+
+ // Call
+ TestDelegate call = () => new CombinedFailureMechanismSectionAssembly(random.NextDouble(), random.NextDouble(),
+ random.NextEnumValue(),
+ null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismResults", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Setup
+ var random = new Random(21);
+ double sectionStart = random.NextDouble();
+ double sectionEnd = random.NextDouble();
+ var combinedResult = random.NextEnumValue();
+ IEnumerable failureMechanismResults = Enumerable.Empty();
+
+ // Call
+ var assembly = new CombinedFailureMechanismSectionAssembly(sectionStart, sectionEnd, combinedResult, failureMechanismResults);
+
+ // Assert
+ Assert.AreEqual(sectionStart, assembly.SectionStart);
+ Assert.AreEqual(sectionEnd, assembly.SectionEnd);
+ Assert.AreEqual(combinedResult, assembly.CombinedResult);
+ Assert.AreSame(failureMechanismResults, assembly.FailureMechanismResults);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/Ringtoets.AssemblyTool.Data.Test.csproj
===================================================================
diff -u -ra251293462e2a2aa75936cb721a1fc815645b17b -r9537a33b0502e46af43b6e1372b87984fe7f2a88
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/Ringtoets.AssemblyTool.Data.Test.csproj (.../Ringtoets.AssemblyTool.Data.Test.csproj) (revision a251293462e2a2aa75936cb721a1fc815645b17b)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.Data.Test/Ringtoets.AssemblyTool.Data.Test.csproj (.../Ringtoets.AssemblyTool.Data.Test.csproj) (revision 9537a33b0502e46af43b6e1372b87984fe7f2a88)
@@ -19,6 +19,7 @@
+