Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Common.Base; @@ -39,12 +38,9 @@ public abstract partial class FailureMechanismResultView : UserControl, IView where T : FailureMechanismSectionResult { protected const int AssessmentLayerOneColumnIndex = 1; - private readonly List failureMechanismSectionResultObservers; - private readonly Observer failureMechanismObserver; + private readonly Observer failureMechanismSectionResultObserver; + private readonly IObservableEnumerable failureMechanismSectionResults; - private IObservableEnumerable failureMechanismSectionResults; - private IFailureMechanism failureMechanism; - /// /// Creates a new instance of . /// @@ -62,52 +58,19 @@ InitializeComponent(); this.failureMechanismSectionResults = failureMechanismSectionResults; - - failureMechanismObserver = new Observer(UpdateDataGridViewDataSource); - failureMechanismSectionResultObservers = new List(); + failureMechanismSectionResultObserver = new Observer(UpdateDataGridViewDataSource) + { + Observable = failureMechanismSectionResults + }; } /// /// Sets the failure mechanism. /// - public virtual IFailureMechanism FailureMechanism - { - protected get - { - return failureMechanism; - } - set - { - failureMechanism = value; - failureMechanismObserver.Observable = failureMechanism; - if (failureMechanism != null) - { - UpdateDataGridViewDataSource(); - } - } - } + public virtual IFailureMechanism FailureMechanism { protected get; set; } - public object Data - { - get - { - return failureMechanismSectionResults; - } - set - { - FailureMechanismSectionResult = value as IObservableEnumerable; + public object Data { get; set; } - if (failureMechanismSectionResults != null) - { - UpdateDataGridViewDataSource(); - } - else - { - DataGridViewControl.SetDataSource(null); - } - } - } - protected DataGridViewControl DataGridViewControl { get; private set; } protected override void OnLoad(EventArgs e) @@ -127,9 +90,7 @@ protected override void Dispose(bool disposing) { - FailureMechanism = null; - FailureMechanismSectionResult = null; - failureMechanismObserver?.Dispose(); + failureMechanismSectionResultObserver?.Dispose(); if (disposing) { @@ -156,7 +117,6 @@ /// protected void UpdateDataGridViewDataSource() { - UpdateFailureMechanismSectionResultsObservers(); DataGridViewControl.EndEdit(); DataGridViewControl.SetDataSource( failureMechanismSectionResults @@ -199,45 +159,5 @@ nameof(EnumDisplayWrapper.Value), nameof(EnumDisplayWrapper.DisplayName)); } - - private IObservableEnumerable FailureMechanismSectionResult - { - set - { - failureMechanismSectionResults = value; - - UpdateFailureMechanismSectionResultsObservers(); - } - } - - private void UpdateFailureMechanismSectionResultsObservers() - { - ClearSectionResultObservers(); - if (failureMechanismSectionResults != null) - { - AddSectionResultObservers(); - } - } - - private void AddSectionResultObservers() - { - foreach (T sectionResult in failureMechanismSectionResults) - { - failureMechanismSectionResultObservers.Add(new Observer(DataGridViewControl.RefreshDataGridView) - { - Observable = sectionResult - }); - } - } - - private void ClearSectionResultObservers() - { - foreach (Observer observer in failureMechanismSectionResultObservers) - { - observer.Dispose(); - } - - failureMechanismSectionResultObservers.Clear(); - } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -61,7 +61,7 @@ // Assert Assert.IsInstanceOf(view); Assert.IsInstanceOf(view); - Assert.AreSame(failureMechanismSectionResults, view.Data); + Assert.IsNull(view.Data); } } @@ -87,48 +87,6 @@ } } - [Test] - public void Data_SetOtherThanFailureMechanismSectionResultListData_DataNullAndDataGridViewEmpty() - { - // Setup - var testData = new object(); - using (TestFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView()) - { - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - - // Call - view.Data = testData; - - // Assert - Assert.IsNull(view.Data); - - Assert.AreEqual(0, dataGridView.RowCount); - } - } - - private TestFailureMechanismResultView ShowFullyConfiguredFailureMechanismResultsView() - { - var failureMechanism = new TestFailureMechanism(); - - failureMechanism.AddSection(new FailureMechanismSection("Section 1", new List - { - new Point2D(0.0, 0.0), - new Point2D(5.0, 0.0) - })); - - failureMechanism.AddSection(new FailureMechanismSection("Section 2", new List - { - new Point2D(5.0, 0.0), - new Point2D(10.0, 0.0) - })); - - TestFailureMechanismResultView failureMechanismResultView = ShowFailureMechanismResultsView(failureMechanism.SectionResults); - failureMechanismResultView.Data = failureMechanism.SectionResults; - failureMechanismResultView.FailureMechanism = failureMechanism; - - return failureMechanismResultView; - } - private TestFailureMechanismResultView ShowFailureMechanismResultsView(IObservableEnumerable sectionResults) { var failureMechanismResultView = new TestFailureMechanismResultView(sectionResults); Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismResultView.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -43,15 +43,18 @@ private readonly RecursiveObserver calculationOutputObserver; private readonly RecursiveObserver calculationGroupObserver; private readonly IAssessmentSection assessmentSection; + private readonly Observer failureMechanismObserver; /// /// Creates a new instance of . /// /// The assessment section that the failure mechanism belongs to. + /// The failure mechanism this view belongs to. /// The collection of failure mechanism section results. /// Thrown when any input parameter is null. public PipingFailureMechanismResultView( IAssessmentSection assessmentSection, + PipingFailureMechanism failureMechanism, IObservableEnumerable failureMechanismSectionResults) : base(failureMechanismSectionResults) { @@ -60,8 +63,19 @@ throw new ArgumentNullException(nameof(assessmentSection)); } + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + this.assessmentSection = assessmentSection; + FailureMechanism = failureMechanism; + failureMechanismObserver = new Observer(UpdateDataGridViewDataSource) + { + Observable = failureMechanism + }; + DataGridViewControl.CellFormatting += ShowAssessmentLayerTwoAErrors; DataGridViewControl.CellFormatting += DisableIrrelevantFieldsFormatting; @@ -79,23 +93,20 @@ calculationGroupObserver = new RecursiveObserver( UpdateDataGridViewDataSource, c => c.Children); - } - public override IFailureMechanism FailureMechanism - { - set - { - base.FailureMechanism = value; + CalculationGroup observableGroup = failureMechanism.CalculationsGroup; + calculationInputObserver.Observable = observableGroup; + calculationOutputObserver.Observable = observableGroup; + calculationGroupObserver.Observable = observableGroup; - var calculatableFailureMechanism = value as ICalculatableFailureMechanism; - CalculationGroup observableGroup = calculatableFailureMechanism?.CalculationsGroup; - - calculationInputObserver.Observable = observableGroup; - calculationOutputObserver.Observable = observableGroup; - calculationGroupObserver.Observable = observableGroup; - } + UpdateDataGridViewDataSource(); } + /// + /// Gets the piping failure mechanism. + /// + public PipingFailureMechanism FailureMechanism { get; } + protected override void Dispose(bool disposing) { DataGridViewControl.CellFormatting -= ShowAssessmentLayerTwoAErrors; @@ -104,19 +115,15 @@ calculationInputObserver.Dispose(); calculationOutputObserver.Dispose(); calculationGroupObserver.Dispose(); + failureMechanismObserver.Dispose(); base.Dispose(disposing); } protected override object CreateFailureMechanismSectionResultRow(PipingFailureMechanismSectionResult sectionResult) { - if (FailureMechanism == null) - { - return null; - } - return new PipingFailureMechanismSectionResultRow(sectionResult, FailureMechanism.Calculations.Cast(), - (PipingFailureMechanism) FailureMechanism, assessmentSection); + FailureMechanism, assessmentSection); } protected override void AddDataGridColumns() Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -rf603458169b1e2544bc933b05f169cc1637d59b2 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision f603458169b1e2544bc933b05f169cc1637d59b2) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -216,9 +216,9 @@ Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, CloseForData = CloseFailureMechanismResultViewForData, GetViewData = context => context.WrappedData, - AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism, CreateInstance = context => new PipingFailureMechanismResultView( context.AssessmentSection, + (PipingFailureMechanism) context.FailureMechanism, context.WrappedData) }; @@ -421,15 +421,15 @@ return assessmentSection .GetFailureMechanisms() .OfType() - .Any(fm => ReferenceEquals(view.Data, fm.SectionResults)); + .Any(fm => ReferenceEquals(view.FailureMechanism.SectionResults, fm.SectionResults)); } if (failureMechanismContext != null) { failureMechanism = failureMechanismContext.WrappedData; } - return failureMechanism != null && ReferenceEquals(view.Data, failureMechanism.SectionResults); + return failureMechanism != null && ReferenceEquals(view.FailureMechanism.SectionResults, failureMechanism.SectionResults); } #endregion Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -27,7 +27,6 @@ using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; -using Core.Common.Controls.Views; using Core.Common.TestUtil; using NUnit.Extensions.Forms; using NUnit.Framework; @@ -66,8 +65,12 @@ [Test] public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() { + // Setup + var failureMechanism = new PipingFailureMechanism(); + // Call TestDelegate call = () => new PipingFailureMechanismResultView(null, + failureMechanism, new ObservableList()); // Assert @@ -76,21 +79,43 @@ } [Test] + public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new PipingFailureMechanismResultView(assessmentSection, + null, + new ObservableList()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("failureMechanism", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] public void Constructor_ExpectedValues() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub(); mocks.ReplayAll(); - var failureMechanismSectionResults = new ObservableList(); + var pipingFailureMechanism = new PipingFailureMechanism(); // Call - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanismSectionResults)) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + pipingFailureMechanism, + pipingFailureMechanism.SectionResults)) { // Assert Assert.IsInstanceOf>(view); - Assert.AreSame(failureMechanismSectionResults, view.Data); + Assert.IsNull(view.Data); + Assert.AreSame(view.FailureMechanism, pipingFailureMechanism); } mocks.VerifyAll(); @@ -99,8 +124,11 @@ [Test] public void Constructor_DataGridViewCorrectlyInitialized() { + // Setup + var failureMechanism = new PipingFailureMechanism(); + // Call - using (ShowFailureMechanismResultsView(new ObservableList())) + using (ShowFailureMechanismResultsView(failureMechanism)) { // Assert var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; @@ -121,68 +149,17 @@ } [Test] - public void Data_DataAlreadySetNewDataSet_DataSetAndDataGridViewUpdated() + public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() { // Setup - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) - { - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); - var points = new[] - { - new Point2D(1, 2), - new Point2D(3, 4) - }; - - var section = new FailureMechanismSection("test", points); - var sectionResult = new PipingFailureMechanismSectionResult(section); - var testData = new ObservableList - { - sectionResult - }; - - // Precondition - Assert.AreEqual(2, dataGridView.RowCount); - - // Call - view.Data = testData; - - // Assert - Assert.AreSame(testData, view.Data); - - Assert.AreEqual(testData.Count, dataGridView.RowCount); - Assert.AreEqual(sectionResult.Section.Name, dataGridView.Rows[0].Cells[0].Value); - } - } - - [Test] - public void Data_SetOtherThanFailureMechanismSectionResultListData_DataNullAndEmptyGrid() - { - // Setup - var testData = new object(); - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + // Call + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Call - view.Data = testData; - // Assert - Assert.IsNull(view.Data); - - Assert.AreEqual(0, dataGridView.RowCount); - } - } - - [Test] - public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() - { - // Setup & Call - using (ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) - { - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - - // Assert DataGridViewRowCollection rows = dataGridView.Rows; Assert.AreEqual(2, rows.Count); @@ -210,7 +187,10 @@ AssessmentLayerOneState assessmentLayerOneState) { // Setup - using (ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + + // Call + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; @@ -252,7 +232,8 @@ public void FailureMechanismResultView_EditValueInvalid_ShowsErrorTooltip(string newValue, int cellIndex) { // Setup - using (ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; @@ -273,7 +254,8 @@ public void FailureMechanismResultView_EditValueAssessmentLayerThreeInvalid_ShowErrorToolTip(double newValue) { // Setup - using (ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; @@ -295,7 +277,8 @@ public void FailureMechanismResultView_EditValueAssessmentLayerThreeValid_DoNotShowErrorToolTipAndEditValue(double newValue) { // Setup - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; @@ -304,11 +287,7 @@ // Assert Assert.IsEmpty(dataGridView.Rows[0].ErrorText); - - var dataObject = view.Data as List; - Assert.IsNotNull(dataObject); - PipingFailureMechanismSectionResult row = dataObject.First(); - Assert.AreEqual(newValue, row.AssessmentLayerThree); + Assert.AreEqual(newValue, pipingFailureMechanism.SectionResults.First().AssessmentLayerThree); } } @@ -320,16 +299,14 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + calculationScenario.Contribution = (RoundedDouble) 0.3; + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - calculationScenario.Contribution = (RoundedDouble) 0.3; - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - view.Data = pipingFailureMechanism.SectionResults; - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -355,15 +332,13 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - view.Data = pipingFailureMechanism.SectionResults; - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -387,14 +362,13 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -418,16 +392,14 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + calculationScenario.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - calculationScenario.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - view.Data = pipingFailureMechanism.SectionResults; - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -451,8 +423,8 @@ { // Setup const int rowIndex = 0; - - using (ShowFullyConfiguredFailureMechanismResultsView(new PipingFailureMechanism())) + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -478,14 +450,13 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateIrrelevantPipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateIrrelevantPipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -507,15 +478,14 @@ { // Setup const int rowIndex = 0; + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + calculationScenario.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var pipingFailureMechanism = new PipingFailureMechanism(); - using (ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) { - PipingCalculationScenario calculationScenario = PipingCalculationScenarioTestFactory.CreateNotCalculatedPipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - calculationScenario.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario); - var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -535,18 +505,16 @@ public void GivenFailureMechanismResultView_WhenFailureMechanismNotifiesObserver_ThenViewUpdated() { // Given - var pipingFailureMechanism = new PipingFailureMechanism(); - using (PipingFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(pipingFailureMechanism)) - { - PipingCalculationScenario calculationScenario1 = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - PipingCalculationScenario calculationScenario2 = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( - pipingFailureMechanism.Sections.First()); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario1); - pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario2); + PipingFailureMechanism pipingFailureMechanism = GetFullyConfiguredFailureMechanism(); + PipingCalculationScenario calculationScenario1 = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + PipingCalculationScenario calculationScenario2 = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenario( + pipingFailureMechanism.Sections.First()); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario1); + pipingFailureMechanism.CalculationsGroup.Children.Add(calculationScenario2); - view.Data = pipingFailureMechanism.SectionResults; - + using (ShowFailureMechanismResultsView(pipingFailureMechanism)) + { var gridTester = new ControlTester("dataGridView"); var dataGridView = (DataGridView) gridTester.TheObject; @@ -569,8 +537,9 @@ } } - private PipingFailureMechanismResultView ShowFullyConfiguredFailureMechanismResultsView(PipingFailureMechanism failureMechanism) + private static PipingFailureMechanism GetFullyConfiguredFailureMechanism() { + var failureMechanism = new PipingFailureMechanism(); failureMechanism.AddSection(new FailureMechanismSection("Section 1", new List { new Point2D(0.0, 0.0), @@ -583,16 +552,14 @@ new Point2D(10.0, 0.0) })); - PipingFailureMechanismResultView failureMechanismResultView = ShowFailureMechanismResultsView(failureMechanism.SectionResults); - failureMechanismResultView.Data = failureMechanism.SectionResults; - failureMechanismResultView.FailureMechanism = failureMechanism; - - return failureMechanismResultView; + return failureMechanism; } - private PipingFailureMechanismResultView ShowFailureMechanismResultsView(IObservableEnumerable sectionResults) + private PipingFailureMechanismResultView ShowFailureMechanismResultsView(PipingFailureMechanism failureMechanism) { - var failureMechanismResultView = new PipingFailureMechanismResultView(new ObservableTestAssessmentSectionStub(), sectionResults); + var failureMechanismResultView = new PipingFailureMechanismResultView(new ObservableTestAssessmentSectionStub(), + failureMechanism, + failureMechanism.SectionResults); testForm.Controls.Add(failureMechanismResultView); testForm.Show(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -53,17 +53,14 @@ var failureMechanismResultView = new PipingFailureMechanismResultView( assessmentSection, + assessmentSection.Piping, assessmentSection.Piping.SectionResults); form.Controls.Add(failureMechanismResultView); form.Show(); // Obtain the data grid view var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Set all necessary data to the view - failureMechanismResultView.Data = assessmentSection.Piping.SectionResults; - failureMechanismResultView.FailureMechanism = assessmentSection.Piping; - // Import failure mechanism sections and ensure the data grid view is updated DataImportHelper.ImportReferenceLine(assessmentSection); IFailureMechanism failureMechanism = assessmentSection.Piping; Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -95,7 +95,9 @@ var assessmentSection = mocks.Stub(); mocks.ReplayAll(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, new ObservableList())) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + new PipingFailureMechanism(), + new ObservableList())) { // Call string viewName = info.GetViewName(view, null); @@ -127,11 +129,10 @@ var failureMechanism = new PipingFailureMechanism(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + new PipingFailureMechanism(), + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, assessmentSection); @@ -157,11 +158,10 @@ var failureMechanism = new PipingFailureMechanism(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + new PipingFailureMechanism(), + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, assessmentSection); @@ -186,11 +186,10 @@ }); mocks.ReplayAll(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + failureMechanism, + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, assessmentSection); @@ -210,11 +209,10 @@ var failureMechanism = new PipingFailureMechanism(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + failureMechanism, + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, failureMechanism); @@ -233,11 +231,10 @@ mocks.ReplayAll(); var failureMechanism = new PipingFailureMechanism(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + new PipingFailureMechanism(), + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, new PipingFailureMechanism()); @@ -257,11 +254,10 @@ var failureMechanism = new PipingFailureMechanism(); var failureMechanismContext = new PipingFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + failureMechanism, + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { // Call bool closeForData = info.CloseForData(view, failureMechanismContext); @@ -280,11 +276,10 @@ mocks.ReplayAll(); var failureMechanism = new PipingFailureMechanism(); - using (var view = new PipingFailureMechanismResultView(assessmentSection, failureMechanism.SectionResults) + using (var view = new PipingFailureMechanismResultView(assessmentSection, + new PipingFailureMechanism(), + failureMechanism.SectionResults)) { - Data = failureMechanism.SectionResults - }) - { var failureMechanismContext = new PipingFailureMechanismContext( new PipingFailureMechanism(), assessmentSection); @@ -300,28 +295,6 @@ } [Test] - public void AfterCreate_Always_SetsSpecificPropertiesToView() - { - // Setup - var failureMechanism = new PipingFailureMechanism(); - - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); - var view = mocks.StrictMock(); - view.Expect(v => v.FailureMechanism = failureMechanism); - mocks.ReplayAll(); - - var context = new ProbabilityFailureMechanismSectionResultContext(failureMechanism.SectionResults, - failureMechanism, - assessmentSection); - - // Call - info.AfterCreate(view, context); - - // Assert - mocks.VerifyAll(); - } - - [Test] public void CreateInstance_WithContext_ReturnsView() { // Setup