Index: Riskeer/Integration/src/Riskeer.Integration.IO/Exporters/HydraulicBoundaryLocationCalculationsExporter.cs =================================================================== diff -u --- Riskeer/Integration/src/Riskeer.Integration.IO/Exporters/HydraulicBoundaryLocationCalculationsExporter.cs (revision 0) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Exporters/HydraulicBoundaryLocationCalculationsExporter.cs (revision 6f3dc4c0604a47896eb338dd94fcf30080a90924) @@ -0,0 +1,64 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer 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 Core.Common.Base.IO; +using Core.Common.Util; +using Riskeer.Common.Data.Hydraulics; + +namespace Riskeer.Integration.IO.Exporters +{ + /// + /// Exports hydraulic boundary location calculations and stores them as a shapefile. + /// + public class HydraulicBoundaryLocationCalculationsExporter : IFileExporter + { + private readonly IEnumerable calculations; + private readonly string filePath; + + /// + /// Creates a new instance of . + /// + /// The calculations to export. + /// The path of the file to export to. + /// Thrown when + /// is null. + /// Thrown when is invalid. + public HydraulicBoundaryLocationCalculationsExporter(IEnumerable calculations, string filePath) + { + if (calculations == null) + { + throw new ArgumentNullException(nameof(calculations)); + } + + IOUtils.ValidateFilePath(filePath); + + this.calculations = calculations; + this.filePath = filePath; + } + + public bool Export() + { + return false; + } + } +} \ No newline at end of file Index: Riskeer/Integration/test/Riskeer.Integration.IO.Test/Exporters/HydraulicBoundaryLocationCalculationsExporterTest.cs =================================================================== diff -u --- Riskeer/Integration/test/Riskeer.Integration.IO.Test/Exporters/HydraulicBoundaryLocationCalculationsExporterTest.cs (revision 0) +++ Riskeer/Integration/test/Riskeer.Integration.IO.Test/Exporters/HydraulicBoundaryLocationCalculationsExporterTest.cs (revision 6f3dc4c0604a47896eb338dd94fcf30080a90924) @@ -0,0 +1,72 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer 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.IO; +using System.Linq; +using Core.Common.Base.IO; +using Core.Common.TestUtil; +using NUnit.Framework; +using Riskeer.Common.Data.Hydraulics; +using Riskeer.Integration.IO.Exporters; + +namespace Riskeer.Integration.IO.Test.Exporters +{ + [TestFixture] + public class HydraulicBoundaryLocationCalculationsExporterTest + { + [Test] + public void Constructor_CalculationsNull_ThrowsArgumentNullException() + { + // Call + void Call() => new HydraulicBoundaryLocationCalculationsExporter(null, string.Empty); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("calculations", exception.ParamName); + } + + [Test] + public void Constructor_FilePathNull_ThrowsArgumentException() + { + // Call + void Call() => new HydraulicBoundaryLocationCalculationsExporter( + Enumerable.Empty(), null); + + // Assert + Assert.Throws(Call); + } + + [Test] + public void Constructor_ExpectedValues() + { + // Setup + string filePath = TestHelper.GetScratchPadPath(Path.Combine("export", "test.shp")); + + // Call + var exporter = new HydraulicBoundaryLocationCalculationsExporter( + Enumerable.Empty(), filePath); + + // Assert + Assert.IsInstanceOf(exporter); + } + } +} \ No newline at end of file