Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs
===================================================================
diff -u -r67d948d9ac33211b615a1d3c96ab3f472c0c163e -rc46ab97375853f37848d639772671873cfc08df5
--- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 67d948d9ac33211b615a1d3c96ab3f472c0c163e)
+++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision c46ab97375853f37848d639772671873cfc08df5)
@@ -226,8 +226,8 @@
{
Name = RiskeerCommonDataResources.HydraulicBoundaryConditions_DisplayName,
Extension = Resources.DuneErosionPlugin_GetExportInfos_Boundary_conditions_file_filter_Extension,
- CreateFileExporter = CreateDuneLocationCalculationsGroupContextFileExporter,
- IsEnabled = IsDuneLocationCalculationsGroupContextExportMenuItemEnabled,
+ CreateFileExporter = CreateDuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextFileExporter,
+ IsEnabled = IsDuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportMenuItemEnabled,
GetExportPath = () => ExportHelper.GetFilePath(GetInquiryHelper(), GetFileFilterGenerator())
};
}
@@ -598,7 +598,7 @@
Resources.DuneErosionPlugin_GetExportInfos_Boundary_conditions_file_filter_Description);
}
- private static bool IsDuneLocationCalculationsGroupContextExportMenuItemEnabled(DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext context)
+ private static bool IsDuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportMenuItemEnabled(DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext context)
{
return context.FailureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Any(calculation => calculation.Output != null)
|| context.FailureMechanism.CalculationsForMechanismSpecificSignalingNorm.Any(calculation => calculation.Output != null)
@@ -607,7 +607,7 @@
|| context.FailureMechanism.CalculationsForFactorizedLowerLimitNorm.Any(calculation => calculation.Output != null);
}
- private static IFileExporter CreateDuneLocationCalculationsGroupContextFileExporter(DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext context, string filePath)
+ private static IFileExporter CreateDuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextFileExporter(DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext context, string filePath)
{
return CreateDuneLocationCalculationsExporter(GetExportableDuneLocationCalculations(context.FailureMechanism, context.AssessmentSection),
filePath);
Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/ExportInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportInfoTest.cs
===================================================================
diff -u
--- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/ExportInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportInfoTest.cs (revision 0)
+++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/ExportInfos/DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportInfoTest.cs (revision c46ab97375853f37848d639772671873cfc08df5)
@@ -0,0 +1,181 @@
+// 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 System.Linq;
+using Core.Common.Base;
+using Core.Common.Base.IO;
+using Core.Common.TestUtil;
+using Core.Gui.Plugin;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Riskeer.Common.Data.AssessmentSection;
+using Riskeer.DuneErosion.Data;
+using Riskeer.DuneErosion.Data.TestUtil;
+using Riskeer.DuneErosion.Forms.PresentationObjects;
+using Riskeer.DuneErosion.IO;
+using CoreGuiResources = Core.Gui.Properties.Resources;
+
+namespace Riskeer.DuneErosion.Plugin.Test.ExportInfos
+{
+ [TestFixture]
+ public class DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContextExportInfoTest
+ {
+ [Test]
+ public void Initialized_Always_ExpectedPropertiesSet()
+ {
+ // Setup
+ using (var plugin = new DuneErosionPlugin())
+ {
+ // Call
+ ExportInfo info = GetExportInfo(plugin);
+
+ // Assert
+ Assert.IsNotNull(info.CreateFileExporter);
+ Assert.IsNotNull(info.IsEnabled);
+ Assert.AreEqual("Hydraulische belastingen", info.Name);
+ Assert.AreEqual("bnd", info.Extension);
+ Assert.AreEqual("Algemeen", info.Category);
+ TestHelper.AssertImagesAreEqual(CoreGuiResources.ExportIcon, info.Image);
+ Assert.IsNotNull(info.GetExportPath);
+ }
+ }
+
+ [Test]
+ public void CreateFileExporter_Always_ReturnFileExporter()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var context = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(),
+ new DuneErosionFailureMechanism(),
+ assessmentSection);
+
+ using (var plugin = new DuneErosionPlugin())
+ {
+ ExportInfo info = GetExportInfo(plugin);
+
+ // Call
+ IFileExporter fileExporter = info.CreateFileExporter(context, "test");
+
+ // Assert
+ Assert.IsInstanceOf(fileExporter);
+ }
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void IsEnabled_CalculationsWithoutOutput_ReturnFalse()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new DuneErosionFailureMechanism();
+ failureMechanism.SetDuneLocations(new[]
+ {
+ new TestDuneLocation()
+ });
+ var context = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(),
+ failureMechanism,
+ assessmentSection);
+
+ using (var plugin = new DuneErosionPlugin())
+ {
+ ExportInfo info = GetExportInfo(plugin);
+
+ // Call
+ bool isEnabled = info.IsEnabled(context);
+
+ // Assert
+ Assert.IsFalse(isEnabled);
+ }
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ [TestCaseSource(nameof(GetCalculationListFuncs))]
+ public void IsEnabled_CalculationsWithOutput_ReturnTrue(Func> getCalculationsFunc)
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new DuneErosionFailureMechanism();
+ failureMechanism.SetDuneLocations(new[]
+ {
+ new TestDuneLocation()
+ });
+ var context = new DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext(new ObservableList(),
+ failureMechanism,
+ assessmentSection);
+ getCalculationsFunc(context.FailureMechanism).Single().Output = new TestDuneLocationCalculationOutput();
+
+ using (var plugin = new DuneErosionPlugin())
+ {
+ ExportInfo info = GetExportInfo(plugin);
+
+ // Call
+ bool isEnabled = info.IsEnabled(context);
+
+ // Assert
+ Assert.IsTrue(isEnabled);
+ }
+
+ mocks.VerifyAll();
+ }
+
+ private static ExportInfo GetExportInfo(DuneErosionPlugin plugin)
+ {
+ return plugin.GetExportInfos().First(ei => ei.DataType == typeof(DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext));
+ }
+
+ private static IEnumerable GetCalculationListFuncs()
+ {
+ yield return new TestCaseData(new Func>(
+ failureMechanism => failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm))
+ .SetName("Failure mechanism specific factorized signaling norm");
+
+ yield return new TestCaseData(new Func>(
+ failureMechanism => failureMechanism.CalculationsForMechanismSpecificSignalingNorm))
+ .SetName("Failure mechanism specific signaling norm");
+
+ yield return new TestCaseData(new Func>(
+ failureMechanism => failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm))
+ .SetName("Failure mechanism specific lower limit norm");
+
+ yield return new TestCaseData(new Func>(
+ failureMechanism => failureMechanism.CalculationsForLowerLimitNorm))
+ .SetName("Lower limit norm");
+
+ yield return new TestCaseData(new Func>(
+ failureMechanism => failureMechanism.CalculationsForFactorizedLowerLimitNorm))
+ .SetName("Factorized lower limit norm");
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag c46ab97375853f37848d639772671873cfc08df5 refers to a dead (removed) revision in file `Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/ExportInfos/DuneLocationCalculationsGroupContextExportInfoTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneErosionHydraulicLoadsContextTreeNodeInfoTest.cs
===================================================================
diff -u -r3c8b0bc8bb3bad70dc25f55e5261f606ecc3c280 -rc46ab97375853f37848d639772671873cfc08df5
--- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneErosionHydraulicLoadsContextTreeNodeInfoTest.cs (.../DuneErosionHydraulicLoadsContextTreeNodeInfoTest.cs) (revision 3c8b0bc8bb3bad70dc25f55e5261f606ecc3c280)
+++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/TreeNodeInfos/DuneErosionHydraulicLoadsContextTreeNodeInfoTest.cs (.../DuneErosionHydraulicLoadsContextTreeNodeInfoTest.cs) (revision c46ab97375853f37848d639772671873cfc08df5)
@@ -126,10 +126,10 @@
var inputComment = (Comment) inputsFolder.Contents.ElementAt(0);
Assert.AreSame(failureMechanism.InputComments, inputComment);
- var duneLocationCalculationsGroupContext = (DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext) children[1];
- Assert.AreSame(failureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities, duneLocationCalculationsGroupContext.WrappedData);
- Assert.AreSame(failureMechanism, duneLocationCalculationsGroupContext.FailureMechanism);
- Assert.AreSame(assessmentSection, duneLocationCalculationsGroupContext.AssessmentSection);
+ var targetProbabilitiesGroupContext = (DuneLocationCalculationsForUserDefinedTargetProbabilitiesGroupContext) children[1];
+ Assert.AreSame(failureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities, targetProbabilitiesGroupContext.WrappedData);
+ Assert.AreSame(failureMechanism, targetProbabilitiesGroupContext.FailureMechanism);
+ Assert.AreSame(assessmentSection, targetProbabilitiesGroupContext.AssessmentSection);
}
[Test]