Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs =================================================================== diff -u -r0efa54240f688c44e1e48447eda8808d59ec58ee -rbdbeb6758acf92e90161ce96e9b8ea48f5a029f5 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs (.../FailureMechanismContributionView.cs) (revision 0efa54240f688c44e1e48447eda8808d59ec58ee) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs (.../FailureMechanismContributionView.cs) (revision bdbeb6758acf92e90161ce96e9b8ea48f5a029f5) @@ -166,8 +166,12 @@ private void SetGridDataSource() { - probabilityDistributionGrid.SetDataSource(AssessmentSection.FailureMechanismContribution.Distribution - .Select(ci => new FailureMechanismContributionItemRow(ci, viewCommands)).ToArray()); + FailureMechanismContributionItemRow[] rows = AssessmentSection.GetContributingFailureMechanisms() + .Select(fm => new FailureMechanismContributionItemRow( + fm, AssessmentSection.FailureMechanismContribution.Norm, + viewCommands)).ToArray(); + + probabilityDistributionGrid.SetDataSource(rows); } private void SetReturnPeriodText() Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/FailureMechanismContributionViewIntegrationTest.cs =================================================================== diff -u -rf929dfc072b392b419cd952e527d234ea79890e4 -rbdbeb6758acf92e90161ce96e9b8ea48f5a029f5 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/FailureMechanismContributionViewIntegrationTest.cs (.../FailureMechanismContributionViewIntegrationTest.cs) (revision f929dfc072b392b419cd952e527d234ea79890e4) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/FailureMechanismContributionViewIntegrationTest.cs (.../FailureMechanismContributionViewIntegrationTest.cs) (revision bdbeb6758acf92e90161ce96e9b8ea48f5a029f5) @@ -28,7 +28,7 @@ using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; -using Ringtoets.Common.Data.Contribution; +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Integration.Data; using Ringtoets.Integration.Forms.Views; @@ -89,24 +89,24 @@ Assert.IsTrue(dataGridInvalidated, "Expect the DataGridView to be flagged for redrawing."); - AssertDataGridViewDataSource(assessmentSection.FailureMechanismContribution.Distribution, contributionGridView); + AssertDataGridViewDataSource(assessmentSection.GetContributingFailureMechanisms(), contributionGridView, assessmentSection.FailureMechanismContribution.Norm); } mocks.VerifyAll(); } - private static void AssertDataGridViewDataSource(IEnumerable expectedDistributionElements, DataGridView dataGridView) + private static void AssertDataGridViewDataSource(IEnumerable expectedElements, DataGridView dataGridView, double norm) { - FailureMechanismContributionItem[] itemArray = expectedDistributionElements.ToArray(); + IFailureMechanism[] itemArray = expectedElements.ToArray(); Assert.AreEqual(itemArray.Length, dataGridView.RowCount); for (var i = 0; i < itemArray.Length; i++) { - FailureMechanismContributionItem expectedElement = itemArray[i]; + IFailureMechanism expectedElement = itemArray[i]; DataGridViewRow row = dataGridView.Rows[i]; Assert.AreEqual(expectedElement.IsRelevant, row.Cells[isRelevantColumnIndex].Value); - Assert.AreEqual(expectedElement.Assessment, row.Cells[nameColumnIndex].Value); - Assert.AreEqual(expectedElement.AssessmentCode, row.Cells[codeColumnIndex].Value); + Assert.AreEqual(expectedElement.Name, row.Cells[nameColumnIndex].Value); + Assert.AreEqual(expectedElement.Code, row.Cells[codeColumnIndex].Value); Assert.AreEqual(expectedElement.Contribution, row.Cells[contributionColumnIndex].Value); - Assert.AreEqual(expectedElement.ProbabilitySpace, row.Cells[probabilitySpaceColumnIndex].Value); + Assert.AreEqual(100 / (expectedElement.Contribution * norm), row.Cells[probabilitySpaceColumnIndex].Value); } } } Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs =================================================================== diff -u -r853357678f327a05ddfda187de83e996b1c8e6c8 -rbdbeb6758acf92e90161ce96e9b8ea48f5a029f5 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision 853357678f327a05ddfda187de83e996b1c8e6c8) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision bdbeb6758acf92e90161ce96e9b8ea48f5a029f5) @@ -92,13 +92,11 @@ { // Setup var mocks = new MockRepository(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks); - assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); - assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); - assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); + var assessmentSection = new AssessmentSectionStub(); + // Call using (var contributionView = new FailureMechanismContributionView(assessmentSection, viewCommands)) { @@ -156,13 +154,11 @@ { // Setup var mocks = new MockRepository(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks); - assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); - assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); - assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); + var assessmentSection = new AssessmentSectionStub(); + using (var distributionView = new FailureMechanismContributionView(assessmentSection, viewCommands)) { // Call @@ -203,12 +199,16 @@ var mocks = new MockRepository(); var viewCommands = mocks.Stub(); - var someMechanism = mocks.Stub(testName, testCode, 1); - someMechanism.Contribution = testContribution; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(someMechanism, mocks); + var failureMechanism = mocks.Stub(testName, testCode, 1); + failureMechanism.Contribution = testContribution; + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); mocks.ReplayAll(); // Call @@ -230,7 +230,7 @@ Assert.AreEqual(testContribution, contributionCell.Value); var probabilitySpaceCell = (DataGridViewTextBoxCell) row.Cells[probabilitySpaceColumnIndex]; - Assert.AreEqual(assessmentSection.FailureMechanismContribution.Distribution.Single(d => d.FailureMechanism == someMechanism).ProbabilitySpace, probabilitySpaceCell.Value); + Assert.AreEqual(assessmentSection.FailureMechanismContribution.Distribution.Single(d => d.FailureMechanism == failureMechanism).ProbabilitySpace, probabilitySpaceCell.Value); } mocks.VerifyAll(); @@ -255,6 +255,10 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); mocks.ReplayAll(); // When @@ -289,6 +293,10 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); mocks.ReplayAll(); // Call @@ -326,9 +334,14 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); - assessmentSection.FailureMechanismContribution.NormativeNorm = NormType.Signaling; + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); mocks.ReplayAll(); + assessmentSection.FailureMechanismContribution.NormativeNorm = NormType.Signaling; + // Call using (var view = new FailureMechanismContributionView(assessmentSection, viewCommands)) { @@ -394,8 +407,13 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); mocks.ReplayAll(); + using (var view = new FailureMechanismContributionView(assessmentSection, viewCommands)) { ShowFormWithView(view); @@ -543,6 +561,10 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); assessmentSection.Stub(section => section.Attach(null)).IgnoreArguments(); assessmentSection.Stub(section => section.Detach(null)).IgnoreArguments(); + assessmentSection.Stub(section => section.GetContributingFailureMechanisms()).Return(new[] + { + failureMechanism + }); var viewCommands = mocks.Stub(); viewCommands.Expect(c => c.RemoveAllViewsForItem(failureMechanism)); mocks.ReplayAll();