Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs =================================================================== diff -u -recf136a787efcd5d3f171f8aee8930f84a89e80a -r2ff2a985fe9015df6da49fe43006e5c7631434c3 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs (.../FailureMechanismContributionItemRowTest.cs) (revision ecf136a787efcd5d3f171f8aee8930f84a89e80a) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionItemRowTest.cs (.../FailureMechanismContributionItemRowTest.cs) (revision 2ff2a985fe9015df6da49fe43006e5c7631434c3) @@ -21,6 +21,7 @@ using System; using Core.Common.Base; +using Core.Common.Gui.Commands; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.Contribution; @@ -35,31 +36,58 @@ [Test] public void Constructor_WithoutFailureMechanismContributionItem_ThrowsArgumentNullException() { + // setup + var mocks = new MockRepository(); + var viewCommands = mocks.Stub(); + mocks.ReplayAll(); + // Call - TestDelegate test = () => new FailureMechanismContributionItemRow(null); + TestDelegate test = () => new FailureMechanismContributionItemRow(null, viewCommands); // Assert string paramName = Assert.Throws(test).ParamName; Assert.AreEqual("contributionItem", paramName); + mocks.VerifyAll(); } [Test] + public void Constructor_WithoutViewCommands_ThrowsArgumentNullException() + { + // Setup + var pipingFailureMechanism = new PipingFailureMechanism(); + var contributionItem = new FailureMechanismContributionItem(pipingFailureMechanism, 1000); + + // Call + TestDelegate call = () => new FailureMechanismContributionItemRow(contributionItem, null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreSame("viewCommands", paramName); + } + + [Test] public void Constructor_WithFailureMechanismContributionItem_PropertiesFromFailureMechanismContributionItem() { // Setup + var mocks = new MockRepository(); + var viewCommands = mocks.Stub(); + mocks.ReplayAll(); + var pipingFailureMechanism = new PipingFailureMechanism(); const double norm = 0.1; var contributionItem = new FailureMechanismContributionItem(pipingFailureMechanism, norm); // Call - var row = new FailureMechanismContributionItemRow(contributionItem); + var row = new FailureMechanismContributionItemRow(contributionItem, viewCommands); // Assert Assert.AreEqual(contributionItem.Contribution, row.Contribution); Assert.AreEqual(contributionItem.Assessment, row.Assessment); Assert.AreEqual(contributionItem.AssessmentCode, row.Code); Assert.AreEqual(contributionItem.IsRelevant, row.IsRelevant); Assert.AreEqual(contributionItem.ProbabilitySpace, row.ProbabilitySpace); + + mocks.VerifyAll(); } [Test] @@ -68,18 +96,24 @@ public void IsRelevant_AlwaysOnChange_NotifyFailureMechanismObserversAndCalculationPropertyChanged(bool newValue) { // Setup + var pipingFailureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); + var viewCommands = mocks.StrictMock(); + if (!newValue) + { + viewCommands.Expect(c => c.RemoveAllViewsForItem(pipingFailureMechanism)); + } var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); - var pipingFailureMechanism = new PipingFailureMechanism(); pipingFailureMechanism.Attach(observer); const double norm = 0.1; var contributionItem = new FailureMechanismContributionItem(pipingFailureMechanism, norm); - var row = new FailureMechanismContributionItemRow(contributionItem); + var row = new FailureMechanismContributionItemRow(contributionItem, viewCommands); // Call row.IsRelevant = newValue;