Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyResultCreator.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyResultCreator.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyResultCreator.cs (revision 597dfc8dd0177c9739b61f0fc6a983306b0d3aff)
@@ -0,0 +1,79 @@
+// 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.DataTypes;
+using Ringtoets.AssemblyTool.IO.Model.Enums;
+using Ringtoets.Integration.IO.Assembly;
+
+namespace Ringtoets.Integration.IO.Creators
+{
+ ///
+ /// Creator to create instances of
+ ///
+ public static class SerializableFailureMechanismSectionAssemblyResultCreator
+ {
+ ///
+ /// Creates an instance of
+ /// based on a .
+ ///
+ /// The type of assessment the
+ /// represents.
+ /// The to create a
+ /// for.
+ /// A .
+ /// Thrown when is null.
+ public static SerializableFailureMechanismSectionAssemblyResult Create(SerializableAssessmentType assessmentType, ExportableSectionAssemblyResult sectionResult)
+ {
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ return new SerializableFailureMechanismSectionAssemblyResult(SerializableAssemblyMethodCreator.Create(sectionResult.AssemblyMethod),
+ assessmentType,
+ SerializableFailureMechanismSectionCategoryGroupCreator.Create(sectionResult.AssemblyCategory));
+ }
+
+ ///
+ /// Creates an instance of
+ /// based on a .
+ ///
+ /// The type of assessment the
+ /// represents.
+ /// The to create a
+ /// for.
+ /// A .
+ /// Thrown when is null.
+ public static SerializableFailureMechanismSectionAssemblyResult Create(SerializableAssessmentType assessmentType, ExportableSectionAssemblyResultWithProbability sectionResult)
+ {
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ return new SerializableFailureMechanismSectionAssemblyResult(SerializableAssemblyMethodCreator.Create(sectionResult.AssemblyMethod),
+ assessmentType,
+ SerializableFailureMechanismSectionCategoryGroupCreator.Create(sectionResult.AssemblyCategory),
+ sectionResult.Probability);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj
===================================================================
diff -u -ra3924f73a5f753dfc63ab7c195260ea2b79a3b2d -r597dfc8dd0177c9739b61f0fc6a983306b0d3aff
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision a3924f73a5f753dfc63ab7c195260ea2b79a3b2d)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision 597dfc8dd0177c9739b61f0fc6a983306b0d3aff)
@@ -45,6 +45,7 @@
+
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableFailureMechanismSectionAssemblyResultCreatorTest.cs
===================================================================
diff -u
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableFailureMechanismSectionAssemblyResultCreatorTest.cs (revision 0)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableFailureMechanismSectionAssemblyResultCreatorTest.cs (revision 597dfc8dd0177c9739b61f0fc6a983306b0d3aff)
@@ -0,0 +1,103 @@
+// 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 Core.Common.TestUtil;
+using NUnit.Framework;
+using Ringtoets.AssemblyTool.IO.Model.DataTypes;
+using Ringtoets.AssemblyTool.IO.Model.Enums;
+using Ringtoets.Integration.IO.Assembly;
+using Ringtoets.Integration.IO.Creators;
+using Ringtoets.Integration.IO.TestUtil;
+
+namespace Ringtoets.Integration.IO.Test.Creators
+{
+ [TestFixture]
+ public class SerializableFailureMechanismSectionAssemblyResultCreatorTest
+ {
+ [Test]
+ public void CreateWithExportableSectionAssemblyResult_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var assessmentType = new Random(21).NextEnumValue();
+
+ // Call
+ TestDelegate call = () => SerializableFailureMechanismSectionAssemblyResultCreator.Create(assessmentType, null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ }
+
+ [Test]
+ public void Create_WithExportableSectionAssemblyResult_ReturnsSerializableFailureMechanismAssemblyResult()
+ {
+ // Setup
+ var assessmentType = new Random(21).NextEnumValue();
+ ExportableSectionAssemblyResult sectionResult = ExportableSectionAssemblyResultTestFactory.CreateSectionAssemblyResult();
+
+ // Call
+ SerializableFailureMechanismSectionAssemblyResult serializableResult =
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(assessmentType, sectionResult);
+
+ // Assert
+ Assert.AreEqual(assessmentType, serializableResult.AssessmentType);
+
+ Assert.AreEqual(SerializableAssemblyMethodCreator.Create(sectionResult.AssemblyMethod), serializableResult.AssemblyMethod);
+ Assert.AreEqual(SerializableFailureMechanismSectionCategoryGroupCreator.Create(sectionResult.AssemblyCategory), serializableResult.CategoryGroup);
+ Assert.IsNull(serializableResult.Probability);
+ }
+
+ [Test]
+ public void CreateWithExportableSectionAssemblyResultWithProbability_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var assessmentType = new Random(21).NextEnumValue();
+ ExportableSectionAssemblyResultWithProbability sectionResult = null;
+
+ // Call
+ TestDelegate call = () => SerializableFailureMechanismSectionAssemblyResultCreator.Create(assessmentType, sectionResult);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ }
+
+ [Test]
+ public void Create_WithExportableSectionAssemblyResultWithProbability_ReturnsSerializableFailureMechanismAssemblyResult()
+ {
+ // Setup
+ var assessmentType = new Random(21).NextEnumValue();
+ ExportableSectionAssemblyResultWithProbability sectionResult = ExportableSectionAssemblyResultTestFactory.CreateSectionAssemblyResultWithProbability();
+
+ // Call
+ SerializableFailureMechanismSectionAssemblyResult serializableResult =
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(assessmentType, sectionResult);
+
+ // Assert
+ Assert.AreEqual(assessmentType, serializableResult.AssessmentType);
+
+ Assert.AreEqual(SerializableAssemblyMethodCreator.Create(sectionResult.AssemblyMethod), serializableResult.AssemblyMethod);
+ Assert.AreEqual(SerializableFailureMechanismSectionCategoryGroupCreator.Create(sectionResult.AssemblyCategory), serializableResult.CategoryGroup);
+ Assert.AreEqual(sectionResult.Probability, serializableResult.Probability);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj
===================================================================
diff -u -ra3924f73a5f753dfc63ab7c195260ea2b79a3b2d -r597dfc8dd0177c9739b61f0fc6a983306b0d3aff
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision a3924f73a5f753dfc63ab7c195260ea2b79a3b2d)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision 597dfc8dd0177c9739b61f0fc6a983306b0d3aff)
@@ -1,4 +1,4 @@
-
+
{06C448C6-CBDE-4579-B5B6-1B8074E022ED}
@@ -47,6 +47,7 @@
+