Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs =================================================================== diff -u -rc046d22cfc010414d21bda8cc15806530e315ca3 -r1279dcba187f56c0ba96dfdb962067304e333475 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision c046d22cfc010414d21bda8cc15806530e315ca3) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision 1279dcba187f56c0ba96dfdb962067304e333475) @@ -642,64 +642,9 @@ public void GivenPipingCalculationsViewGenerateScenariosButtonClicked_WhenSurfaceLineSelectedAndDialogClosed_ThenUpdateSectionResultScenarios() { // Given - var surfaceLine1 = new RingtoetsPipingSurfaceLine - { - Name = "Surface line 1", - ReferenceLineIntersectionWorldPoint = new Point2D(0.0, 0.0) - }; - - surfaceLine1.SetGeometry(new[] - { - new Point3D(0.0, 5.0, 0.0), - new Point3D(0.0, 0.0, 1.0), - new Point3D(0.0, -5.0, 0.0) - }); - - var surfaceLine2 = new RingtoetsPipingSurfaceLine - { - Name = "Surface line 2", - ReferenceLineIntersectionWorldPoint = new Point2D(5.0, 0.0) - }; - - surfaceLine2.SetGeometry(new[] - { - new Point3D(5.0, 5.0, 0.0), - new Point3D(5.0, 0.0, 1.0), - new Point3D(5.0, -5.0, 0.0) - }); - var pipingCalculationsView = ShowPipingCalculationsView(); - var pipingFailureMechanism = new PipingFailureMechanism - { - SurfaceLines = - { - surfaceLine1, - surfaceLine2 - }, - StochasticSoilModels = - { - new TestStochasticSoilModel - { - Geometry = - { - new Point2D(0.0, 0.0), new Point2D(5.0, 0.0) - }, - } - } - }; + var pipingFailureMechanism = GetFailureMechanism(); - pipingFailureMechanism.AddSection(new FailureMechanismSection("Section 1", new List - { - new Point2D(0.0, 0.0), - new Point2D(5.0, 0.0) - })); - - pipingFailureMechanism.AddSection(new FailureMechanismSection("Section 2", new List - { - new Point2D(5.0, 0.0), - new Point2D(10.0, 0.0) - })); - pipingCalculationsView.PipingFailureMechanism = pipingFailureMechanism; pipingCalculationsView.Data = pipingFailureMechanism.CalculationsGroup; @@ -740,6 +685,45 @@ } [Test] + public void GivenPipingCalculatoinsViewGenerateScenariosCancelButtonClicked_WhenDialogClosed_SectionResultScenariosNotUpdated() + { + // Given + var pipingCalculationsView = ShowPipingCalculationsView(); + var pipingFailureMechanism = GetFailureMechanism(); + + pipingCalculationsView.PipingFailureMechanism = pipingFailureMechanism; + pipingCalculationsView.Data = pipingFailureMechanism.CalculationsGroup; + + // Precondition + foreach (var failureMechanismSectionResult in pipingCalculationsView.PipingFailureMechanism.SectionResults) + { + CollectionAssert.IsEmpty(failureMechanismSectionResult.CalculationScenarios); + } + + var button = new ButtonTester("buttonGenerateScenarios", testForm); + + DialogBoxHandler = (name, wnd) => + { + var selectionDialog = new FormTester(name).TheObject as PipingSurfaceLineSelectionDialog; + + var selectionView = (DataGridView)new ControlTester("SurfaceLineDataGrid", selectionDialog).TheObject; + + selectionView.Rows[0].Cells[0].Value = true; + + // When + new ButtonTester("CustomCancelButton", selectionDialog).Click(); + }; + + button.Click(); + + // Then + foreach (var failureMechanismSectionResult in pipingCalculationsView.PipingFailureMechanism.SectionResults) + { + CollectionAssert.IsEmpty(failureMechanismSectionResult.CalculationScenarios); + } + } + + [Test] public void GivenFailureMechanismWithoutSurfaceLinesAndSoilModels_WhenAddSoilModelAndNotify_ThenButtonDisabled() { // Given @@ -1078,6 +1062,68 @@ return pipingCalculationsView; } + private PipingFailureMechanism GetFailureMechanism() + { + var surfaceLine1 = new RingtoetsPipingSurfaceLine + { + Name = "Surface line 1", + ReferenceLineIntersectionWorldPoint = new Point2D(0.0, 0.0) + }; + + surfaceLine1.SetGeometry(new[] + { + new Point3D(0.0, 5.0, 0.0), + new Point3D(0.0, 0.0, 1.0), + new Point3D(0.0, -5.0, 0.0) + }); + + var surfaceLine2 = new RingtoetsPipingSurfaceLine + { + Name = "Surface line 2", + ReferenceLineIntersectionWorldPoint = new Point2D(5.0, 0.0) + }; + + surfaceLine2.SetGeometry(new[] + { + new Point3D(5.0, 5.0, 0.0), + new Point3D(5.0, 0.0, 1.0), + new Point3D(5.0, -5.0, 0.0) + }); + + var pipingFailureMechanism = new PipingFailureMechanism + { + SurfaceLines = + { + surfaceLine1, + surfaceLine2 + }, + StochasticSoilModels = + { + new TestStochasticSoilModel + { + Geometry = + { + new Point2D(0.0, 0.0), new Point2D(5.0, 0.0) + }, + } + } + }; + + pipingFailureMechanism.AddSection(new FailureMechanismSection("Section 1", new List + { + new Point2D(0.0, 0.0), + new Point2D(5.0, 0.0) + })); + + pipingFailureMechanism.AddSection(new FailureMechanismSection("Section 2", new List + { + new Point2D(5.0, 0.0), + new Point2D(10.0, 0.0) + })); + + return pipingFailureMechanism; + } + private PipingCalculationsView ShowPipingCalculationsView() { var pipingCalculationsView = new PipingCalculationsView();