Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs =================================================================== diff -u -r0005ab30cdf8989530d606c6d66ea37bc97a54a2 -r317f706374960c8be47bff9fdcc02ce53ff7180d --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 0005ab30cdf8989530d606c6d66ea37bc97a54a2) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 317f706374960c8be47bff9fdcc02ce53ff7180d) @@ -101,7 +101,9 @@ InitializeDataGridView(); UpdateSectionsListBox(); - UpdateDataGridView(); + UpdateDataGridViewDataSource(); + + UpdateVisibility(); } public object Data @@ -161,8 +163,8 @@ // The concat is needed to observe the input of calculations in child groups. calculationInputObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pcg => pcg.Children.Concat( - pcg.Children.OfType>() - .Select(c => c.InputParameters))) + pcg.Children.OfType>() + .Select(c => c.InputParameters))) { Observable = calculationGroup }; @@ -210,13 +212,12 @@ ); } - private void UpdateDataGridView() + private void UpdateVisibility() { + radioButtonsPanel.Visible = failureMechanism.ScenarioConfigurationType == PipingScenarioConfigurationType.PerFailureMechanismSection; dataGridViewControl.GetColumnFromIndex(failureProbabilityUpliftColumnIndex).Visible = failureMechanism.ScenarioConfigurationType == PipingScenarioConfigurationType.SemiProbabilistic; dataGridViewControl.GetColumnFromIndex(failureProbabilityHeaveColumnIndex).Visible = failureMechanism.ScenarioConfigurationType == PipingScenarioConfigurationType.SemiProbabilistic; dataGridViewControl.GetColumnFromIndex(failureProbabilitySellmeijerColumnIndex).Visible = failureMechanism.ScenarioConfigurationType == PipingScenarioConfigurationType.SemiProbabilistic; - - UpdateDataGridViewDataSource(); } private void UpdateDataGridViewDataSource() @@ -292,7 +293,8 @@ } failureMechanism.ScenarioConfigurationType = (PipingScenarioConfigurationType) selectConfigurationTypeComboBox.SelectedValue; - UpdateDataGridView(); + UpdateVisibility(); + UpdateDataGridViewDataSource(); } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs =================================================================== diff -u -r0005ab30cdf8989530d606c6d66ea37bc97a54a2 -r317f706374960c8be47bff9fdcc02ce53ff7180d --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 0005ab30cdf8989530d606c6d66ea37bc97a54a2) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 317f706374960c8be47bff9fdcc02ce53ff7180d) @@ -203,6 +203,33 @@ } [Test] + [TestCase(PipingScenarioConfigurationType.SemiProbabilistic, false)] + [TestCase(PipingScenarioConfigurationType.Probabilistic, false)] + [TestCase(PipingScenarioConfigurationType.PerFailureMechanismSection, true)] + public void Constructor_RadioButtonsCorrectlyInitialized(PipingScenarioConfigurationType scenarioConfigurationType, bool radioButtonsShouldBeVisible) + { + // Setup + var failureMechanism = new PipingFailureMechanism + { + ScenarioConfigurationType = scenarioConfigurationType + }; + + // Call + ShowPipingScenariosView(failureMechanism); + + // Assert + var radioButtonsPanel = (Panel) new PanelTester("radioButtonsPanel").TheObject; + Assert.AreEqual(radioButtonsShouldBeVisible, radioButtonsPanel.Visible); + + var radioButtonSemiProbabilistic = (RadioButton) new RadioButtonTester("radioButtonSemiProbabilistic").TheObject; + Assert.AreEqual("Semi-probabilistische toets", radioButtonSemiProbabilistic.Text); + Assert.IsTrue(radioButtonSemiProbabilistic.Checked); + var radioButtonProbabilistic = (RadioButton) new RadioButtonTester("radioButtonProbabilistic").TheObject; + Assert.AreEqual("Probabilistische toets", radioButtonProbabilistic.Text); + Assert.IsFalse(radioButtonProbabilistic.Checked); + } + + [Test] [TestCase(PipingScenarioConfigurationType.SemiProbabilistic, true)] [TestCase(PipingScenarioConfigurationType.Probabilistic, false)] public void Constructor_DataGridViewCorrectlyInitialized(PipingScenarioConfigurationType scenarioConfigurationType, bool semiProbabilisticColumnShouldBeVisible)