Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs =================================================================== diff -u -r8ba742d2139563c9571e32f074c7c4b3077f45ee -r391454e567c25dbf6ccee1ebd91e7662f3d409ab --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs (.../IllustrationPointsTableControl.cs) (revision 8ba742d2139563c9571e32f074c7c4b3077f45ee) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsTableControl.cs (.../IllustrationPointsTableControl.cs) (revision 391454e567c25dbf6ccee1ebd91e7662f3d409ab) @@ -61,9 +61,25 @@ illustrationPointsDataGridViewControl.SetDataSource(data != null ? CreateRows() : null); + + UpdateClosingStructureVisibility(); } } + private void UpdateClosingStructureVisibility() + { + if (data != null) + { + if (data.TopLevelSubMechanismIllustrationPoints.Any(ip => ip.ClosingSituation != data.TopLevelSubMechanismIllustrationPoints.First().ClosingSituation)) + { + illustrationPointsDataGridViewControl.SetColumnVisibility(closingSituationColumnIndex, true); + return; + } + } + + illustrationPointsDataGridViewControl.SetColumnVisibility(closingSituationColumnIndex, false); + } + protected override void OnLoad(EventArgs e) { base.OnLoad(e); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsTableControlTest.cs =================================================================== diff -u -r8ba742d2139563c9571e32f074c7c4b3077f45ee -r391454e567c25dbf6ccee1ebd91e7662f3d409ab --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsTableControlTest.cs (.../IllustrationPointsTableControlTest.cs) (revision 8ba742d2139563c9571e32f074c7c4b3077f45ee) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsTableControlTest.cs (.../IllustrationPointsTableControlTest.cs) (revision 391454e567c25dbf6ccee1ebd91e7662f3d409ab) @@ -94,7 +94,7 @@ } [Test] - public void Data_SetNewValue_DataGridViewCorrectlyInitialized() + public void Data_SetNewValueWithDifferentClosingSituations_DataGridViewCorrectlyInitialized() { // Setup GeneralResultSubMechanismIllustrationPoint data = GetGeneralResult(); @@ -122,9 +122,57 @@ Assert.AreEqual("Open", cells[closingScenarioColumnIndex].FormattedValue); Assert.AreEqual(0.24196, Convert.ToDouble(cells[calculatedProbabilityColumnIndex].FormattedValue), 1e-5); Assert.AreEqual(0.7.ToString(CultureInfo.CurrentCulture), cells[calculatedReliabilityColumnIndex].FormattedValue); + + Assert.IsTrue(dataGridView.Columns[closingScenarioColumnIndex].Visible); } [Test] + public void Data_SetNewValueWithSameClosingSituations_DataGridViewCorrectlyInitialized() + { + // Setup + var data = new GeneralResultSubMechanismIllustrationPoint( + new TestWindDirection(), + Enumerable.Empty(), + new[] + { + new TopLevelSubMechanismIllustrationPoint( + new TestWindDirection(), "Regular", + new SubMechanismIllustrationPoint("Point 1", Enumerable.Empty(), + Enumerable.Empty(), 0.9)), + new TopLevelSubMechanismIllustrationPoint( + new TestWindDirection(), "Regular", + new SubMechanismIllustrationPoint("Point 2", Enumerable.Empty(), + Enumerable.Empty(), 0.7)) + }); + IllustrationPointsTableControl control = ShowControl(); + + // Call + control.Data = data; + + // Assert + var dataGridView = (DataGridView) control.Controls.Find("DataGridView", true).Single(); + + DataGridViewRowCollection rows = dataGridView.Rows; + Assert.AreEqual(2, rows.Count); + + DataGridViewCellCollection cells = rows[0].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual("SSE", cells[windDirectionColumnIndex].FormattedValue); + Assert.AreEqual("Regular", cells[closingScenarioColumnIndex].FormattedValue); + Assert.AreEqual(0.18406, Convert.ToDouble(cells[calculatedProbabilityColumnIndex].FormattedValue), 1e-5); + Assert.AreEqual(0.9.ToString(CultureInfo.CurrentCulture), cells[calculatedReliabilityColumnIndex].FormattedValue); + + cells = rows[1].Cells; + Assert.AreEqual(4, cells.Count); + Assert.AreEqual("SSE", cells[windDirectionColumnIndex].FormattedValue); + Assert.AreEqual("Regular", cells[closingScenarioColumnIndex].FormattedValue); + Assert.AreEqual(0.24196, Convert.ToDouble(cells[calculatedProbabilityColumnIndex].FormattedValue), 1e-5); + Assert.AreEqual(0.7.ToString(CultureInfo.CurrentCulture), cells[calculatedReliabilityColumnIndex].FormattedValue); + + Assert.IsFalse(dataGridView.Columns[closingScenarioColumnIndex].Visible); + } + + [Test] public void Data_SetToNull_DataGridViewCleared() { // Setup @@ -143,6 +191,8 @@ // Assert Assert.AreEqual(0, rows.Count); + + Assert.IsFalse(dataGridView.Columns[closingScenarioColumnIndex].Visible); } private IllustrationPointsTableControl ShowControl()