Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -r5d6ebe2e900dc53874bae15126eaa813b504da3c -rd1ab9949ba34f02e063b0a8d13498d791b9c6ece --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 5d6ebe2e900dc53874bae15126eaa813b504da3c) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision d1ab9949ba34f02e063b0a8d13498d791b9c6ece) @@ -1017,21 +1017,10 @@ RingtoetsCommonFormsResources.CalculateAllIcon, (sender, args) => { - if (hydraulicBoundaryLocationCalculationGuiService == null) - { - return; - } - - IEnumerable activities = - DesignWaterLevelCalculationsGroupContextChildNodeObjects(nodeData) - .Cast() - .SelectMany(context => HydraulicBoundaryLocationCalculationActivityFactory.CreateDesignWaterLevelCalculationActivities( - context.WrappedData, - assessmentSection, - context.GetNormFunc(), context.CategoryBoundaryName)) - .ToArray(); - - ActivityProgressDialogRunner.Run(Gui.MainWindow, activities); + ActivityProgressDialogRunner.Run( + Gui.MainWindow, + GrassCoverErosionOutwardsHydraulicBoundaryLocationCalculationActivityFactory.CreateDesignWaterLevelCalculationActivities( + nodeData.FailureMechanism, assessmentSection)); }); SetHydraulicsMenuItemEnabledStateAndTooltip(assessmentSection, designWaterLevelItem); @@ -1096,22 +1085,10 @@ RingtoetsCommonFormsResources.CalculateAllIcon, (sender, args) => { - if (hydraulicBoundaryLocationCalculationGuiService == null) - { - return; - } - - IEnumerable activities = - WaveHeightCalculationsGroupContextChildNodeObjects(nodeData) - .Cast() - .SelectMany(context => HydraulicBoundaryLocationCalculationActivityFactory.CreateWaveHeightCalculationActivities( - context.WrappedData, - assessmentSection, - context.GetNormFunc(), - context.CategoryBoundaryName)) - .ToArray(); - - ActivityProgressDialogRunner.Run(Gui.MainWindow, activities); + ActivityProgressDialogRunner.Run( + Gui.MainWindow, + GrassCoverErosionOutwardsHydraulicBoundaryLocationCalculationActivityFactory.CreateWaveHeightCalculationActivities( + nodeData.FailureMechanism, assessmentSection)); }); SetHydraulicsMenuItemEnabledStateAndTooltip(assessmentSection, waveHeightItem); Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r4278b8ff350cb0c4629c8609e2b8267af9f5da5b -rd1ab9949ba34f02e063b0a8d13498d791b9c6ece --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContextTreeNodeInfoTest.cs) (revision 4278b8ff350cb0c4629c8609e2b8267af9f5da5b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContextTreeNodeInfoTest.cs) (revision d1ab9949ba34f02e063b0a8d13498d791b9c6ece) @@ -34,7 +34,6 @@ using Core.Common.Gui.Forms.ViewHost; using Core.Common.Gui.TestUtil.ContextMenu; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -47,7 +46,6 @@ using Ringtoets.GrassCoverErosionOutwards.Forms.PresentationObjects; using Ringtoets.HydraRing.Calculation.Calculator; using Ringtoets.HydraRing.Calculation.Calculator.Factory; -using Ringtoets.HydraRing.Calculation.Data.Input; using Ringtoets.HydraRing.Calculation.TestUtil.Calculator; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -303,121 +301,6 @@ [Test] [Apartment(ApartmentState.STA)] - public void CalculateDesignWaterLevelsFromContextMenu_AllRequiredInputSet_SendsRightInputToCalculationService() - { - // Setup - var mockRepository = new MockRepository(); - var assessmentSection = new AssessmentSectionStub - { - HydraulicBoundaryDatabase = - { - FilePath = Path.Combine(testDataPath, "HRD ijsselmeer.sqlite") - } - }; - - var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation("locationName 1"); - var hydraulicBoundaryLocation2 = new TestHydraulicBoundaryLocation("locationName 2"); - assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] - { - hydraulicBoundaryLocation1, - hydraulicBoundaryLocation2 - }); - - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 5 - }; - failureMechanism.SetHydraulicBoundaryLocationCalculations(new[] - { - hydraulicBoundaryLocation1, - hydraulicBoundaryLocation2 - }); - - var context = new GrassCoverErosionOutwardsDesignWaterLevelCalculationsGroupContext(new ObservableList(), - failureMechanism, - assessmentSection); - - using (var treeViewControl = new TreeViewControl()) - { - var gui = mockRepository.Stub(); - gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); - gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); - gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - gui.Stub(g => g.MainWindow).Return(mockRepository.Stub()); - gui.Stub(g => g.DocumentViewController).Return(mockRepository.Stub()); - - var designWaterLevelCalculator = new TestDesignWaterLevelCalculator(); - var calculatorFactory = mockRepository.Stub(); - calculatorFactory.Expect(cf => cf.CreateDesignWaterLevelCalculator(testDataPath, string.Empty)).Return(designWaterLevelCalculator).Repeat.Times(10); - mockRepository.ReplayAll(); - - DialogBoxHandler = (name, wnd) => - { - // Expect an activity dialog which is automatically closed - }; - - using (var plugin = new GrassCoverErosionOutwardsPlugin()) - { - TreeNodeInfo info = GetInfo(plugin); - plugin.Gui = gui; - plugin.Activate(); - - using (ContextMenuStrip contextMenuAdapter = info.ContextMenuStrip(context, null, treeViewControl)) - using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) - { - // Call - contextMenuAdapter.Items[contextMenuRunDesignWaterLevelCalculationsIndex].PerformClick(); - - // Assert - double mechanismSpecificFactorizedSignalingNorm = GetExpectedNorm(failureMechanism, - () => assessmentSection.FailureMechanismContribution.SignalingNorm / 30); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificFactorizedSignalingNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(0)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificFactorizedSignalingNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(1)); - - double mechanismSpecificSignalingNorm = GetExpectedNorm(failureMechanism, () => assessmentSection.FailureMechanismContribution.SignalingNorm); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificSignalingNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(2)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificSignalingNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(3)); - - double mechanismSpecificLowerLimitNorm = GetExpectedNorm(failureMechanism, () => assessmentSection.FailureMechanismContribution.LowerLimitNorm); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificLowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(4)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificLowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(5)); - - double lowerLimitNorm = assessmentSection.FailureMechanismContribution.LowerLimitNorm; - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - lowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(6)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - lowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(7)); - - double factorizedLowerLimitNorm = lowerLimitNorm * 30; - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - factorizedLowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(8)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - factorizedLowerLimitNorm, - designWaterLevelCalculator.ReceivedInputs.ElementAt(9)); - } - } - } - - mockRepository.VerifyAll(); - } - - [Test] - [Apartment(ApartmentState.STA)] public void GivenHydraulicBoundaryLocationThatSucceeds_CalculatingDesignWaterLevelFromContextMenu_ThenLogMessagesAddedOutputSet() { // Given @@ -584,17 +467,8 @@ StringAssert.StartsWith("Waterstand berekening is uitgevoerd op de tijdelijke locatie", messages.ElementAt(startIndex + 5)); CalculationServiceTestHelper.AssertCalculationEndMessage(messages.ElementAt(startIndex + 6)); Assert.AreEqual($"Waterstand berekenen voor locatie '{hydraulicBoundaryLocation.Name}' (Categorie {categoryName}) is gelukt.", messages.ElementAt(startIndex + 7)); - } - private static void AssertHydraRingCalculationInput(HydraulicBoundaryLocation hydraulicBoundaryLocation, - double norm, - HydraRingCalculationInput actualCalculationInput) - { - Assert.AreEqual(hydraulicBoundaryLocation.Id, actualCalculationInput.HydraulicBoundaryLocationId); - Assert.AreEqual(StatisticsConverter.ProbabilityToReliability(norm), actualCalculationInput.Beta); - } - private static double GetExpectedNorm(GrassCoverErosionOutwardsFailureMechanism failureMechanism, Func getNormFunc) { return RingtoetsCommonDataCalculationService.ProfileSpecificRequiredProbability( Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r4278b8ff350cb0c4629c8609e2b8267af9f5da5b -rd1ab9949ba34f02e063b0a8d13498d791b9c6ece --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsGroupContextTreeNodeInfoTest.cs) (revision 4278b8ff350cb0c4629c8609e2b8267af9f5da5b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveHeightCalculationsGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationsGroupContextTreeNodeInfoTest.cs) (revision d1ab9949ba34f02e063b0a8d13498d791b9c6ece) @@ -34,7 +34,6 @@ using Core.Common.Gui.Forms.ViewHost; using Core.Common.Gui.TestUtil.ContextMenu; using Core.Common.TestUtil; -using Core.Common.Util; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -47,7 +46,6 @@ using Ringtoets.GrassCoverErosionOutwards.Forms.PresentationObjects; using Ringtoets.HydraRing.Calculation.Calculator; using Ringtoets.HydraRing.Calculation.Calculator.Factory; -using Ringtoets.HydraRing.Calculation.Data.Input; using Ringtoets.HydraRing.Calculation.TestUtil.Calculator; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -303,121 +301,6 @@ [Test] [Apartment(ApartmentState.STA)] - public void CalculateWaveHeightsFromContextMenu_AllRequiredInputSet_SendsRightInputToCalculationService() - { - // Setup - var mockRepository = new MockRepository(); - var assessmentSection = new AssessmentSectionStub - { - HydraulicBoundaryDatabase = - { - FilePath = Path.Combine(testDataPath, "HRD ijsselmeer.sqlite") - } - }; - - var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation("locationName 1"); - var hydraulicBoundaryLocation2 = new TestHydraulicBoundaryLocation("locationName 2"); - assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] - { - hydraulicBoundaryLocation1, - hydraulicBoundaryLocation2 - }); - - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 5 - }; - failureMechanism.SetHydraulicBoundaryLocationCalculations(new[] - { - hydraulicBoundaryLocation1, - hydraulicBoundaryLocation2 - }); - - var context = new GrassCoverErosionOutwardsWaveHeightCalculationsGroupContext(new ObservableList(), - failureMechanism, - assessmentSection); - - using (var treeViewControl = new TreeViewControl()) - { - var gui = mockRepository.Stub(); - gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); - gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); - gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - gui.Stub(g => g.MainWindow).Return(mockRepository.Stub()); - gui.Stub(g => g.DocumentViewController).Return(mockRepository.Stub()); - - var waveHeightCalculator = new TestWaveHeightCalculator(); - var calculatorFactory = mockRepository.Stub(); - calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(testDataPath, string.Empty)).Return(waveHeightCalculator).Repeat.Times(10); - mockRepository.ReplayAll(); - - DialogBoxHandler = (name, wnd) => - { - // Expect an activity dialog which is automatically closed - }; - - using (var plugin = new GrassCoverErosionOutwardsPlugin()) - { - TreeNodeInfo info = GetInfo(plugin); - plugin.Gui = gui; - plugin.Activate(); - - using (ContextMenuStrip contextMenuAdapter = info.ContextMenuStrip(context, null, treeViewControl)) - using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) - { - // Call - contextMenuAdapter.Items[contextMenuRunWaveHeightCalculationsIndex].PerformClick(); - - // Assert - double mechanismSpecificFactorizedSignalingNorm = GetExpectedNorm(failureMechanism, - () => assessmentSection.FailureMechanismContribution.SignalingNorm / 30); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificFactorizedSignalingNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(0)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificFactorizedSignalingNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(1)); - - double mechanismSpecificSignalingNorm = GetExpectedNorm(failureMechanism, () => assessmentSection.FailureMechanismContribution.SignalingNorm); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificSignalingNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(2)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificSignalingNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(3)); - - double mechanismSpecificLowerLimitNorm = GetExpectedNorm(failureMechanism, () => assessmentSection.FailureMechanismContribution.LowerLimitNorm); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - mechanismSpecificLowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(4)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - mechanismSpecificLowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(5)); - - double lowerLimitNorm = assessmentSection.FailureMechanismContribution.LowerLimitNorm; - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - lowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(6)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - lowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(7)); - - double factorizedLowerLimitNorm = lowerLimitNorm * 30; - AssertHydraRingCalculationInput(hydraulicBoundaryLocation1, - factorizedLowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(8)); - AssertHydraRingCalculationInput(hydraulicBoundaryLocation2, - factorizedLowerLimitNorm, - waveHeightCalculator.ReceivedInputs.ElementAt(9)); - } - } - } - - mockRepository.VerifyAll(); - } - - [Test] - [Apartment(ApartmentState.STA)] public void GivenHydraulicBoundaryLocationThatSucceeds_CalculatingWaveHeightFromContextMenu_ThenLogMessagesAddedOutputSet() { // Given @@ -598,13 +481,5 @@ CalculationServiceTestHelper.AssertCalculationEndMessage(messages.ElementAt(startIndex + 6)); Assert.AreEqual($"Golfhoogte berekenen voor locatie '{hydraulicBoundaryLocation.Name}' (Categorie {categoryName}) is gelukt.", messages.ElementAt(startIndex + 7)); } - - private static void AssertHydraRingCalculationInput(HydraulicBoundaryLocation hydraulicBoundaryLocation, - double norm, - HydraRingCalculationInput actualCalculationInput) - { - Assert.AreEqual(hydraulicBoundaryLocation.Id, actualCalculationInput.HydraulicBoundaryLocationId); - Assert.AreEqual(StatisticsConverter.ProbabilityToReliability(norm), actualCalculationInput.Beta); - } } } \ No newline at end of file