Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs =================================================================== diff -u -r1615014575a03b349c8fa4b24890036d811ca15f -ra6081e43734bfcf62c0c61e02665653f9d63df1a --- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs (.../AssemblyResultTotalView.cs) (revision 1615014575a03b349c8fa4b24890036d811ca15f) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/AssemblyResultTotalView.cs (.../AssemblyResultTotalView.cs) (revision a6081e43734bfcf62c0c61e02665653f9d63df1a) @@ -59,6 +59,8 @@ private readonly Observer assessmentSectionResultObserver; private IEnumerable assemblyResultRows; + private bool isCheckboxInitialized; + /// /// Creates a new instance of . /// @@ -102,9 +104,8 @@ UpdateAssemblyResultControls(); UpdateFailureMechanismsCorrelatedCheckBox(); + isCheckboxInitialized = true; - ResetRefreshAssemblyResultsButton(); - dataGridViewControl.CellFormatting += HandleCellStyling; } @@ -226,8 +227,11 @@ private void CheckBox_CheckedChanged(object sender, EventArgs e) { - EnableRefreshButton(); - AssessmentSection.AreFailureMechanismsCorrelated = checkBox.Checked; + if (isCheckboxInitialized) + { + EnableRefreshButton(); + AssessmentSection.AreFailureMechanismsCorrelated = checkBox.Checked; + } } #region Failure mechanism assembly result rows Index: Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs =================================================================== diff -u -r1615014575a03b349c8fa4b24890036d811ca15f -ra6081e43734bfcf62c0c61e02665653f9d63df1a --- Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs (.../AssemblyResultTotalViewTest.cs) (revision 1615014575a03b349c8fa4b24890036d811ca15f) +++ Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Views/AssemblyResultTotalViewTest.cs (.../AssemblyResultTotalViewTest.cs) (revision a6081e43734bfcf62c0c61e02665653f9d63df1a) @@ -186,12 +186,38 @@ Assert.IsFalse(checkBox.Visible); } } + + [Test] + public void GivenFormWithAssemblyResultTotalViewAndFailureMechanismsCorrelatedTrueWithAllCorrelatedFailureMechanismsInAssemblyTrue_ThenRefreshButtonCorrectlyInitialized() + { + // Given + AssessmentSection assessmentSection = CreateAssessmentSection(); + assessmentSection.AreFailureMechanismsCorrelated = true; + assessmentSection.HeightStructures.InAssembly = true; + assessmentSection.GrassCoverErosionInwards.InAssembly = true; + using (AssemblyResultTotalView view = ShowAssemblyResultTotalView(assessmentSection)) + { + // Precondition + bool allCorrelatedFailureMechanismsInAssembly = AssessmentSectionAssemblyHelper.AllCorrelatedFailureMechanismsInAssembly(assessmentSection); + Assert.IsTrue(allCorrelatedFailureMechanismsInAssembly); + + // Then + ButtonTester buttonTester = GetRefreshAssemblyResultButtonTester(); + Button refreshButton = buttonTester.Properties; + Assert.IsFalse(refreshButton.Enabled); + + ErrorProvider warningProvider = GetWarningProvider(view); + Assert.IsEmpty(warningProvider.GetError(refreshButton)); + } + } + [Test] - public void GivenFormWithAssemblyResultTotalViewAndAllCorrelatedFailureMechanismsInAssemblyTrue_ThenRefreshButtonDisabledAndWarningCleared() + public void GivenFormWithAssemblyResultTotalViewAndFailureMechanismsCorrelatedFalseWithAllCorrelatedFailureMechanismsInAssemblyTrue_ThenRefreshButtonCorrectlyInitialized() { // Given AssessmentSection assessmentSection = CreateAssessmentSection(); + assessmentSection.AreFailureMechanismsCorrelated = false; assessmentSection.HeightStructures.InAssembly = true; assessmentSection.GrassCoverErosionInwards.InAssembly = true; @@ -212,7 +238,7 @@ } [Test] - public void GivenFormWithAssemblyResultTotalViewAndAllCorrelatedFailureMechanismsInAssemblyFalse_ThenRefreshButtonDisabledAndWarningCleared() + public void GivenFormWithAssemblyResultTotalViewAndAllCorrelatedFailureMechanismsInAssemblyFalse_ThenRefreshButtonCorrectlyInitialized() { // Given AssessmentSection assessmentSection = CreateAssessmentSection();