Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/ExportableDuneLocationCalculation.cs
===================================================================
diff -u
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/ExportableDuneLocationCalculation.cs (revision 0)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/ExportableDuneLocationCalculation.cs (revision 25fdc8c96c2ea58d4193a09eb2fe50842490093e)
@@ -0,0 +1,74 @@
+// 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.DuneErosion.Data;
+
+namespace Ringtoets.DuneErosion.IO
+{
+ ///
+ /// Class that holds all required data to export a .
+ ///
+ public class ExportableDuneLocationCalculation
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The will be exported.
+ /// The norm belonging to the calculation.
+ /// The display name of the category boundary.
+ /// Thrown when
+ /// or is null.
+ public ExportableDuneLocationCalculation(DuneLocationCalculation calculation,
+ double norm,
+ string categoryBoundaryName)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (categoryBoundaryName == null)
+ {
+ throw new ArgumentNullException(nameof(categoryBoundaryName));
+ }
+
+ Calculation = calculation;
+ Norm = norm;
+ CategoryBoundaryName = categoryBoundaryName;
+ }
+
+ ///
+ /// Gets the that will be exported.
+ ///
+ public DuneLocationCalculation Calculation { get; }
+
+ ///
+ /// Gets the norm belonging to the calculation.
+ ///
+ public double Norm { get; }
+
+ ///
+ /// Gets the display name of the category boundary.
+ ///
+ public string CategoryBoundaryName { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/Ringtoets.DuneErosion.IO.csproj
===================================================================
diff -u -rbd5cd12c211e63d9ad3be8235234449571c4460c -r25fdc8c96c2ea58d4193a09eb2fe50842490093e
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/Ringtoets.DuneErosion.IO.csproj (.../Ringtoets.DuneErosion.IO.csproj) (revision bd5cd12c211e63d9ad3be8235234449571c4460c)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.IO/Ringtoets.DuneErosion.IO.csproj (.../Ringtoets.DuneErosion.IO.csproj) (revision 25fdc8c96c2ea58d4193a09eb2fe50842490093e)
@@ -16,6 +16,7 @@
+
@@ -69,6 +70,10 @@
Core.Components.Gis
False
+
+ {4D840673-3812-4338-A352-84854E32B8A0}
+ Ringtoets.Common.Forms
+
{52ba7627-cbab-4209-be77-3b5f31378277}
Ringtoets.Common.IO
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/ExportableDuneLocationCalculationTest.cs
===================================================================
diff -u
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/ExportableDuneLocationCalculationTest.cs (revision 0)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/ExportableDuneLocationCalculationTest.cs (revision 25fdc8c96c2ea58d4193a09eb2fe50842490093e)
@@ -0,0 +1,74 @@
+// 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.DuneErosion.Data;
+using Ringtoets.DuneErosion.Data.TestUtil;
+
+namespace Ringtoets.DuneErosion.IO.Test
+{
+ [TestFixture]
+ public class ExportableDuneLocationCalculationTest
+ {
+ [Test]
+ public void Constructor_CalculationNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new ExportableDuneLocationCalculation(null, new Random(39).NextDouble(), "Category");
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("calculation", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_CategoryBoundaryNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new ExportableDuneLocationCalculation(new DuneLocationCalculation(new TestDuneLocation()),
+ new Random(39).NextDouble(),
+ null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("categoryBoundaryName", exception.ParamName);
+ }
+
+ [Test]
+ [TestCase("Category")]
+ public void Constructor_WithValidParameters_ExpectedProperties()
+ {
+ // Setup
+ var calculation = new DuneLocationCalculation(new TestDuneLocation());
+ double norm = new Random(39).NextDouble();
+ const string categoryBoundaryName = "Category";
+
+ // Call
+ var exportableCalculation = new ExportableDuneLocationCalculation(calculation, norm, categoryBoundaryName);
+
+ // Assert
+ Assert.AreSame(calculation, exportableCalculation.Calculation);
+ Assert.AreEqual(norm, exportableCalculation.Norm);
+ Assert.AreEqual(categoryBoundaryName, exportableCalculation.CategoryBoundaryName);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/Ringtoets.DuneErosion.IO.Test.csproj
===================================================================
diff -u -rbd5cd12c211e63d9ad3be8235234449571c4460c -r25fdc8c96c2ea58d4193a09eb2fe50842490093e
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/Ringtoets.DuneErosion.IO.Test.csproj (.../Ringtoets.DuneErosion.IO.Test.csproj) (revision bd5cd12c211e63d9ad3be8235234449571c4460c)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.IO.Test/Ringtoets.DuneErosion.IO.Test.csproj (.../Ringtoets.DuneErosion.IO.Test.csproj) (revision 25fdc8c96c2ea58d4193a09eb2fe50842490093e)
@@ -16,6 +16,7 @@
+