Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs =================================================================== diff -u -r884ba6ca60d8d9b50081e847a44e18c02b470138 -r15094551c745a25dca86ad12e8cc75ab5cdc8d73 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs (.../ClosingStructuresFailureMechanismResultView.cs) (revision 884ba6ca60d8d9b50081e847a44e18c02b470138) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs (.../ClosingStructuresFailureMechanismResultView.cs) (revision 15094551c745a25dca86ad12e8cc75ab5cdc8d73) @@ -27,6 +27,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; namespace Ringtoets.ClosingStructures.Forms.Views @@ -51,7 +52,6 @@ private readonly IAssessmentSection assessmentSection; private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationOutputObserver; private readonly RecursiveObserver calculationGroupObserver; /// @@ -72,24 +72,22 @@ this.assessmentSection = assessmentSection; + FailureMechanismAssemblyResultControl = new FailureMechanismAssemblyResultWithProbabilityControl(); + GetFailureMechanismAssemblyFunc = () => ClosingStructuresFailureMechanismSectionResultAssemblyFactory.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; } @@ -118,7 +116,6 @@ protected override void Dispose(bool disposing) { calculationInputObserver.Dispose(); - calculationOutputObserver.Dispose(); calculationGroupObserver.Dispose(); base.Dispose(disposing); Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/Views/ClosingStructuresFailureMechanismResultViewTest.cs =================================================================== diff -u -r6f33b44599df032ecae3342b0aacd606a9e87c1f -r15094551c745a25dca86ad12e8cc75ab5cdc8d73 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/Views/ClosingStructuresFailureMechanismResultViewTest.cs (.../ClosingStructuresFailureMechanismResultViewTest.cs) (revision 6f33b44599df032ecae3342b0aacd606a9e87c1f) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/Views/ClosingStructuresFailureMechanismResultViewTest.cs (.../ClosingStructuresFailureMechanismResultViewTest.cs) (revision 15094551c745a25dca86ad12e8cc75ab5cdc8d73) @@ -29,7 +29,9 @@ using Ringtoets.ClosingStructures.Data; using Ringtoets.ClosingStructures.Forms.Views; 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; @@ -199,6 +201,33 @@ } } + [TestFixture] + public class ClosingStructuresFailureMechanismResultWithProbabilityTest : FailureMechanismResultWithProbabilityTester< + ClosingStructuresFailureMechanismResultView, + ClosingStructuresFailureMechanism, + ClosingStructuresFailureMechanismSectionResult, + ClosingStructuresFailureMechanismSectionResultRow, + StructuresCalculation, + ClosingStructuresInput> + { + protected override ClosingStructuresFailureMechanismResultView CreateResultView(ClosingStructuresFailureMechanism failureMechanism) + { + return new ClosingStructuresFailureMechanismResultView(failureMechanism.SectionResults, + failureMechanism, + new AssessmentSectionStub()); + } + + protected override StructuresCalculation CreateCalculation() + { + return new StructuresCalculation(); + } + + protected override ClosingStructuresInput GetInput(StructuresCalculation calculation) + { + return calculation.InputParameters; + } + } + private ClosingStructuresFailureMechanismResultView ShowFailureMechanismResultsView( IObservableEnumerable sectionResults) {