Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs =================================================================== diff -u -rc091c5e32285c7fa43ead2c459edb4aefd45ae71 -ra7a5111f48d0187ac735816b8366df498d237524 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs (.../CalculationsViewTest.cs) (revision c091c5e32285c7fa43ead2c459edb4aefd45ae71) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs (.../CalculationsViewTest.cs) (revision a7a5111f48d0187ac735816b8366df498d237524) @@ -483,25 +483,24 @@ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; var hydraulicBoundaryLocationCombobox = (DataGridViewComboBoxColumn) dataGridView.Columns[selectableHydraulicBoundaryLocationsColumnIndex]; - DataGridViewComboBoxCell.ObjectCollection oldHydraulicBoundaryLocationComboboxItems = hydraulicBoundaryLocationCombobox.Items; // Precondition - Assert.AreEqual(5, oldHydraulicBoundaryLocationComboboxItems.Count); + Assert.AreEqual(5, hydraulicBoundaryLocationCombobox.Items.Count); // When assessmentSection.HydraulicBoundaryDatabase.Locations.Add(new HydraulicBoundaryLocation(3, "Location 3", 5.5, 6.6)); assessmentSection.HydraulicBoundaryDatabase.Locations.NotifyObservers(); // Then - DataGridViewComboBoxCell.ObjectCollection newHydraulicBoundaryLocationComboboxItems = hydraulicBoundaryLocationCombobox.Items; - Assert.AreEqual(7, newHydraulicBoundaryLocationComboboxItems.Count); - Assert.AreEqual("", newHydraulicBoundaryLocationComboboxItems[0].ToString()); - Assert.AreEqual("Location 1 (2 m)", newHydraulicBoundaryLocationComboboxItems[1].ToString()); - Assert.AreEqual("Location 2 (6 m)", newHydraulicBoundaryLocationComboboxItems[2].ToString()); - Assert.AreEqual("Location 3 (9 m)", newHydraulicBoundaryLocationComboboxItems[3].ToString()); - Assert.AreEqual("Location 1 (4 m)", newHydraulicBoundaryLocationComboboxItems[4].ToString()); - Assert.AreEqual("Location 2 (5 m)", newHydraulicBoundaryLocationComboboxItems[5].ToString()); - Assert.AreEqual("Location 3 (7 m)", newHydraulicBoundaryLocationComboboxItems[6].ToString()); + DataGridViewComboBoxCell.ObjectCollection hydraulicBoundaryLocationComboboxItems = hydraulicBoundaryLocationCombobox.Items; + Assert.AreEqual(7, hydraulicBoundaryLocationComboboxItems.Count); + Assert.AreEqual("", hydraulicBoundaryLocationComboboxItems[0].ToString()); + Assert.AreEqual("Location 1 (2 m)", hydraulicBoundaryLocationComboboxItems[1].ToString()); + Assert.AreEqual("Location 2 (6 m)", hydraulicBoundaryLocationComboboxItems[2].ToString()); + Assert.AreEqual("Location 3 (9 m)", hydraulicBoundaryLocationComboboxItems[3].ToString()); + Assert.AreEqual("Location 1 (4 m)", hydraulicBoundaryLocationComboboxItems[4].ToString()); + Assert.AreEqual("Location 2 (5 m)", hydraulicBoundaryLocationComboboxItems[5].ToString()); + Assert.AreEqual("Location 3 (7 m)", hydraulicBoundaryLocationComboboxItems[6].ToString()); mocks.VerifyAll(); } Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsCalculationsView.cs =================================================================== diff -u -r8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1 -ra7a5111f48d0187ac735816b8366df498d237524 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsCalculationsView.cs (.../MacroStabilityInwardsCalculationsView.cs) (revision 8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsCalculationsView.cs (.../MacroStabilityInwardsCalculationsView.cs) (revision a7a5111f48d0187ac735816b8366df498d237524) @@ -71,6 +71,7 @@ stochasticSoilModelsObserver = new Observer(() => { + PrefillComboBoxListItemsAtColumnLevel(); UpdateColumns(); UpdateGenerateCalculationsButtonState(); }) Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsCalculationsViewTest.cs =================================================================== diff -u -r8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1 -ra7a5111f48d0187ac735816b8366df498d237524 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsCalculationsViewTest.cs (.../MacroStabilityInwardsCalculationsViewTest.cs) (revision 8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsCalculationsViewTest.cs (.../MacroStabilityInwardsCalculationsViewTest.cs) (revision a7a5111f48d0187ac735816b8366df498d237524) @@ -505,31 +505,56 @@ } [Test] - public void GivenFailureMechanismWithoutSurfaceLinesAndSoilModels_WhenAddSurfaceLineAndSoilModelAndDoNotNotifyObservers_ThenButtonDisabled() + public void GivenCalculationsView_WhenStochasticSoilModelsUpdatedAndNotified_ThenStochasticSoilModelsAndStochasticSoilProfilesComboboxCorrectlyUpdated() { // Given var mocks = new MockRepository(); var assessmentSection = mocks.Stub(); ConfigureHydraulicBoundaryDatabase(assessmentSection); mocks.ReplayAll(); - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - ShowMacroStabilityInwardsCalculationsView(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection); + MacroStabilityInwardsFailureMechanism failureMechanism = ConfigureFailureMechanism(); + ShowMacroStabilityInwardsCalculationsView(ConfigureCalculationGroup(assessmentSection, failureMechanism), failureMechanism, assessmentSection); + + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var soilModelsComboBox = (DataGridViewComboBoxColumn)dataGridView.Columns[stochasticSoilModelsColumnIndex]; + var soilProfilesComboBox = (DataGridViewComboBoxColumn)dataGridView.Columns[stochasticSoilProfilesColumnIndex]; + + // Precondition + Assert.AreEqual(4, soilModelsComboBox.Items.Count); + Assert.AreEqual(6, soilProfilesComboBox.Items.Count); + // When - const string arbitraryFilePath = "path"; - failureMechanism.SurfaceLines.AddRange(new[] - { - new MacroStabilityInwardsSurfaceLine(string.Empty) - }, arbitraryFilePath); failureMechanism.StochasticSoilModels.AddRange(new[] - { - MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel() - }, arbitraryFilePath); + { + MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel("Model F", new[] + { + new Point2D(0.0, 0.0), + new Point2D(5.0, 0.0) + }) + }, string.Empty); + failureMechanism.StochasticSoilModels.NotifyObservers(); // Then - var button = (Button)new ControlTester("generateButton").TheObject; - Assert.IsFalse(button.Enabled); + DataGridViewComboBoxCell.ObjectCollection soilModelItems = soilModelsComboBox.Items; + DataGridViewComboBoxCell.ObjectCollection soilProfileItems = soilProfilesComboBox.Items; + Assert.AreEqual(5, soilModelItems.Count); + Assert.AreEqual("", soilModelItems[0].ToString()); + Assert.AreEqual("Model A", soilModelItems[1].ToString()); + Assert.AreEqual("Model C", soilModelItems[2].ToString()); + Assert.AreEqual("Model E", soilModelItems[3].ToString()); + Assert.AreEqual("Model F", soilModelItems[4].ToString()); + + Assert.AreEqual(8, soilProfileItems.Count); + Assert.AreEqual("", soilProfileItems[0].ToString()); + Assert.AreEqual("Profile 1", soilProfileItems[1].ToString()); + Assert.AreEqual("Profile 2", soilProfileItems[2].ToString()); + Assert.AreEqual("Profile 3", soilProfileItems[3].ToString()); + Assert.AreEqual("Profile 4", soilProfileItems[4].ToString()); + Assert.AreEqual("Profile 5", soilProfileItems[5].ToString()); + Assert.AreEqual("A", soilProfileItems[6].ToString()); + mocks.VerifyAll(); } Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingCalculationsView.cs =================================================================== diff -u -r8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1 -ra7a5111f48d0187ac735816b8366df498d237524 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision 8dd568726bfcaf1f2c517f6e7c76ebe2b0f7e8b1) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision a7a5111f48d0187ac735816b8366df498d237524) @@ -1,4 +1,4 @@ -// Copyright (C) Stichting Deltares 2019. All rights reserved. +// Copyright (C) Stichting Deltares 2019. All rights reserved. // // This file is part of Riskeer. // @@ -75,6 +75,7 @@ stochasticSoilModelsObserver = new Observer(() => { + PrefillComboBoxListItemsAtColumnLevel(); UpdateColumns(); UpdateGenerateCalculationsButtonState(); }) Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs =================================================================== diff -u -r690aa5e48b5b6ffdc514439c74265e612100e49c -ra7a5111f48d0187ac735816b8366df498d237524 --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision 690aa5e48b5b6ffdc514439c74265e612100e49c) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingCalculationsViewTest.cs (.../PipingCalculationsViewTest.cs) (revision a7a5111f48d0187ac735816b8366df498d237524) @@ -596,31 +596,70 @@ } [Test] - public void GivenFailureMechanismWithoutSurfaceLinesAndSoilModels_WhenAddSurfaceLineAndSoilModelAndDoNotNotifyObservers_ThenButtonDisabled() + public void GivenCalculationsView_WhenStochasticSoilModelsUpdatedAndNotified_ThenStochasticSoilModelsAndStochasticSoilProfilesComboboxCorrectlyUpdated() { // Given var mocks = new MockRepository(); var assessmentSection = mocks.Stub(); ConfigureHydraulicBoundaryDatabase(assessmentSection); mocks.ReplayAll(); + + PipingFailureMechanism failureMechanism = ConfigureFailureMechanism(); + + ShowPipingCalculationsView(ConfigureCalculationGroup(assessmentSection, failureMechanism), failureMechanism, assessmentSection); - var failureMechanism = new PipingFailureMechanism(); - ShowPipingCalculationsView(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection); + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var soilModelsComboBox = (DataGridViewComboBoxColumn)dataGridView.Columns[stochasticSoilModelsColumnIndex]; + var soilProfilesComboBox = (DataGridViewComboBoxColumn)dataGridView.Columns[stochasticSoilProfilesColumnIndex]; + // Precondition + Assert.AreEqual(4, soilModelsComboBox.Items.Count); + Assert.AreEqual(6, soilProfilesComboBox.Items.Count); + // When - const string arbitraryFilePath = "path"; - failureMechanism.SurfaceLines.AddRange(new[] - { - new PipingSurfaceLine(string.Empty) - }, arbitraryFilePath); failureMechanism.StochasticSoilModels.AddRange(new[] { - PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel() - }, arbitraryFilePath); + new PipingStochasticSoilModel("Model F", new[] + { + new Point2D(1.0, 0.0), + new Point2D(4.0, 0.0) + }, new[] + { + new PipingStochasticSoilProfile(0.3, new PipingSoilProfile("Profile 5", -10.0, new[] + { + new PipingSoilLayer(-5.0), + new PipingSoilLayer(-2.0), + new PipingSoilLayer(1.0) + }, SoilProfileType.SoilProfile1D)), + new PipingStochasticSoilProfile(0.7, new PipingSoilProfile("Profile 6", -8.0, new[] + { + new PipingSoilLayer(-4.0), + new PipingSoilLayer(0.0), + new PipingSoilLayer(4.0) + }, SoilProfileType.SoilProfile1D)) + }) + }, string.Empty); + failureMechanism.StochasticSoilModels.NotifyObservers(); // Then - var button = (Button)new ControlTester("generateButton").TheObject; - Assert.IsFalse(button.Enabled); + DataGridViewComboBoxCell.ObjectCollection soilModelItems = soilModelsComboBox.Items; + DataGridViewComboBoxCell.ObjectCollection soilProfileItems = soilProfilesComboBox.Items; + Assert.AreEqual(5, soilModelItems.Count); + Assert.AreEqual("", soilModelItems[0].ToString()); + Assert.AreEqual("Model A", soilModelItems[1].ToString()); + Assert.AreEqual("Model C", soilModelItems[2].ToString()); + Assert.AreEqual("Model E", soilModelItems[3].ToString()); + Assert.AreEqual("Model F", soilModelItems[4].ToString()); + + Assert.AreEqual(7, soilProfileItems.Count); + Assert.AreEqual("", soilProfileItems[0].ToString()); + Assert.AreEqual("Profile 1", soilProfileItems[1].ToString()); + Assert.AreEqual("Profile 2", soilProfileItems[2].ToString()); + Assert.AreEqual("Profile 3", soilProfileItems[3].ToString()); + Assert.AreEqual("Profile 4", soilProfileItems[4].ToString()); + Assert.AreEqual("Profile 5", soilProfileItems[5].ToString()); + Assert.AreEqual("Profile 6", soilProfileItems[6].ToString()); + mocks.VerifyAll(); }