Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableFailureMechanism.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableFailureMechanism.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableFailureMechanism.cs (revision b0f0122af5f9b499bb001da2fdac289960bf4bb1)
@@ -0,0 +1,95 @@
+// 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 Ringtoets.AssemblyTool.IO.Model;
+
+namespace Ringtoets.Integration.IO
+{
+ ///
+ /// Class that holds all the information that is related when generating a .
+ ///
+ public class AggregatedSerializableFailureMechanism
+ {
+ ///
+ /// An instance of .
+ ///
+ /// The .
+ /// The
+ /// that belongs to the failure mechanism.
+ /// A collection of
+ /// that belongs to the failure mechanism.
+ /// A collection of
+ /// that belongs to the failure mechanism.
+ /// Thrown when any parameter is null.
+ public AggregatedSerializableFailureMechanism(SerializableFailureMechanism failureMechanism,
+ SerializableFailureMechanismSectionCollection failureMechanismSectionCollection,
+ IEnumerable failureMechanismSections,
+ IEnumerable failureMechanismSectionAssemblyResults)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (failureMechanismSectionCollection == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionCollection));
+ }
+
+ if (failureMechanismSections == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSections));
+ }
+
+ if (failureMechanismSectionAssemblyResults == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionAssemblyResults));
+ }
+
+ FailureMechanism = failureMechanism;
+ FailureMechanismSectionCollection = failureMechanismSectionCollection;
+ FailureMechanismSections = failureMechanismSections;
+ FailureMechanismSectionAssemblyResults = failureMechanismSectionAssemblyResults;
+ }
+
+ ///
+ /// Gets the serializable failure mechanism.
+ ///
+ public SerializableFailureMechanism FailureMechanism { get; }
+
+ ///
+ /// Gets the collection where the serializable failure mechanism sections belong to.
+ ///
+ public SerializableFailureMechanismSectionCollection FailureMechanismSectionCollection { get; }
+
+ ///
+ /// Gets the collection of serializable failure mechanism sections.
+ ///
+ public IEnumerable FailureMechanismSections { get; }
+
+ ///
+ /// Gets the collection of serializable failure mechanism section assembly results.
+ ///
+ public IEnumerable FailureMechanismSectionAssemblyResults { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj
===================================================================
diff -u -ref94545e83d471d2a0a142c649414b507ea10a81 -rb0f0122af5f9b499bb001da2fdac289960bf4bb1
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision ef94545e83d471d2a0a142c649414b507ea10a81)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision b0f0122af5f9b499bb001da2fdac289960bf4bb1)
@@ -15,6 +15,7 @@
+
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableFailureMechanismTest.cs
===================================================================
diff -u
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableFailureMechanismTest.cs (revision 0)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableFailureMechanismTest.cs (revision b0f0122af5f9b499bb001da2fdac289960bf4bb1)
@@ -0,0 +1,139 @@
+// 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 NUnit.Framework;
+using Ringtoets.AssemblyTool.IO.Model;
+
+namespace Ringtoets.Integration.IO.Test
+{
+ [TestFixture]
+ public class AggregatedSerializableFailureMechanismTest
+ {
+ [Test]
+ public void Constructor_FailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var failureMechanismSectionCollection = new SerializableFailureMechanismSectionCollection();
+ IEnumerable failureMechanismSections =
+ Enumerable.Empty();
+ IEnumerable failureMechanismSectionAssemblyResults =
+ Enumerable.Empty();
+
+ // Call
+ TestDelegate call = () => new AggregatedSerializableFailureMechanism(null,
+ failureMechanismSectionCollection,
+ failureMechanismSections,
+ failureMechanismSectionAssemblyResults);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_FailureMechanismSectionCollectionNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var failureMechanism = new SerializableFailureMechanism();
+ IEnumerable failureMechanismSections =
+ Enumerable.Empty();
+ IEnumerable failureMechanismSectionAssemblyResults =
+ Enumerable.Empty();
+
+ // Call
+ TestDelegate call = () => new AggregatedSerializableFailureMechanism(failureMechanism,
+ null,
+ failureMechanismSections,
+ failureMechanismSectionAssemblyResults);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismSectionCollection", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_FailureMechanismSectionsNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var failureMechanism = new SerializableFailureMechanism();
+ var failureMechanismSectionCollection = new SerializableFailureMechanismSectionCollection();
+ IEnumerable failureMechanismSectionAssemblyResults =
+ Enumerable.Empty();
+
+ // Call
+ TestDelegate call = () => new AggregatedSerializableFailureMechanism(failureMechanism,
+ failureMechanismSectionCollection,
+ null,
+ failureMechanismSectionAssemblyResults);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismSections", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_FailureMechanismSectionAssemblyResultsNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var failureMechanism = new SerializableFailureMechanism();
+ var failureMechanismSectionCollection = new SerializableFailureMechanismSectionCollection();
+ IEnumerable failureMechanismSections =
+ Enumerable.Empty();
+
+ // Call
+ TestDelegate call = () => new AggregatedSerializableFailureMechanism(failureMechanism,
+ failureMechanismSectionCollection,
+ failureMechanismSections,
+ null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanismSectionAssemblyResults", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_WithValidArguments_ExpectedValues()
+ {
+ // Setup
+ var failureMechanism = new SerializableFailureMechanism();
+ var failureMechanismSectionCollection = new SerializableFailureMechanismSectionCollection();
+ IEnumerable failureMechanismSections =
+ Enumerable.Empty();
+ IEnumerable failureMechanismSectionAssemblyResults =
+ Enumerable.Empty();
+
+ // Call
+ var aggregatedFailureMechanism = new AggregatedSerializableFailureMechanism(failureMechanism,
+ failureMechanismSectionCollection,
+ failureMechanismSections,
+ failureMechanismSectionAssemblyResults);
+
+ // Assert
+ Assert.AreSame(failureMechanism, aggregatedFailureMechanism.FailureMechanism);
+ Assert.AreSame(failureMechanismSectionCollection, aggregatedFailureMechanism.FailureMechanismSectionCollection);
+ Assert.AreSame(failureMechanismSections, aggregatedFailureMechanism.FailureMechanismSections);
+ Assert.AreSame(failureMechanismSectionAssemblyResults, aggregatedFailureMechanism.FailureMechanismSectionAssemblyResults);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj
===================================================================
diff -u -ref94545e83d471d2a0a142c649414b507ea10a81 -rb0f0122af5f9b499bb001da2fdac289960bf4bb1
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision ef94545e83d471d2a0a142c649414b507ea10a81)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision b0f0122af5f9b499bb001da2fdac289960bf4bb1)
@@ -17,6 +17,7 @@
+