Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r184de624feae0c0a051e34298d66e304d073daf5 -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 184de624feae0c0a051e34298d66e304d073daf5) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -418,8 +418,10 @@ RingtoetsCommonFormsResources.Validate_all, RingtoetsCommonFormsResources.Validate_all_ToolTip, RingtoetsCommonFormsResources.ValidateAllIcon, - (o, args) => ValidateAll(failureMechanism) - ); + (o, args) => + { + ValidateAll(GetAllPipingCalculations(failureMechanism)); + }); if (!GetAllPipingCalculations(failureMechanism).Any()) { @@ -430,25 +432,6 @@ return menuItem; } - private void ValidateAll(PipingFailureMechanism failureMechanism) - { - foreach (PipingCalculation calculation in GetAllPipingCalculations(failureMechanism)) - { - PipingCalculationService.Validate(calculation); - } - } - - private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) - { - ActivityProgressDialogRunner.Run(Gui.MainWindow, - GetAllPipingCalculations(failureMechanismContext.WrappedData) - .Select(calc => new PipingCalculationActivity(calc, - failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput, - failureMechanismContext.Parent.FailureMechanismContribution.Norm, - failureMechanismContext.WrappedData.Contribution)) - .ToList()); - } - private object[] FailureMechanismEnabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) { PipingFailureMechanism wrappedData = pipingFailureMechanismContext.WrappedData; @@ -714,7 +697,10 @@ var menuItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.Validate_all, PipingFormsResources.PipingCalculationGroup_Validate_All_ToolTip, - RingtoetsCommonFormsResources.ValidateAllIcon, (o, args) => { ValidateAll(group); }); + RingtoetsCommonFormsResources.ValidateAllIcon, (o, args) => + { + ValidateAll(group.GetCalculations().OfType()); + }); if (!group.GetCalculations().Any()) { @@ -725,35 +711,55 @@ return menuItem; } + private void PipingCalculationGroupContextOnNodeRemoved(PipingCalculationGroupContext nodeData, object parentNodeData) + { + var parentGroupContext = (PipingCalculationGroupContext) parentNodeData; + + parentGroupContext.WrappedData.Children.Remove(nodeData.WrappedData); + + parentGroupContext.NotifyObservers(); + } + + #endregion + + private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) + { + var calculations = GetAllPipingCalculations(failureMechanismContext.WrappedData); + var assessmentInput = failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput; + var norm = failureMechanismContext.Parent.FailureMechanismContribution.Norm; + var contribution = failureMechanismContext.WrappedData.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); + } + private void CalculateAll(CalculationGroup group, PipingCalculationGroupContext context) { - ActivityProgressDialogRunner.Run(Gui.MainWindow, - group.GetCalculations() - .OfType() - .Select(pc => new PipingCalculationActivity(pc, - context.FailureMechanism.PipingProbabilityAssessmentInput, - context.AssessmentSection.FailureMechanismContribution.Norm, - context.FailureMechanism.Contribution)) - .ToList()); + var calculations = group.GetCalculations().OfType().ToArray(); + var assessmentInput = context.FailureMechanism.PipingProbabilityAssessmentInput; + var norm = context.AssessmentSection.FailureMechanismContribution.Norm; + var contribution = context.FailureMechanism.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); } - private static void ValidateAll(CalculationGroup group) + private static void ValidateAll(IEnumerable pipingCalculations) { - foreach (PipingCalculation calculation in group.GetCalculations().OfType()) + foreach (PipingCalculation calculation in pipingCalculations) { PipingCalculationService.Validate(calculation); } } - private void PipingCalculationGroupContextOnNodeRemoved(PipingCalculationGroupContext nodeData, object parentNodeData) + private void CalculateAll(IEnumerable calculations, PipingProbabilityAssessmentInput assessmentInput, int norm, double contribution) { - var parentGroupContext = (PipingCalculationGroupContext) parentNodeData; - - parentGroupContext.WrappedData.Children.Remove(nodeData.WrappedData); - - parentGroupContext.NotifyObservers(); + ActivityProgressDialogRunner.Run( + Gui.MainWindow, + calculations + .Select(pc => new PipingCalculationActivity(pc, + assessmentInput, + norm, + contribution)) + .ToList()); } - - #endregion } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r184de624feae0c0a051e34298d66e304d073daf5 -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 184de624feae0c0a051e34298d66e304d073daf5) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -721,13 +721,13 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(6, msgs.Length); + Assert.AreEqual(9, msgs.Length); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", validCalculation.Name), msgs[0]); StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", validCalculation.Name), msgs[1]); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidCalculation.Name), msgs[2]); // Some validation error from validation service - StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[5]); + StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[8]); }); } mocks.VerifyAll(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs =================================================================== diff -u -r12a35732d53e73c149035a212f96d2a0e9604cff -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision 12a35732d53e73c149035a212f96d2a0e9604cff) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -521,7 +521,7 @@ Action action = () => { contextMenuAdapter.Items[calculateContextMenuItemIndex].PerformClick(); }; // Then - var expectedValidationMessageCount = 2; // No surfaceline or soil profile selected for calculation + var expectedValidationMessageCount = 5; TestHelper.AssertLogMessages(action, messages => { var msgs = messages.GetEnumerator(); @@ -575,7 +575,7 @@ Action action = () => contextMenuAdapter.Items[validateContextMenuItemIndex].PerformClick(); // Then - var expectedValidationMessageCount = 2; // No surfaceline or soil profile selected for calculation + var expectedValidationMessageCount = 5; var expectedStatusMessageCount = 2; var expectedLogMessageCount = expectedValidationMessageCount + expectedStatusMessageCount; TestHelper.AssertLogMessagesCount(action, expectedLogMessageCount); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -r12a35732d53e73c149035a212f96d2a0e9604cff -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision 12a35732d53e73c149035a212f96d2a0e9604cff) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -662,13 +662,13 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(6, msgs.Length); + Assert.AreEqual(9, msgs.Length); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", validCalculation.Name), msgs[0]); StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", validCalculation.Name), msgs[1]); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidCalculation.Name), msgs[2]); // Some validation error from validation service - StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[5]); + StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[8]); }); } mocks.VerifyAll(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs =================================================================== diff -u -r14de3deecd2cff7f6abe41ed6dc5dc016c4c81e0 -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision 14de3deecd2cff7f6abe41ed6dc5dc016c4c81e0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -69,11 +69,14 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(4, msgs.Length); - StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidPipingCalculation.Name), msgs[0]); + Assert.AreEqual(7, msgs.Length); + StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidPipingCalculation.Name), msgs.First()); StringAssert.StartsWith("Validatie mislukt: ", msgs[1]); StringAssert.StartsWith("Validatie mislukt: ", msgs[2]); - StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidPipingCalculation.Name), msgs[3]); + StringAssert.StartsWith("Validatie mislukt: ", msgs[3]); + StringAssert.StartsWith("Validatie mislukt: ", msgs[4]); + StringAssert.StartsWith("Validatie mislukt: ", msgs[5]); + StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidPipingCalculation.Name), msgs.Last()); }); Assert.AreEqual(ActivityState.Failed, activity.State); Assert.AreEqual(originalOutput, invalidPipingCalculation.Output);