Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs =================================================================== diff -u -r901339a7022b3be93778d9691b001ba085c53d43 -r2ff2a985fe9015df6da49fe43006e5c7631434c3 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision 901339a7022b3be93778d9691b001ba085c53d43) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision 2ff2a985fe9015df6da49fe43006e5c7631434c3) @@ -28,6 +28,7 @@ using Core.Common.Base; using Core.Common.Controls.DataGrid; using Core.Common.Gui.Commands; +using Core.Common.TestUtil; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -69,15 +70,74 @@ } [Test] - public void DefaultConstructor_SetsDefaults() + public void Constructor_NormChangeHandlerNull_ThrowArgumentNullException() { // Setup var mocks = new MockRepository(); - var handler = mocks.Stub(); + var compositionChangeHandler = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); // Call - using (var contributionView = new FailureMechanismContributionView(handler)) + TestDelegate call = () => new FailureMechanismContributionView(null, compositionChangeHandler, viewCommands); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("normChangeHandler", paramName); + + mocks.VerifyAll(); + } + + [Test] + public void Constructor_CompositionChangeHandlerNull_ThrowArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var normChangeHandler = mocks.Stub(); + var viewCommands = mocks.Stub(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new FailureMechanismContributionView(normChangeHandler, null, viewCommands); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("compositionChangeHandler", paramName); + + mocks.VerifyAll(); + } + + [Test] + public void Constructor_ViewCommandsNull_ThrowArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var normChangeHandler = mocks.Stub(); + var compositionChangeHandler = mocks.Stub(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new FailureMechanismContributionView(normChangeHandler, compositionChangeHandler, null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("viewCommands", paramName); + + mocks.VerifyAll(); + } + + [Test] + public void Constructor_SetsDefaults() + { + // Setup + var mocks = new MockRepository(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); + mocks.ReplayAll(); + + // Call + using (var contributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(contributionView); @@ -103,14 +163,16 @@ { // Setup var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); AssessmentSection assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; // Call - using (var contributionView = new FailureMechanismContributionView(handler) + using (var contributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = failureMechanismContribution, AssessmentSection = assessmentSection @@ -149,18 +211,19 @@ var observable2 = mockRepository.StrictMock(); observable2.Expect(o => o.NotifyObservers()); - var handler = mockRepository.StrictMock(); - handler.Expect(h => h.ConfirmNormChange()).Return(true); - handler.Expect(h => h.ChangeNorm(assessmentSection, norm)) - .Return(new[] - { - observable1, - observable2 - }); - + var handler1 = mockRepository.StrictMock(); + handler1.Expect(h => h.ConfirmNormChange()).Return(true); + handler1.Expect(h => h.ChangeNorm(assessmentSection, norm)) + .Return(new[] + { + observable1, + observable2 + }); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); mockRepository.ReplayAll(); - using (FailureMechanismContributionView distributionView = new FailureMechanismContributionView(handler) + using (FailureMechanismContributionView distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = failureMechanismContribution, AssessmentSection = assessmentSection @@ -190,15 +253,16 @@ int initialReturnPeriod = Convert.ToInt32(1.0/failureMechanismContribution.Norm); MockRepository mockRepository = new MockRepository(); - var handler = mockRepository.StrictMock(); - handler.Expect(h => h.ConfirmNormChange()).Return(false); - handler.Expect(h => h.ChangeNorm(assessmentSection, newReturnPeriod)) - .Return(Enumerable.Empty()) - .Repeat.Never(); - + var handler1 = mockRepository.StrictMock(); + handler1.Expect(h => h.ConfirmNormChange()).Return(false); + handler1.Expect(h => h.ChangeNorm(assessmentSection, newReturnPeriod)) + .Return(Enumerable.Empty()) + .Repeat.Never(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); mockRepository.ReplayAll(); - using (FailureMechanismContributionView distributionView = new FailureMechanismContributionView(handler) + using (FailureMechanismContributionView distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = failureMechanismContribution, AssessmentSection = assessmentSection @@ -224,10 +288,12 @@ { // Setup var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var distributionView = new FailureMechanismContributionView(handler)) + using (var distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { // Call ShowFormWithView(distributionView); @@ -267,7 +333,9 @@ double testContribution = 100 - otherContribution; var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var someMechanism = mockRepository.StrictMock(testName, testCode); someMechanism.Contribution = testContribution; @@ -279,7 +347,7 @@ someMechanism }, otherContribution, 0.01); - using (var distributionView = new FailureMechanismContributionView(handler) + using (var distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { AssessmentSection = assessmentSection }) @@ -318,7 +386,9 @@ var assessmentSection2 = new AssessmentSection(AssessmentSectionComposition.Dike); var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var someMechanism = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -331,7 +401,7 @@ someMechanism }, random.Next(0, 100), 1.0/newReturnPeriod); - using (var distributionView = new FailureMechanismContributionView(handler) + using (var distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = initialContribution, AssessmentSection = assessmentSection1 @@ -365,7 +435,9 @@ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var someMechanism = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -374,7 +446,7 @@ someMechanism }, random.Next(0, 100), 1.0/initialNormValue); - using (var distributionView = new FailureMechanismContributionView(handler) + using (var distributionView = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = contribution, AssessmentSection = assessmentSection @@ -406,15 +478,17 @@ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var failureMechanismStub = mockRepository.Stub(); failureMechanismStub.Stub(fm => fm.Name).Return("A"); failureMechanismStub.Stub(fm => fm.Code).Return("C"); failureMechanismStub.Contribution = 100; failureMechanismStub.IsRelevant = isFailureMechanismRelevant; mockRepository.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { // When var contributionData = new FailureMechanismContribution(new[] @@ -443,14 +517,16 @@ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var failureMechanismStub = mockRepository.Stub(); failureMechanismStub.Stub(fm => fm.Name).Return("A"); failureMechanismStub.Stub(fm => fm.Code).Return("C"); failureMechanismStub.Contribution = 0; mockRepository.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { // When var contributionData = new FailureMechanismContribution(new[] @@ -482,14 +558,16 @@ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); var mockRepository = new MockRepository(); - var handler = mockRepository.Stub(); + var handler1 = mockRepository.Stub(); + var handler2 = mockRepository.Stub(); + var viewCommands = mockRepository.Stub(); var failureMechanismStub = mockRepository.Stub(); failureMechanismStub.Stub(fm => fm.Name).Return("A"); failureMechanismStub.Stub(fm => fm.Code).Return("C"); failureMechanismStub.Contribution = contribution; mockRepository.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { // When var contributionData = new FailureMechanismContribution(new[] @@ -523,10 +601,12 @@ { // Setup var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(view); @@ -552,40 +632,48 @@ [TestCase(AssessmentSectionComposition.Dune, AssessmentSectionComposition.DikeAndDune)] [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dike)] [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dune)] - public void CompositionComboBox_ChangeCompositionAndOk_UpdateAssessmentSectionContributionAndView(AssessmentSectionComposition initialComposition, AssessmentSectionComposition newComposition) + public void CompositionComboBox_ChangeCompositionAndOk_ChangeCompositionAndNotifyAffectedObjects(AssessmentSectionComposition initialComposition, AssessmentSectionComposition newComposition) { // Setup + var assessmentSection = new AssessmentSection(initialComposition); + var mocks = new MockRepository(); - var handler = mocks.Stub(); + var observable1 = mocks.StrictMock(); + observable1.Expect(o => o.NotifyObservers()); + var observable2 = mocks.StrictMock(); + observable2.Expect(o => o.NotifyObservers()); + + var handler1 = mocks.Stub(); + var handler2 = mocks.StrictMock(); + handler2.Expect(h => h.ConfirmCompositionChange()) + .Return(true); + handler2.Expect(h => h.ChangeComposition(assessmentSection, newComposition)) + .Return(new[] + { + observable1, + observable2 + }); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands) { - var assessmentSection = new AssessmentSection(initialComposition); - - view.Data = assessmentSection.FailureMechanismContribution; - view.AssessmentSection = assessmentSection; + Data = assessmentSection.FailureMechanismContribution, + AssessmentSection = assessmentSection + }) + { ShowFormWithView(view); // Precondition Assert.AreNotEqual(assessmentSection.Composition, newComposition); - bool dataGridInvalidated = false; - var contributionGridView = (DataGridView) new ControlTester(dataGridViewControlName).TheObject; - contributionGridView.Invalidated += (sender, args) => dataGridInvalidated = true; - var compositionComboBox = (ComboBox) new ControlTester(assessmentSectionCompositionComboBoxName).TheObject; // Call - compositionComboBox.SelectedValue = newComposition; + ControlsTestHelper.FakeUserSelectingNewValue(compositionComboBox, newComposition); // Assert Assert.AreEqual(newComposition, compositionComboBox.SelectedValue); - Assert.AreEqual(newComposition, assessmentSection.Composition); - - Assert.IsTrue(dataGridInvalidated, - "Expect the DataGridView to be flagged for redrawing."); - AssertDataGridViewDataSource(assessmentSection.FailureMechanismContribution.Distribution, contributionGridView); } mocks.VerifyAll(); } @@ -597,22 +685,29 @@ [TestCase(AssessmentSectionComposition.Dune, AssessmentSectionComposition.DikeAndDune)] [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dike)] [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dune)] - public void CompositionComboBox_ChangeComposition_NotifyAssessmentSectionObservers(AssessmentSectionComposition initialComposition, AssessmentSectionComposition newComposition) + public void CompositionComboBox_ChangeCompositionAndCancel_ComboBoxStillAtOriginalValue(AssessmentSectionComposition initialComposition, AssessmentSectionComposition newComposition) { // Setup + var assessmentSection = new AssessmentSection(initialComposition); + var mocks = new MockRepository(); - var handler = mocks.Stub(); - var observer = mocks.StrictMock(); - observer.Expect(o => o.UpdateObserver()); + var handler1 = mocks.Stub(); + var handler2 = mocks.StrictMock(); + handler2.Expect(h => h.ConfirmCompositionChange()) + .Return(false); + handler2.Expect(h => h.ChangeComposition(null, AssessmentSectionComposition.Dike)) + .IgnoreArguments() + .Return(new IObservable[0]) + .Repeat.Never(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands) { - var assessmentSection = new AssessmentSection(initialComposition); - assessmentSection.Attach(observer); - - view.Data = assessmentSection.FailureMechanismContribution; - view.AssessmentSection = assessmentSection; + Data = assessmentSection.FailureMechanismContribution, + AssessmentSection = assessmentSection + }) + { ShowFormWithView(view); // Precondition @@ -621,23 +716,28 @@ var compositionComboBox = (ComboBox) new ControlTester(assessmentSectionCompositionComboBoxName).TheObject; // Call - compositionComboBox.SelectedValue = newComposition; + ControlsTestHelper.FakeUserSelectingNewValue(compositionComboBox, newComposition); + + // Assert + Assert.AreEqual(initialComposition, compositionComboBox.SelectedValue, + "The ComboBox should be reset to the original composition value, as change was not accepted by user."); } - // Assert - mocks.VerifyAll(); // Expect UpdateObserver call + mocks.VerifyAll(); } [Test] public void GivenView_WhenSettingRelevantFailureMechanism_RowIsStylesAsEnabled() { // Given var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); var failureMechanism = mocks.Stub(); failureMechanism.IsRelevant = true; mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(view); @@ -674,12 +774,14 @@ { // Given var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); var failureMechanism = mocks.Stub(); failureMechanism.IsRelevant = false; mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(view); @@ -719,7 +821,9 @@ // Given List failureMechanismObservers = new List(); var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); var failureMechanism = mocks.Stub(); failureMechanism.Stub(fm => fm.Name).Return("A"); failureMechanism.Stub(fm => fm.Code).Return("C"); @@ -743,7 +847,7 @@ assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(view); @@ -796,82 +900,42 @@ } [Test] - [TestCase(true)] - [TestCase(false)] - public void GivenViewWithViewCommands_IsRelevantPropertyChangeNotified_CloseViewsForIrrelevantFailureMechanisms(bool initialIsRelevant) + public void GivenView_WhenMakingFailureMechanismIrrelevant_UpdateFailureMechanismAndNotifyObserversAndCloseRelatedViews() { // Given - List failureMechanismObservers = new List(); var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); var failureMechanism = mocks.Stub(); failureMechanism.Stub(fm => fm.Name).Return("A"); - failureMechanism.Stub(fm => fm.Code).Return("C"); - failureMechanism.IsRelevant = initialIsRelevant; - failureMechanism.Stub(fm => fm.Attach(null)) - .IgnoreArguments() - .WhenCalled(invocation => { failureMechanismObservers.Add((IObserver) invocation.Arguments[0]); }); - failureMechanism.Stub(fm => fm.NotifyObservers()) - .WhenCalled(invocation => { failureMechanismObservers[1].UpdateObserver(); }); - failureMechanism.Stub(fm => fm.Detach(null)) - .IgnoreArguments() - .WhenCalled(invocation => { failureMechanismObservers.Remove((IObserver) invocation.Arguments[0]); }); + failureMechanism.Stub(fm => fm.Code).Return("b"); + failureMechanism.IsRelevant = true; + failureMechanism.Expect(fm => fm.NotifyObservers()); + var viewCommands = mocks.Stub(); + viewCommands.Expect(c => c.RemoveAllViewsForItem(failureMechanism)); + mocks.ReplayAll(); - var relevantFailureMechanism = mocks.Stub(); - relevantFailureMechanism.Stub(fm => fm.Name).Return("B"); - relevantFailureMechanism.Stub(fm => fm.Code).Return("C"); - relevantFailureMechanism.IsRelevant = true; - relevantFailureMechanism.Stub(fm => fm.Attach(null)) - .IgnoreArguments(); - relevantFailureMechanism.Stub(fm => fm.Detach(null)) - .IgnoreArguments(); - - var irrelevantFailureMechanism = mocks.Stub(); - irrelevantFailureMechanism.Stub(fm => fm.Name).Return("C"); - irrelevantFailureMechanism.Stub(fm => fm.Code).Return("C"); - irrelevantFailureMechanism.IsRelevant = false; - irrelevantFailureMechanism.Stub(fm => fm.Attach(null)) - .IgnoreArguments(); - irrelevantFailureMechanism.Stub(fm => fm.Detach(null)) - .IgnoreArguments(); - var failureMechanisms = new[] - { - failureMechanism, - relevantFailureMechanism, - irrelevantFailureMechanism - }; + { + failureMechanism + }; + var contribution = new FailureMechanismContribution(failureMechanisms, 50.0, 1.0 / 30000); - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(section => section.GetFailureMechanisms()).Return(failureMechanisms); - assessmentSection.Stub(section => section.Composition).Return(AssessmentSectionComposition.Dike); - - IViewCommands viewCommandsStub = mocks.Stub(); - if (initialIsRelevant) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { - viewCommandsStub.Expect(vc => vc.RemoveAllViewsForItem(failureMechanism)); - } - viewCommandsStub.Expect(vc => vc.RemoveAllViewsForItem(relevantFailureMechanism)).Repeat.Never(); - viewCommandsStub.Expect(vc => vc.RemoveAllViewsForItem(irrelevantFailureMechanism)); - mocks.ReplayAll(); - - using (var view = new FailureMechanismContributionView(handler) - { - ViewCommands = viewCommandsStub - }) - { ShowFormWithView(view); - var contribution = new FailureMechanismContribution(failureMechanisms, 50.0, 1.0/30000); - view.Data = contribution; - view.AssessmentSection = assessmentSection; + var dataGridView = (DataGridView)new ControlTester(dataGridViewControlName).TheObject; + DataGridViewRow row = dataGridView.Rows[0]; + // When - failureMechanism.IsRelevant = !initialIsRelevant; - failureMechanism.NotifyObservers(); + row.Cells[isRelevantColumnIndex].Value = false; + + // Then + Assert.IsFalse(failureMechanism.IsRelevant); } - // Then mocks.VerifyAll(); } @@ -880,10 +944,12 @@ { // Given var mocks = new MockRepository(); - var handler = mocks.Stub(); + var handler1 = mocks.Stub(); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler)) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands)) { ShowFormWithView(view); @@ -914,10 +980,12 @@ { // Given var mocks = new MockRepository(); - var handler = mocks.Stub(); - handler.Stub(h => h.ChangeNorm(null, 1)) - .IgnoreArguments() - .Return(Enumerable.Empty()); + var handler1 = mocks.Stub(); + handler1.Stub(h => h.ChangeNorm(null, 1)) + .IgnoreArguments() + .Return(Enumerable.Empty()); + var handler2 = mocks.Stub(); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); AssessmentSection assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); @@ -926,7 +994,7 @@ const int returnPeriod = 200; int originalReturnPeriodValue = Convert.ToInt32(1.0/failureMechanismContribution.Norm); - using (var view = new FailureMechanismContributionView(handler) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = failureMechanismContribution, AssessmentSection = assessmentSection @@ -964,14 +1032,18 @@ FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; var mocks = new MockRepository(); - var handler = mocks.StrictMock(); - handler.Expect(h => h.ConfirmNormChange()) - .Return(true); - handler.Expect(h => h.ChangeNorm(assessmentSection, norm)) - .Return(Enumerable.Empty()); + var handler1 = mocks.StrictMock(); + handler1.Expect(h => h.ConfirmNormChange()) + .Return(true); + handler1.Expect(h => h.ChangeNorm(assessmentSection, norm)) + .Return(Enumerable.Empty()); + var handler2 = mocks.Stub(); + handler2.Stub(h => h.ConfirmCompositionChange()) + .Return(false); + var viewCommands = mocks.Stub(); mocks.ReplayAll(); - using (var view = new FailureMechanismContributionView(handler) + using (var view = new FailureMechanismContributionView(handler1, handler2, viewCommands) { Data = failureMechanismContribution, AssessmentSection = assessmentSection @@ -1009,22 +1081,6 @@ } } - private void AssertDataGridViewDataSource(IEnumerable expectedDistributionElements, DataGridView dataGridView) - { - FailureMechanismContributionItem[] itemArray = expectedDistributionElements.ToArray(); - Assert.AreEqual(itemArray.Length, dataGridView.RowCount); - for (int i = 0; i < itemArray.Length; i++) - { - FailureMechanismContributionItem 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.Contribution, row.Cells[contributionColumnIndex].Value); - Assert.AreEqual(expectedElement.ProbabilitySpace, row.Cells[probabilitySpaceColumnIndex].Value); - } - } - private void ShowFormWithView(FailureMechanismContributionView distributionView) { testForm.Controls.Add(distributionView);