Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -26,7 +26,6 @@ using Core.Common.Base; using Core.Common.Base.IO; using Core.Common.Controls.TreeView; -using Core.Common.Gui; using Core.Common.Gui.ContextMenu; using Core.Common.Gui.Forms.ProgressDialog; using Core.Common.Gui.Helpers; @@ -69,6 +68,8 @@ /// public class ClosingStructuresPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -259,13 +260,15 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new ClosingStructuresCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new ClosingStructuresCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } private void CalculateAll(ClosingStructuresFailureMechanismContext context) @@ -446,7 +449,6 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); IEnumerable> calculations = closingStructuresFailureMechanismContext.WrappedData .Calculations .Cast>(); @@ -468,7 +470,7 @@ .AddSeparator() .AddClearAllCalculationOutputInFailureMechanismItem(closingStructuresFailureMechanismContext.WrappedData) .AddClearIllustrationPointsOfCalculationsInFailureMechanismItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)) + CreateChangeHandler(GetInquiryHelper(), calculations)) .AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() @@ -541,7 +543,6 @@ { CalculationGroup group = context.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is ClosingStructuresCalculationGroupContext; StructuresCalculation[] calculations = group @@ -573,7 +574,7 @@ } builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(calculations)) .AddSeparator() @@ -589,7 +590,7 @@ .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group) .AddClearIllustrationPointsOfCalculationsInGroupItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)); + CreateChangeHandler(GetInquiryHelper(), calculations)); if (isNestedGroup) { @@ -768,10 +769,8 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - StructuresCalculation calculation = context.WrappedData; - var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(inquiryHelper, calculation); + var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(GetInquiryHelper(), calculation); var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); return builder.AddExportItem() @@ -780,7 +779,7 @@ .AddSeparator() .AddRenameItem() .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(context)) .AddSeparator() @@ -838,10 +837,7 @@ private bool StructureDependentDataShouldUpdate(IEnumerable> calculations, string query) { - var changeHandler = new CalculationChangeHandler(calculations, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new CalculationChangeHandler(calculations, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -901,15 +897,17 @@ private bool VerifyStructuresShouldUpdate(IFailureMechanism failureMechanism, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationContextExportInfoTest.cs (.../ClosingStructuresCalculationContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationContextExportInfoTest.cs (.../ClosingStructuresCalculationContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.ClosingStructures.Data; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new ClosingStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationGroupContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationGroupContextExportInfoTest.cs (.../ClosingStructuresCalculationGroupContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ExportInfos/ClosingStructuresCalculationGroupContextExportInfoTest.cs (.../ClosingStructuresCalculationGroupContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.ClosingStructures.Data; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new ClosingStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/Common/src/Riskeer.Common.Forms/ExportInfos/RiskeerExportInfoFactory.cs =================================================================== diff -u -r5fd764f8bc968f35e200824a360b44a0a02fdf3e -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/Common/src/Riskeer.Common.Forms/ExportInfos/RiskeerExportInfoFactory.cs (.../RiskeerExportInfoFactory.cs) (revision 5fd764f8bc968f35e200824a360b44a0a02fdf3e) +++ Riskeer/Common/src/Riskeer.Common.Forms/ExportInfos/RiskeerExportInfoFactory.cs (.../RiskeerExportInfoFactory.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -21,6 +21,7 @@ using System; using Core.Common.Base.IO; +using Core.Common.Gui.Helpers; using Core.Common.Gui.Plugin; using Core.Common.Util; using Riskeer.Common.Data.Calculation; @@ -43,19 +44,23 @@ /// to create the for. /// The function to create the relevant exporter. /// The function to enable the exporter. + /// Helper responsible for performing information inquiries. /// An object. public static ExportInfo CreateCalculationGroupConfigurationExportInfo( Func createFileExporter, - Func isEnabled) + Func isEnabled, + IInquiryHelper inquiryHelper) where TCalculationGroupContext : ICalculationContext { return new ExportInfo { Name = Resources.CalculationConfigurationExporter_DisplayName, - FileFilterGenerator = new FileFilterGenerator(Resources.DataTypeDisplayName_xml_file_filter_Extension, - Resources.DataTypeDisplayName_xml_file_filter_Description), + Extension = Resources.DataTypeDisplayName_xml_file_filter_Extension, IsEnabled = isEnabled, - CreateFileExporter = createFileExporter + CreateFileExporter = createFileExporter, + GetExportPath = () => ExportHelper.GetFilePath( + inquiryHelper, new FileFilterGenerator(Resources.DataTypeDisplayName_xml_file_filter_Extension, + Resources.DataTypeDisplayName_xml_file_filter_Description)) }; } @@ -66,18 +71,22 @@ /// The type of calculation context /// to create the for. /// The function to create the relevant exporter. + /// Helper responsible for performing information inquiries. /// An object. public static ExportInfo CreateCalculationConfigurationExportInfo - (Func createFileExporter) + (Func createFileExporter, + IInquiryHelper inquiryHelper) where TCalculationContext : ICalculationContext { return new ExportInfo { Name = Resources.CalculationConfigurationExporter_DisplayName, - FileFilterGenerator = new FileFilterGenerator(Resources.DataTypeDisplayName_xml_file_filter_Extension, - Resources.DataTypeDisplayName_xml_file_filter_Description), + Extension = Resources.DataTypeDisplayName_xml_file_filter_Extension, CreateFileExporter = createFileExporter, - IsEnabled = context => true + IsEnabled = context => true, + GetExportPath = () => ExportHelper.GetFilePath( + inquiryHelper, new FileFilterGenerator(Resources.DataTypeDisplayName_xml_file_filter_Extension, + Resources.DataTypeDisplayName_xml_file_filter_Description)) }; } } Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/ExportInfos/RiskeerExportInfoFactoryTest.cs =================================================================== diff -u -r5fd764f8bc968f35e200824a360b44a0a02fdf3e -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/ExportInfos/RiskeerExportInfoFactoryTest.cs (.../RiskeerExportInfoFactoryTest.cs) (revision 5fd764f8bc968f35e200824a360b44a0a02fdf3e) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/ExportInfos/RiskeerExportInfoFactoryTest.cs (.../RiskeerExportInfoFactoryTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -21,6 +21,7 @@ using System; using Core.Common.Base.IO; +using Core.Common.Gui.Helpers; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; using Core.Common.Util; @@ -43,25 +44,26 @@ // Setup var mocks = new MockRepository(); var fileImporter = mocks.Stub(); + var inquiryHelper = mocks.Stub(); mocks.ReplayAll(); Func, string, IFileExporter> createFileExporter = (context, s) => fileImporter; // Call ExportInfo> exportInfo = - RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo(createFileExporter); + RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo(createFileExporter, inquiryHelper); // Assert Assert.AreSame(createFileExporter, exportInfo.CreateFileExporter); Assert.AreEqual("Riskeer berekeningenconfiguratie", exportInfo.Name); + Assert.AreEqual("xml", exportInfo.Extension); Assert.AreEqual("Algemeen", exportInfo.Category); - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); Assert.IsTrue(exportInfo.IsEnabled(null)); + Assert.IsNotNull(exportInfo.GetExportPath); + mocks.VerifyAll(); } @@ -71,25 +73,28 @@ // Setup var mocks = new MockRepository(); var fileImporter = mocks.Stub(); + var inquiryHelper = mocks.Stub(); mocks.ReplayAll(); Func, bool> isEnabled = context => false; Func, string, IFileExporter> createFileExporter = (context, s) => fileImporter; // Call ExportInfo> exportInfo = - RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo(createFileExporter, isEnabled); + RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo(createFileExporter, isEnabled, inquiryHelper); // Assert Assert.AreSame(isEnabled, exportInfo.IsEnabled); Assert.AreSame(createFileExporter, exportInfo.CreateFileExporter); Assert.AreEqual("Riskeer berekeningenconfiguratie", exportInfo.Name); + Assert.AreEqual("xml", exportInfo.Extension); Assert.AreEqual("Algemeen", exportInfo.Category); - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); + + Assert.IsNotNull(exportInfo.GetExportPath); + + mocks.VerifyAll(); } } } \ No newline at end of file Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -67,6 +67,8 @@ /// public class GrassCoverErosionInwardsPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -163,13 +165,15 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new GrassCoverErosionInwardsCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new GrassCoverErosionInwardsCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetViewInfos() @@ -502,7 +506,7 @@ #region Helpers private static ClearIllustrationPointsOfGrassCoverErosionInwardsCalculationCollectionChangeHandler CreateChangeHandler( - DialogBasedInquiryHelper inquiryHelper, IEnumerable calculations) + IInquiryHelper inquiryHelper, IEnumerable calculations) { return new ClearIllustrationPointsOfGrassCoverErosionInwardsCalculationCollectionChangeHandler(inquiryHelper, calculations); } @@ -616,7 +620,6 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); IEnumerable calculations = grassCoverErosionInwardsFailureMechanismContext.WrappedData .Calculations .Cast(); @@ -639,7 +642,7 @@ .AddClearAllCalculationOutputInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext.WrappedData) .AddClearIllustrationPointsOfCalculationsInFailureMechanismItem( () => GrassCoverErosionInwardsIllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)) + CreateChangeHandler(GetInquiryHelper(), calculations)) .AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() @@ -718,8 +721,6 @@ .ToArray(); StrictContextMenuItem updateDikeProfileItem = CreateUpdateDikeProfileItem(calculations); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); builder.AddImportItem() .AddExportItem() @@ -759,7 +760,7 @@ .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group) .AddClearIllustrationPointsOfCalculationsInGroupItem(() => GrassCoverErosionInwardsIllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)); + CreateChangeHandler(GetInquiryHelper(), calculations)); if (isNestedGroup) { @@ -935,9 +936,8 @@ private ContextMenuStrip CalculationContextContextMenuStrip(GrassCoverErosionInwardsCalculationContext context, object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); GrassCoverErosionInwardsCalculation calculation = context.WrappedData; - var changeHandler = new ClearIllustrationPointsOfGrassCoverErosionInwardsCalculationChangeHandler(inquiryHelper, + var changeHandler = new ClearIllustrationPointsOfGrassCoverErosionInwardsCalculationChangeHandler(GetInquiryHelper(), calculation); StrictContextMenuItem updateDikeProfile = CreateUpdateDikeProfileItem(context); @@ -1012,10 +1012,7 @@ private bool DikeProfileDependentDataShouldUpdate(IEnumerable calculations, string query) { - var changeHandler = new CalculationChangeHandler(calculations, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new CalculationChangeHandler(calculations, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -1048,13 +1045,15 @@ private bool VerifyDikeProfilesShouldUpdate(DikeProfilesContext context, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(context.ParentFailureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new FailureMechanismCalculationChangeHandler(context.ParentFailureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationContextExportInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationContextExportInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -51,9 +50,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -85,22 +85,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new GrassCoverErosionInwardsPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationGroupContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationGroupContextExportInfoTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/ExportInfos/GrassCoverErosionInwardsCalculationGroupContextExportInfoTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -51,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -85,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new GrassCoverErosionInwardsPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/GrassCoverErosionOutwards/src/Riskeer.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -75,6 +75,7 @@ public class GrassCoverErosionOutwardsPlugin : PluginBase { private IHydraulicBoundaryLocationCalculationGuiService hydraulicBoundaryLocationCalculationGuiService; + private IInquiryHelper inquiryHelper; public override IEnumerable GetPropertyInfos() { @@ -375,13 +376,15 @@ yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetUpdateInfos() @@ -625,9 +628,8 @@ designWaterLevelItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - inquiryHelper, + GetInquiryHelper(), RiskeerPluginHelper.FormatCategoryBoundaryName(nodeData.CategoryBoundaryName), () => RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationIllustrationPoints(nodeData.WrappedData)); @@ -674,9 +676,8 @@ waveHeightItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - inquiryHelper, + GetInquiryHelper(), RiskeerPluginHelper.FormatCategoryBoundaryName(nodeData.CategoryBoundaryName), () => RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationIllustrationPoints(nodeData.WrappedData)); @@ -732,7 +733,6 @@ { CalculationGroup group = nodeData.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is GrassCoverErosionOutwardsWaveConditionsCalculationGroupContext; GrassCoverErosionOutwardsWaveConditionsCalculation[] calculations = group @@ -766,8 +766,7 @@ builder.AddRenameItem(); } - builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateAllCalculationsInGroupItem( @@ -945,8 +944,7 @@ TreeViewControl treeViewControl) { var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - + GrassCoverErosionOutwardsWaveConditionsCalculation calculation = nodeData.WrappedData; return builder @@ -955,8 +953,7 @@ .AddDuplicateCalculationItem(calculation, nodeData) .AddSeparator() .AddRenameItem() - .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + .AddUpdateForeshoreProfileOfCalculationItem(calculation, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateCalculationItem( @@ -1044,9 +1041,8 @@ calculateAllItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(guiMainWindow); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - inquiryHelper, + GetInquiryHelper(), RiskeerCommonFormsResources.WaterLevel_and_WaveHeight_DisplayName, () => GrassCoverErosionOutwardsDataSynchronizationService.ClearIllustrationPointResultsForDesignWaterLevelAndWaveHeightCalculations( failureMechanism, assessmentSection)); @@ -1095,9 +1091,8 @@ SetHydraulicsMenuItemEnabledStateAndTooltip(assessmentSection, designWaterLevelItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(guiMainWindow); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - inquiryHelper, + GetInquiryHelper(), RiskeerCommonFormsResources.WaterLevelCalculations_DisplayName, () => GrassCoverErosionOutwardsDataSynchronizationService.ClearIllustrationPointResultsForDesignWaterLevelCalculations( failureMechanism, assessmentSection)); @@ -1186,9 +1181,8 @@ SetHydraulicsMenuItemEnabledStateAndTooltip(assessmentSection, waveHeightItem); var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(guiMainWindow); var changeHandler = new ClearIllustrationPointsOfHydraulicBoundaryLocationCalculationCollectionChangeHandler( - inquiryHelper, + GetInquiryHelper(), RiskeerCommonFormsResources.WaveHeightCalculations_DisplayName, () => GrassCoverErosionOutwardsDataSynchronizationService.ClearIllustrationPointResultsForWaveHeightCalculations( failureMechanism, assessmentSection)); @@ -1281,5 +1275,10 @@ } #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -24,7 +24,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -57,11 +56,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -94,16 +94,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.Plugin.Test/ExportInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -55,11 +54,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -83,16 +83,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/HeightStructures/src/Riskeer.HeightStructures.Plugin/HeightStructuresPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/HeightStructures/src/Riskeer.HeightStructures.Plugin/HeightStructuresPlugin.cs (.../HeightStructuresPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/HeightStructures/src/Riskeer.HeightStructures.Plugin/HeightStructuresPlugin.cs (.../HeightStructuresPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -70,6 +70,8 @@ /// public class HeightStructuresPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -149,13 +151,15 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new HeightStructuresCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new HeightStructuresCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetViewInfos() @@ -455,7 +459,6 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); IEnumerable> calculations = context.WrappedData .Calculations .Cast>(); @@ -477,7 +480,7 @@ .AddSeparator() .AddClearAllCalculationOutputInFailureMechanismItem(context.WrappedData) .AddClearIllustrationPointsOfCalculationsInFailureMechanismItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)) + CreateChangeHandler(GetInquiryHelper(), calculations)) .AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() @@ -548,7 +551,6 @@ { CalculationGroup group = context.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is HeightStructuresCalculationGroupContext; StructuresCalculation[] calculations = group @@ -580,8 +582,7 @@ builder.AddRenameItem(); } - builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(calculations)) .AddSeparator() @@ -597,7 +598,7 @@ .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group) .AddClearIllustrationPointsOfCalculationsInGroupItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)); + CreateChangeHandler(GetInquiryHelper(), calculations)); if (isNestedGroup) { @@ -725,19 +726,16 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - StructuresCalculation calculation = context.WrappedData; - var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(inquiryHelper, calculation); + var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(GetInquiryHelper(), calculation); var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); return builder.AddExportItem() .AddSeparator() .AddDuplicateCalculationItem(calculation, context) .AddSeparator() .AddRenameItem() - .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + .AddUpdateForeshoreProfileOfCalculationItem(calculation, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(context)) .AddSeparator() @@ -850,10 +848,7 @@ private bool StructureDependentDataShouldUpdate(IEnumerable> calculations, string query) { - var changeHandler = new CalculationChangeHandler(calculations, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new CalculationChangeHandler(calculations, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -907,15 +902,17 @@ private bool VerifyStructuresShouldUpdate(IFailureMechanism failureMechanism, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationContextExportInfoTest.cs (.../HeightStructuresCalculationContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationContextExportInfoTest.cs (.../HeightStructuresCalculationContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new HeightStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationGroupContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationGroupContextExportInfoTest.cs (.../HeightStructuresCalculationGroupContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/HeightStructures/test/Riskeer.HeightStructures.Plugin.Test/ExportInfos/HeightStructuresCalculationGroupContextExportInfoTest.cs (.../HeightStructuresCalculationGroupContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new HeightStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs =================================================================== diff -u -r7262d57d1c71168248d6779269d425773b9624fc -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision 7262d57d1c71168248d6779269d425773b9624fc) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -159,21 +159,23 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new MacroStabilityInwardsCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new MacroStabilityInwardsCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); yield return new ExportInfo { Name = Resources.MacroStabilityInwardsCalculationExporter_DisplayName, FileFilterGenerator = new FileFilterGenerator(Resources.Stix_file_filter_extension, Resources.Stix_file_filter_description), CreateFileExporter = (context, filePath) => new MacroStabilityInwardsCalculationExporter(context.WrappedData, filePath), IsEnabled = context => context.WrappedData.HasOutput, - GetExportPath = fileFilter => ExportHelper.GetFilePath(InquiryHelper, fileFilter) + GetExportPath = fileFilter => ExportHelper.GetFilePath(GetInquiryHelper(), fileFilter) }; yield return new ExportInfo @@ -182,7 +184,7 @@ FileFilterGenerator = new FileFilterGenerator(Resources.Stix_file_filter_extension, Resources.Stix_file_filter_description), CreateFileExporter = (context, filePath) => new MacroStabilityInwardsCalculationGroupExporter(context.WrappedData, filePath), IsEnabled = context => context.WrappedData.HasOutput(), - GetExportPath = fileFilter => ExportHelper.GetFolderPath(InquiryHelper) + GetExportPath = fileFilter => ExportHelper.GetFolderPath(GetInquiryHelper()) }; } @@ -441,7 +443,7 @@ private bool VerifyStochasticSoilModelUpdates(MacroStabilityInwardsStochasticSoilModelCollectionContext context, string query) { var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, - query, InquiryHelper); + query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -1004,13 +1006,16 @@ private bool VerifySurfaceLineUpdates(MacroStabilityInwardsSurfaceLinesContext context, string query) { var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, - query, InquiryHelper); + query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion - private IInquiryHelper InquiryHelper => inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationContextConfigurationExportInfoTest.cs =================================================================== diff -u -r6fac6e4d8695e93e234b09e16cf60e0ff82f8484 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationContextConfigurationExportInfoTest.cs (.../MacroStabilityInwardsCalculationContextConfigurationExportInfoTest.cs) (revision 6fac6e4d8695e93e234b09e16cf60e0ff82f8484) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationContextConfigurationExportInfoTest.cs (.../MacroStabilityInwardsCalculationContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -53,9 +52,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -89,22 +89,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new MacroStabilityInwardsPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationGroupContextConfigurationExportInfoTest.cs =================================================================== diff -u -r824300c8334af59592df1efcfdff772318db561a -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationGroupContextConfigurationExportInfoTest.cs (.../MacroStabilityInwardsCalculationGroupContextConfigurationExportInfoTest.cs) (revision 824300c8334af59592df1efcfdff772318db561a) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ExportInfos/MacroStabilityInwardsCalculationGroupContextConfigurationExportInfoTest.cs (.../MacroStabilityInwardsCalculationGroupContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -53,9 +52,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -89,22 +89,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new MacroStabilityInwardsPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -71,6 +71,8 @@ /// public class PipingPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -158,13 +160,15 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new PipingCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new PipingCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetUpdateInfos() @@ -411,9 +415,7 @@ private bool VerifyStochasticSoilModelUpdates(PipingStochasticSoilModelCollectionContext context, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); + var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -1078,8 +1080,7 @@ private bool VerifyEntryAndExitPointUpdates(IEnumerable calculations, string query) { - var changeHandler = new CalculationChangeHandler(calculations, query, new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new CalculationChangeHandler(calculations, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -1099,13 +1100,15 @@ private bool VerifyPipingSurfaceLineUpdates(PipingSurfaceLinesContext context, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new FailureMechanismCalculationChangeHandler(context.FailureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationContextExportInfoTest.cs (.../PipingCalculationContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationContextExportInfoTest.cs (.../PipingCalculationContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -53,9 +52,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -89,22 +89,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new PipingPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationGroupContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationGroupContextExportInfoTest.cs (.../PipingCalculationGroupContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ExportInfos/PipingCalculationGroupContextExportInfoTest.cs (.../PipingCalculationGroupContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -53,9 +52,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -89,22 +89,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new PipingPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs =================================================================== diff -u -r40471dc78ba22cc0676f8850c1c5d25a90bc08ee -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision 40471dc78ba22cc0676f8850c1c5d25a90bc08ee) +++ Riskeer/StabilityPointStructures/src/Riskeer.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -68,6 +68,8 @@ /// public class StabilityPointStructuresPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -231,13 +233,15 @@ { yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new StabilityPointStructuresCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new StabilityPointStructuresCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetUpdateInfos() @@ -456,8 +460,6 @@ .Calculations .Cast>(); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - var builder = new RiskeerContextMenuBuilder(Gui.Get(failureMechanismContext, treeViewControl)); return builder.AddOpenItem() .AddSeparator() @@ -474,7 +476,7 @@ .AddSeparator() .AddClearAllCalculationOutputInFailureMechanismItem(failureMechanismContext.WrappedData) .AddClearIllustrationPointsOfCalculationsInFailureMechanismItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)) + CreateChangeHandler(GetInquiryHelper(), calculations)) .AddSeparator() .AddCollapseAllItem() .AddExpandAllItem() @@ -545,7 +547,6 @@ { CalculationGroup group = context.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is StabilityPointStructuresCalculationGroupContext; StructuresCalculation[] calculations = group @@ -577,8 +578,7 @@ builder.AddRenameItem(); } - builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(calculations)) .AddSeparator() @@ -594,7 +594,7 @@ .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group) .AddClearIllustrationPointsOfCalculationsInGroupItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculations), - CreateChangeHandler(inquiryHelper, calculations)); + CreateChangeHandler(GetInquiryHelper(), calculations)); if (isNestedGroup) { @@ -775,10 +775,8 @@ object parentData, TreeViewControl treeViewControl) { - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - StructuresCalculation calculation = context.WrappedData; - var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(inquiryHelper, calculation); + var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(GetInquiryHelper(), calculation); var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); return builder.AddExportItem() @@ -787,7 +785,7 @@ .AddSeparator() .AddRenameItem() .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(context)) .AddSeparator() @@ -850,10 +848,7 @@ private bool StructureDependentDataShouldUpdate(IEnumerable> calculations, string query) { - var changeHandler = new CalculationChangeHandler(calculations, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new CalculationChangeHandler(calculations, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } @@ -910,13 +905,15 @@ private bool VerifyStructuresShouldUpdate(IFailureMechanism failureMechanism, string query) { - var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, - query, - new DialogBasedInquiryHelper(Gui.MainWindow)); - + var changeHandler = new FailureMechanismCalculationChangeHandler(failureMechanism, query, GetInquiryHelper()); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); } #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationContextExportInfoTest.cs (.../StabilityPointStructuresCalculationContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationContextExportInfoTest.cs (.../StabilityPointStructuresCalculationContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new StabilityPointStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationGroupContextExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationGroupContextExportInfoTest.cs (.../StabilityPointStructuresCalculationGroupContextExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Plugin.Test/ExportInfos/StabilityPointStructuresCalculationGroupContextExportInfoTest.cs (.../StabilityPointStructuresCalculationGroupContextExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -52,9 +51,10 @@ Assert.IsNotNull(info.CreateFileExporter); Assert.IsNotNull(info.IsEnabled); Assert.AreEqual("Riskeer berekeningenconfiguratie", info.Name); + Assert.AreEqual("xml", info.Extension); Assert.AreEqual("Algemeen", info.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, info.Image); - Assert.IsNotNull(info.FileFilterGenerator); + Assert.IsNotNull(info.GetExportPath); } } @@ -86,22 +86,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Setup - using (var plugin = new StabilityPointStructuresPlugin()) - { - ExportInfo info = GetExportInfo(plugin); - - // Call - FileFilterGenerator fileFilterGenerator = info.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/StabilityStoneCover/src/Riskeer.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -66,6 +66,8 @@ /// public class StabilityStoneCoverPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -222,13 +224,15 @@ yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new StabilityStoneCoverWaveConditionsCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new StabilityStoneCoverWaveConditionsCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetUpdateInfos() @@ -447,7 +451,6 @@ { CalculationGroup group = nodeData.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is StabilityStoneCoverWaveConditionsCalculationGroupContext; StabilityStoneCoverWaveConditionsCalculation[] calculations = group @@ -479,8 +482,7 @@ builder.AddRenameItem(); } - builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateAllCalculationsInGroupItem(nodeData, @@ -628,17 +630,15 @@ TreeViewControl treeViewControl) { var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - + StabilityStoneCoverWaveConditionsCalculation calculation = nodeData.WrappedData; return builder .AddExportItem() .AddSeparator() .AddDuplicateCalculationItem(calculation, nodeData) .AddSeparator() .AddRenameItem() - .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + .AddUpdateForeshoreProfileOfCalculationItem(calculation, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateCalculationItem(nodeData, @@ -694,5 +694,10 @@ #endregion #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs =================================================================== diff -u -re4cabb16c0d0ab998cde11297ee81a07643bf0b4 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision e4cabb16c0d0ab998cde11297ee81a07643bf0b4) +++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -24,7 +24,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -56,11 +55,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -93,16 +93,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs =================================================================== diff -u -re4cabb16c0d0ab998cde11297ee81a07643bf0b4 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision e4cabb16c0d0ab998cde11297ee81a07643bf0b4) +++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Plugin.Test/ExportInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -23,7 +23,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -55,11 +54,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -83,16 +83,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup Index: Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs =================================================================== diff -u -re9b8aa3e972b9f07a3201f143c26de0e3f082d49 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision e9b8aa3e972b9f07a3201f143c26de0e3f082d49) +++ Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -66,6 +66,8 @@ /// public class WaveImpactAsphaltCoverPlugin : PluginBase { + private IInquiryHelper inquiryHelper; + public override IEnumerable GetPropertyInfos() { yield return new PropertyInfo @@ -221,13 +223,15 @@ yield return RiskeerExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( (context, filePath) => new AssessmentSectionCategoryWaveConditionsCalculationConfigurationExporter(context.WrappedData.Children, filePath), - context => context.WrappedData.Children.Any()); + context => context.WrappedData.Children.Any(), + GetInquiryHelper()); yield return RiskeerExportInfoFactory.CreateCalculationConfigurationExportInfo( (context, filePath) => new AssessmentSectionCategoryWaveConditionsCalculationConfigurationExporter(new[] { context.WrappedData - }, filePath)); + }, filePath), + GetInquiryHelper()); } public override IEnumerable GetUpdateInfos() @@ -449,7 +453,6 @@ { CalculationGroup group = nodeData.WrappedData; var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); bool isNestedGroup = parentData is WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext; WaveImpactAsphaltCoverWaveConditionsCalculation[] calculations = group @@ -482,8 +485,7 @@ builder.AddRenameItem(); } - builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, - inquiryHelper, + builder.AddUpdateForeshoreProfileOfCalculationsItem(calculations, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateAllCalculationsInGroupItem(nodeData, @@ -629,17 +631,15 @@ object parentData, TreeViewControl treeViewControl) { var builder = new RiskeerContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); - var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); - + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = nodeData.WrappedData; return builder.AddExportItem() .AddSeparator() .AddDuplicateCalculationItem(calculation, nodeData) .AddSeparator() .AddRenameItem() - .AddUpdateForeshoreProfileOfCalculationItem(calculation, - inquiryHelper, + .AddUpdateForeshoreProfileOfCalculationItem(calculation, GetInquiryHelper(), SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput) .AddSeparator() .AddValidateCalculationItem(nodeData, @@ -692,5 +692,10 @@ } #endregion + + private IInquiryHelper GetInquiryHelper() + { + return inquiryHelper ?? (inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow)); + } } } \ No newline at end of file Index: Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -24,7 +24,6 @@ using Core.Common.Base.IO; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; @@ -56,11 +55,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -93,16 +93,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_Always_ReturnTrue() { // Setup Index: Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs =================================================================== diff -u -r94117c8b21a1489473b16918eda26dde92753d45 -rd2233d09b25a96914d3af5b58a03fc8bffa52c41 --- Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision 94117c8b21a1489473b16918eda26dde92753d45) +++ Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/ExportInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextConfigurationExportInfoTest.cs) (revision d2233d09b25a96914d3af5b58a03fc8bffa52c41) @@ -55,11 +55,12 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert + Assert.AreEqual("xml", exportInfo.Extension); Assert.IsNotNull(exportInfo.CreateFileExporter); Assert.IsNotNull(exportInfo.IsEnabled); Assert.AreEqual("Algemeen", exportInfo.Category); TestHelper.AssertImagesAreEqual(CoreCommonGuiResources.ExportIcon, exportInfo.Image); - Assert.IsNotNull(exportInfo.FileFilterGenerator); + Assert.IsNotNull(exportInfo.GetExportPath); } [Test] @@ -83,16 +84,6 @@ } [Test] - public void FileFilterGenerator_Always_ReturnFileFilter() - { - // Call - FileFilterGenerator fileFilterGenerator = exportInfo.FileFilterGenerator; - - // Assert - Assert.AreEqual("Riskeer berekeningenconfiguratie (*.xml)|*.xml", fileFilterGenerator.Filter); - } - - [Test] public void IsEnabled_CalculationGroupNoChildren_ReturnFalse() { // Setup