Fisheye: Tag a455d755f3419ccee4d8110b9e3d573ad6f3d24b refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter.cs (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -0,0 +1,63 @@ +// 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.Common.Data.Calculation; +using Ringtoets.GrassCoverErosionOutwards.IO.Configurations.Converters; +using Ringtoets.Revetment.Data; +using Ringtoets.Revetment.IO.Configurations; + +namespace Ringtoets.GrassCoverErosionOutwards.IO.Configurations +{ + /// + /// Exports a failure mechanism category wave conditions calculation configuration and stores it as an XML file. + /// + public class GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter : WaveConditionsCalculationConfigurationExporter< + GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriter, + GrassCoverErosionOutwardsWaveConditionsCalculationConfiguration, + ICalculation> + { + /// + /// Creates a new instance of . + /// + /// The hierarchy of calculations to export. + /// The path of the XML file to export to. + /// Thrown when is null. + /// Thrown when is invalid. + public GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(IEnumerable calculations, string filePath) + : base(calculations, filePath) {} + + protected override GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriter CreateWriter(string filePath) + { + return new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriter(filePath); + } + + protected override GrassCoverErosionOutwardsWaveConditionsCalculationConfiguration ToConfiguration(ICalculation calculation) + { + var configuration = new GrassCoverErosionOutwardsWaveConditionsCalculationConfiguration(calculation.Name); + SetConfigurationProperties(configuration, calculation); + configuration.CategoryType = (ConfigurationGrassCoverErosionOutwardsCategoryType?) new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter() + .ConvertFrom(calculation.InputParameters.CategoryType); + return configuration; + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj =================================================================== diff -u -r89376e2e2629c1e722515a852b455b3810d0d98f -ra455d755f3419ccee4d8110b9e3d573ad6f3d24b --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.csproj) (revision 89376e2e2629c1e722515a852b455b3810d0d98f) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.csproj) (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -19,7 +19,7 @@ - + Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -rbb81cbc775643d95f096bddf5e5dbdae234cf921 -ra455d755f3419ccee4d8110b9e3d573ad6f3d24b --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision bb81cbc775643d95f096bddf5e5dbdae234cf921) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -354,11 +354,11 @@ }; yield return RingtoetsExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( - (context, filePath) => new FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter(context.WrappedData.Children, filePath), + (context, filePath) => new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(context.WrappedData.Children, filePath), context => context.WrappedData.Children.Any()); yield return RingtoetsExportInfoFactory.CreateCalculationConfigurationExportInfo( - (context, filePath) => new FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter(new[] + (context, filePath) => new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(new[] { context.WrappedData }, filePath)); Fisheye: Tag a455d755f3419ccee4d8110b9e3d573ad6f3d24b refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/FailureMechanismCategoryWaveConditionsCalculationConfigurationExporterTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporterTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporterTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporterTest.cs (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -0,0 +1,109 @@ +// 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.Collections.Generic; +using System.IO; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.IO.TestUtil; +using Ringtoets.GrassCoverErosionOutwards.IO.Configurations; +using Ringtoets.Revetment.Data; +using Ringtoets.Revetment.Data.TestUtil; + +namespace Ringtoets.GrassCoverErosionOutwards.IO.Test.Configurations +{ + [TestFixture] + public class GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporterTest + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< + GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter, + GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriter, + ICalculation, + GrassCoverErosionOutwardsWaveConditionsCalculationConfiguration> + { + [Test] + public void Export_ValidData_ReturnTrueAndWritesFile() + { + // Setup + var calculation1 = new TestWaveConditionsCalculation(new FailureMechanismCategoryWaveConditionsInput()) + { + Name = "Calculation A", + InputParameters = + { + ForeshoreProfile = new TestForeshoreProfile("ForeshoreA") + } + }; + + var calculation2 = new TestWaveConditionsCalculation(new FailureMechanismCategoryWaveConditionsInput()) + { + Name = "PK001_0002 W1-6_4_1D1", + InputParameters = + { + HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "HydraulicLocationA", 0, 0), + UseBreakWater = true, + CategoryType = FailureMechanismCategoryType.MechanismSpecificSignalingNorm + } + }; + + var calculationGroup2 = new CalculationGroup + { + Name = "PK001_0002", + Children = + { + calculation2 + } + }; + + var calculationGroup = new CalculationGroup + { + Name = "PK001_0001", + Children = + { + calculation1, + calculationGroup2 + } + }; + + string expectedXmlFilePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Revetment.IO, + Path.Combine( + nameof(GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter), + "fullValidConfiguration.xml")); + // Call and Assert + WriteAndValidate(new[] + { + calculationGroup + }, expectedXmlFilePath); + } + + protected override ICalculation CreateCalculation() + { + return new TestWaveConditionsCalculation(new FailureMechanismCategoryWaveConditionsInput()); + } + + protected override GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter CallConfigurationFilePathConstructor(IEnumerable calculations, string filePath) + { + return new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(calculations, filePath); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj =================================================================== diff -u -r89376e2e2629c1e722515a852b455b3810d0d98f -ra455d755f3419ccee4d8110b9e3d573ad6f3d24b --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj) (revision 89376e2e2629c1e722515a852b455b3810d0d98f) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj) (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -20,7 +20,7 @@ - + Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs =================================================================== diff -u -rbb81cbc775643d95f096bddf5e5dbdae234cf921 -ra455d755f3419ccee4d8110b9e3d573ad6f3d24b --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision bb81cbc775643d95f096bddf5e5dbdae234cf921) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -81,7 +81,7 @@ IFileExporter fileExporter = exportInfo.CreateFileExporter(context, "test"); // Assert - Assert.IsInstanceOf(fileExporter); + Assert.IsInstanceOf(fileExporter); mocks.VerifyAll(); } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs =================================================================== diff -u -rbb81cbc775643d95f096bddf5e5dbdae234cf921 -ra455d755f3419ccee4d8110b9e3d573ad6f3d24b --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision bb81cbc775643d95f096bddf5e5dbdae234cf921) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision a455d755f3419ccee4d8110b9e3d573ad6f3d24b) @@ -80,7 +80,7 @@ IFileExporter fileExporter = exportInfo.CreateFileExporter(context, "test"); // Assert - Assert.IsInstanceOf(fileExporter); + Assert.IsInstanceOf(fileExporter); } [Test]