Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs =================================================================== diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r2f287dc9b6b3487a792aff9281a15aa064779330 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision 2f287dc9b6b3487a792aff9281a15aa064779330) @@ -177,6 +177,12 @@ nameof(MacroStabilityInwardsFailureMechanismSectionResultRow.ManualAssemblyProbability)); } + protected override void RefreshDataGrid() + { + base.RefreshDataGrid(); + DataGridViewControl.AutoResizeColumn(combinedAssemblyProbabilityIndex); + } + protected override void UpdateAssemblyResultControl() { FailureMechanismAssemblyResultControl.SetAssemblyResult(MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism(FailureMechanism, assessmentSection, true)); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs =================================================================== diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r2f287dc9b6b3487a792aff9281a15aa064779330 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision 2f287dc9b6b3487a792aff9281a15aa064779330) @@ -22,9 +22,11 @@ using System; using System.Linq; using System.Windows.Forms; +using Core.Common.TestUtil; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.AssemblyTool.Data; using Ringtoets.AssemblyTool.KernelWrapper.Calculators; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly; @@ -117,7 +119,7 @@ using (ShowFailureMechanismResultsView(new MacroStabilityInwardsFailureMechanism())) { // Then - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + DataGridView dataGridView = GetDataGridView(); Assert.AreEqual(columnCount, dataGridView.ColumnCount); Assert.IsTrue(dataGridView.Columns[detailedAssessmentProbabilityIndex].ReadOnly); @@ -183,7 +185,7 @@ using (new AssemblyToolCalculatorFactoryConfig()) using (ShowFailureMechanismResultsView(failureMechanism)) { - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + DataGridView dataGridView = GetDataGridView(); // Assert DataGridViewRowCollection rows = dataGridView.Rows; @@ -233,6 +235,41 @@ } } + [Test] + public void GivenFailureMechanismResultView_WhenRowUpdated_ThenCombinedAssemblyProbabilityColumnAutoResizes() + { + // Given + var random = new Random(39); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + FailureMechanismTestHelper.AddSections(failureMechanism, 1); + + using (new AssemblyToolCalculatorFactoryConfig()) + using (ShowFailureMechanismResultsView(failureMechanism)) + { + DataGridView dataGridView = GetDataGridView(); + var row = (MacroStabilityInwardsFailureMechanismSectionResultRow) dataGridView.Rows[0].DataBoundItem; + + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + calculator.CombinedAssemblyOutput = new FailureMechanismSectionAssembly(0.1, random.NextEnumValue()); + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[combinedAssemblyProbabilityIndex]; + int initialWidth = dataGridViewCell.OwningColumn.Width; + + // When + calculator.CombinedAssemblyOutput = new FailureMechanismSectionAssembly(0.0000000000000000000000000001, random.NextEnumValue()); + row.TailorMadeAssessmentProbability = random.NextDouble(); + + // Then + int newWidth = dataGridViewCell.OwningColumn.Width; + Assert.Less(initialWidth, newWidth); + } + } + + private static DataGridView GetDataGridView() + { + return (DataGridView) new ControlTester("dataGridView").TheObject; + } + [TestFixture] public class MacroStabilityInwardsFailureMechanismAssemblyControlTest : FailureMechanismAssemblyResultWithProbabilityControlTestFixture< MacroStabilityInwardsFailureMechanismResultView,