Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs =================================================================== diff -u -r8be12941c9471d7aa287b24b2cbc2c6fa61b15b6 -r577d370b3b0bc7af9ce8e3c91fdd2ca1ade477c2 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 8be12941c9471d7aa287b24b2cbc2c6fa61b15b6) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 577d370b3b0bc7af9ce8e3c91fdd2ca1ade477c2) @@ -27,6 +27,7 @@ using Core.Common.Controls.DataGrid; using Core.Common.Controls.Views; using Core.Common.Util.Extensions; +using Ringtoets.Common.Data; using Ringtoets.Common.Data.Exceptions; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.Controls; @@ -46,7 +47,7 @@ public abstract partial class FailureMechanismResultView : UserControl, IView where TSectionResult : FailureMechanismSectionResult where TSectionResultRow : FailureMechanismSectionResultRow - where TFailureMechanism : IFailureMechanism + where TFailureMechanism : IHasSectionResults where TAssemblyResultControl : AssemblyResultControl, new() { private readonly IObservableEnumerable failureMechanismSectionResults; @@ -166,12 +167,10 @@ UpdateFailureMechanismAssemblyResultControl(); } - /// - /// Determines if the failure mechanism has section assembly results that are manually overwritten. - /// - /// true if the failure mechanism has section assembly results that are manually overwritten, - /// false otherwise. - protected abstract bool HasManualAssemblyResults(); + private bool HasManualAssemblyResults() + { + return HasSectionResultsHelper.HasManualAssemblyResults(FailureMechanism); + } /// /// Updates the data source of the data grid view with the current known failure mechanism section results. Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs =================================================================== diff -u -r8be12941c9471d7aa287b24b2cbc2c6fa61b15b6 -r577d370b3b0bc7af9ce8e3c91fdd2ca1ade477c2 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 8be12941c9471d7aa287b24b2cbc2c6fa61b15b6) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 577d370b3b0bc7af9ce8e3c91fdd2ca1ade477c2) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using System.Windows.Forms; using Core.Common.Base; using Core.Common.Controls; @@ -357,22 +358,19 @@ public void GivenFailureMechanismResultsView_WhenHasManualAssemblyResultsTrueDuringUpdate_ThenWarningSet() { // Given - TestFailureMechanismSectionResult sectionResult = FailureMechanismSectionResultTestFactory.CreateFailureMechanismSectionResult(); + var failureMechanism = new TestFailureMechanism(); + FailureMechanismTestHelper.AddSections(failureMechanism, 1); + FailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - var sectionResults = new ObservableList + using (ShowFailureMechanismResultsView(failureMechanism)) { - sectionResult - }; - - using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(sectionResults)) - { // Precondition TestAssemblyResultControl resultControl = GetFailureMechanismAssemblyCategoryGroupControl(); ErrorProvider manualAssemblyWarningProvider = GetManualAssemblyWarningProvider(resultControl); Assert.IsEmpty(manualAssemblyWarningProvider.GetError(resultControl)); // When - view.HasManualSectionAssemblyResults = true; + sectionResult.UseManualAssembly = true; sectionResult.NotifyObservers(); // Then @@ -384,15 +382,12 @@ public void GivenFailureMechanismResultsView_WhenExceptionThrownAndHasManualAssemblyResultsTrueDuringUpdate_ThenMessagesSet() { // Given - TestFailureMechanismSectionResult sectionResult = FailureMechanismSectionResultTestFactory.CreateFailureMechanismSectionResult(); + var failureMechanism = new TestFailureMechanism(); + FailureMechanismTestHelper.AddSections(failureMechanism, 1); + FailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - var sectionResults = new ObservableList + using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(failureMechanism)) { - sectionResult - }; - - using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(sectionResults)) - { // Precondition TestAssemblyResultControl resultControl = GetFailureMechanismAssemblyCategoryGroupControl(); ErrorProvider errorProvider = GetErrorProvider(resultControl); @@ -402,7 +397,7 @@ Assert.IsEmpty(manualAssemblyWarningProvider.GetError(resultControl)); // When - view.HasManualSectionAssemblyResults = true; + sectionResult.UseManualAssembly = true; view.ThrowExceptionOnUpdate = true; sectionResult.NotifyObservers(); @@ -440,17 +435,14 @@ public void GivenFailureMechanismResultsViewWithMessages_WhenNoExceptionThrownAndManualSectionAssemblyResultsFalseDuringUpdate_ThenMessagesCleared() { // Given - TestFailureMechanismSectionResult sectionResult = FailureMechanismSectionResultTestFactory.CreateFailureMechanismSectionResult(); + var failureMechanism = new TestFailureMechanism(); + FailureMechanismTestHelper.AddSections(failureMechanism, 1); + FailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); - var sectionResults = new ObservableList + using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(failureMechanism)) { - sectionResult - }; - - using (TestFailureMechanismResultView view = ShowFailureMechanismResultsView(sectionResults)) - { view.ThrowExceptionOnUpdate = true; - view.HasManualSectionAssemblyResults = true; + sectionResult.UseManualAssembly = true; sectionResult.NotifyObservers(); // Precondition @@ -463,7 +455,7 @@ // When view.ThrowExceptionOnUpdate = false; - view.HasManualSectionAssemblyResults = false; + sectionResult.UseManualAssembly = false; sectionResult.NotifyObservers(); // Then @@ -566,6 +558,15 @@ return (TestAssemblyResultControl) new ControlTester("AssemblyResultControl").TheObject; } + private TestFailureMechanismResultView ShowFailureMechanismResultsView(TestFailureMechanism failureMechanism) + { + var failureMechanismResultView = new TestFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism); + testForm.Controls.Add(failureMechanismResultView); + testForm.Show(); + + return failureMechanismResultView; + } + private TestFailureMechanismResultView ShowFailureMechanismResultsView(IObservableEnumerable sectionResults) { var failureMechanismResultView = new TestFailureMechanismResultView(sectionResults, new TestFailureMechanism()); @@ -588,8 +589,6 @@ public bool AssemblyResultControlUpdated { get; set; } - public bool HasManualSectionAssemblyResults { private get; set; } - protected override FailureMechanismSectionResultRow CreateFailureMechanismSectionResultRow( FailureMechanismSectionResult sectionResult) { @@ -610,11 +609,6 @@ AssemblyResultControlUpdated = true; } - - protected override bool HasManualAssemblyResults() - { - return HasManualSectionAssemblyResults; - } } private class TestAssemblyResultControl : AssemblyResultControl {}