Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableCombinedFailureMechanismSectionAssembly.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableCombinedFailureMechanismSectionAssembly.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/AggregatedSerializableCombinedFailureMechanismSectionAssembly.cs (revision d4657b4682a9dc5744969a848413db91b31cfc2f) @@ -0,0 +1,67 @@ +// 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 Ringtoets.AssemblyTool.IO.Model; + +namespace Ringtoets.Integration.IO +{ + /// + /// Class that holds all the information related to creating a + /// + /// + public class AggregatedSerializableCombinedFailureMechanismSectionAssembly + { + /// + /// Gets the failure mechanism section. + /// + public SerializableFailureMechanismSection FailureMechanismSection { get; } + + /// + /// Gets the combined failure mechanism section assembly. + /// + public SerializableCombinedFailureMechanismSectionAssembly CombinedFailureMechanismSectionAssembly { get; } + + /// + /// Instantiates a . + /// + /// The + /// The + /// that is associated with . + /// Thrown when any parameter is null. + public AggregatedSerializableCombinedFailureMechanismSectionAssembly(SerializableFailureMechanismSection failureMechanismSection, + SerializableCombinedFailureMechanismSectionAssembly combinedFailureMechanismSectionAssembly) + { + if (failureMechanismSection == null) + { + throw new ArgumentNullException(nameof(failureMechanismSection)); + } + + if (combinedFailureMechanismSectionAssembly == null) + { + throw new ArgumentNullException(nameof(combinedFailureMechanismSectionAssembly)); + } + + FailureMechanismSection = failureMechanismSection; + CombinedFailureMechanismSectionAssembly = combinedFailureMechanismSectionAssembly; + } + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj =================================================================== diff -u -r1fb8afd636f36c169e0e4ac3fa87472f372eb915 -rd4657b4682a9dc5744969a848413db91b31cfc2f --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision 1fb8afd636f36c169e0e4ac3fa87472f372eb915) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision d4657b4682a9dc5744969a848413db91b31cfc2f) @@ -15,6 +15,7 @@ + Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableCombinedFailureMechanismSectionAssemblyTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableCombinedFailureMechanismSectionAssemblyTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/AggregatedSerializableCombinedFailureMechanismSectionAssemblyTest.cs (revision d4657b4682a9dc5744969a848413db91b31cfc2f) @@ -0,0 +1,71 @@ +// 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 NUnit.Framework; +using Ringtoets.AssemblyTool.IO.Model; + +namespace Ringtoets.Integration.IO.Test +{ + [TestFixture] + public class AggregatedSerializableCombinedFailureMechanismSectionAssemblyTest + { + [Test] + public void Constructor_FailureMechanismSectionNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new AggregatedSerializableCombinedFailureMechanismSectionAssembly(null, + new SerializableCombinedFailureMechanismSectionAssembly()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("failureMechanismSection", exception.ParamName); + } + + [Test] + public void Constructor_CombinedFailureMechanismSectionAssemblyNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new AggregatedSerializableCombinedFailureMechanismSectionAssembly(new SerializableFailureMechanismSection(), + null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("combinedFailureMechanismSectionAssembly", exception.ParamName); + } + + [Test] + public void Constructor_WithValidArguments_ExpectedValues() + { + // Setup + var failureMechanismSection = new SerializableFailureMechanismSection(); + var sectionAssemblyResult = new SerializableCombinedFailureMechanismSectionAssembly(); + + // Call + AggregatedSerializableCombinedFailureMechanismSectionAssembly aggregate = + new AggregatedSerializableCombinedFailureMechanismSectionAssembly(failureMechanismSection, sectionAssemblyResult); + + // Assert + Assert.AreSame(failureMechanismSection, aggregate.FailureMechanismSection); + Assert.AreSame(sectionAssemblyResult, aggregate.CombinedFailureMechanismSectionAssembly); + } + } +} \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj =================================================================== diff -u -r1fb8afd636f36c169e0e4ac3fa87472f372eb915 -rd4657b4682a9dc5744969a848413db91b31cfc2f --- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision 1fb8afd636f36c169e0e4ac3fa87472f372eb915) +++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision d4657b4682a9dc5744969a848413db91b31cfc2f) @@ -17,6 +17,7 @@ +