Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs =================================================================== diff -u -re7ceed448d10fb5240f13fb8660778f7843c8117 -r09f6885c51ffd238626cba61f0dca4f23fd8d643 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision e7ceed448d10fb5240f13fb8660778f7843c8117) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision 09f6885c51ffd238626cba61f0dca4f23fd8d643) @@ -51,7 +51,6 @@ private readonly IAssessmentSection assessmentSection; private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationOutputObserver; private readonly RecursiveObserver calculationGroupObserver; /// @@ -82,25 +81,18 @@ cg => cg.Children.Concat(cg.Children .OfType() .Select(c => c.InputParameters))); - calculationOutputObserver = new RecursiveObserver( - UpdateView, - cg => cg.Children.Concat(cg.Children - .OfType() - .Select(c => c.Output))); calculationGroupObserver = new RecursiveObserver( UpdateView, c => c.Children); CalculationGroup observableGroup = failureMechanism.CalculationsGroup; calculationInputObserver.Observable = observableGroup; - calculationOutputObserver.Observable = observableGroup; calculationGroupObserver.Observable = observableGroup; } protected override void Dispose(bool disposing) { calculationInputObserver.Dispose(); - calculationOutputObserver.Dispose(); calculationGroupObserver.Dispose(); base.Dispose(disposing); Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismResultView.cs =================================================================== diff -u -r884ba6ca60d8d9b50081e847a44e18c02b470138 -r09f6885c51ffd238626cba61f0dca4f23fd8d643 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismResultView.cs (.../HeightStructuresFailureMechanismResultView.cs) (revision 884ba6ca60d8d9b50081e847a44e18c02b470138) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/Views/HeightStructuresFailureMechanismResultView.cs (.../HeightStructuresFailureMechanismResultView.cs) (revision 09f6885c51ffd238626cba61f0dca4f23fd8d643) @@ -26,6 +26,7 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Forms.Builders; +using Ringtoets.Common.Forms.Controls; using Ringtoets.Common.Forms.Views; using Ringtoets.HeightStructures.Data; @@ -51,7 +52,6 @@ private readonly IAssessmentSection assessmentSection; private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationOutputObserver; private readonly RecursiveObserver calculationGroupObserver; /// @@ -72,32 +72,29 @@ this.assessmentSection = assessmentSection; + FailureMechanismAssemblyResultControl = new FailureMechanismAssemblyResultWithProbabilityControl(); + GetFailureMechanismAssemblyFunc = () => HeightStructuresFailureMechanismSectionResultAssemblyFactory.AssembleFailureMechanism(FailureMechanism, assessmentSection); + TableLayoutPanel.Controls.Add(FailureMechanismAssemblyResultControl, 0, 0); + // The concat is needed to observe the input of calculations in child groups. calculationInputObserver = new RecursiveObserver( - UpdateDataGridViewDataSource, + UpdateView, cg => cg.Children.Concat(cg.Children .OfType>() .Select(c => c.InputParameters))); - calculationOutputObserver = new RecursiveObserver( - UpdateDataGridViewDataSource, - cg => cg.Children.Concat(cg.Children - .OfType>() - .Select(c => c.Output))); calculationGroupObserver = new RecursiveObserver( - UpdateDataGridViewDataSource, + UpdateView, c => c.Children); CalculationGroup observableGroup = failureMechanism.CalculationsGroup; calculationInputObserver.Observable = observableGroup; - calculationOutputObserver.Observable = observableGroup; calculationGroupObserver.Observable = observableGroup; } protected override void Dispose(bool disposing) { calculationInputObserver.Dispose(); - calculationOutputObserver.Dispose(); calculationGroupObserver.Dispose(); base.Dispose(disposing); Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismResultViewTest.cs =================================================================== diff -u -r6f33b44599df032ecae3342b0aacd606a9e87c1f -r09f6885c51ffd238626cba61f0dca4f23fd8d643 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismResultViewTest.cs (.../HeightStructuresFailureMechanismResultViewTest.cs) (revision 6f33b44599df032ecae3342b0aacd606a9e87c1f) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Views/HeightStructuresFailureMechanismResultViewTest.cs (.../HeightStructuresFailureMechanismResultViewTest.cs) (revision 09f6885c51ffd238626cba61f0dca4f23fd8d643) @@ -27,7 +27,9 @@ using Rhino.Mocks; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.Forms.TestUtil; using Ringtoets.Common.Forms.Views; using Ringtoets.Common.Primitives; using Ringtoets.HeightStructures.Data; @@ -200,6 +202,33 @@ } } + [TestFixture] + public class HeightStructuresFailureMechanismResultWithProbabilityTest : FailureMechanismResultWithProbabilityTester< + HeightStructuresFailureMechanismResultView, + HeightStructuresFailureMechanism, + HeightStructuresFailureMechanismSectionResult, + HeightStructuresFailureMechanismSectionResultRow, + StructuresCalculation, + HeightStructuresInput> + { + protected override HeightStructuresFailureMechanismResultView CreateResultView(HeightStructuresFailureMechanism failureMechanism) + { + return new HeightStructuresFailureMechanismResultView(failureMechanism.SectionResults, + failureMechanism, + new AssessmentSectionStub()); + } + + protected override StructuresCalculation CreateCalculation() + { + return new StructuresCalculation(); + } + + protected override HeightStructuresInput GetInput(StructuresCalculation calculation) + { + return calculation.InputParameters; + } + } + private HeightStructuresFailureMechanismResultView ShowFailureMechanismResultsView( IObservableEnumerable sectionResults) {