Index: Riskeer/Common/test/Riskeer.Common.Plugin.TestUtil/ShouldCloseViewWithFailureMechanismTester.cs =================================================================== diff -u -r6e3bc0437167a40cf4a79f0f04e31dc61ef4407f -r8518a935e0382848aeb3ee802e5bd25d8af3cfb1 --- Riskeer/Common/test/Riskeer.Common.Plugin.TestUtil/ShouldCloseViewWithFailureMechanismTester.cs (.../ShouldCloseViewWithFailureMechanismTester.cs) (revision 6e3bc0437167a40cf4a79f0f04e31dc61ef4407f) +++ Riskeer/Common/test/Riskeer.Common.Plugin.TestUtil/ShouldCloseViewWithFailureMechanismTester.cs (.../ShouldCloseViewWithFailureMechanismTester.cs) (revision 8518a935e0382848aeb3ee802e5bd25d8af3cfb1) @@ -47,7 +47,7 @@ assessmentSection.Stub(asm => asm.SpecificFailureMechanisms).Return(new ObservableList()); mocks.ReplayAll(); - var failureMechanism = new TestFailureMechanism(); + IFailureMechanism failureMechanism = GetFailureMechanism(); using (IView view = GetView(failureMechanism)) { // Call @@ -64,7 +64,7 @@ public void ShouldCloseMethod_ViewCorrespondingToRemovedAssessmentSectionAndFailureMechanism_ReturnsTrue() { // Setup - var failureMechanism = new TestCalculatableFailureMechanism(); + IFailureMechanism failureMechanism = GetFailureMechanism(); var mocks = new MockRepository(); var assessmentSection = mocks.Stub(); @@ -91,7 +91,7 @@ public void ShouldCloseMethod_ViewNotCorrespondingToRemovedAssessmentSectionAndFailureMechanism_ReturnsFalse() { // Setup - var otherFailureMechanism = new TestCalculatableFailureMechanism(); + IFailureMechanism otherFailureMechanism = GetFailureMechanism(); var mocks = new MockRepository(); var failureMechanism = mocks.Stub(); @@ -119,7 +119,7 @@ public void ShouldCloseMethod_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() { // Setup - var failureMechanism = new TestCalculatableFailureMechanism(); + IFailureMechanism failureMechanism = GetFailureMechanism(); using (IView view = GetView(failureMechanism)) { @@ -135,7 +135,7 @@ public void ShouldCloseMethod_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() { // Setup - var otherFailureMechanism = new TestCalculatableFailureMechanism(); + IFailureMechanism otherFailureMechanism = GetFailureMechanism(); var mocks = new MockRepository(); var failureMechanism = mocks.Stub(); @@ -189,7 +189,7 @@ var assessmentSection = mocks.Stub(); mocks.ReplayAll(); - var failureMechanism = new TestFailureMechanism(); + IFailureMechanism failureMechanism = GetFailureMechanism(); var failureMechanismContext = new TestFailureMechanismContext(otherFailureMechanism, assessmentSection); using (IView view = GetView(failureMechanism)) @@ -212,7 +212,7 @@ var assessmentSection = mocks.Stub(); mocks.ReplayAll(); - var failureMechanism = new TestFailureMechanism(); + IFailureMechanism failureMechanism = GetFailureMechanism(); var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection); using (IView view = GetView(failureMechanism)) @@ -242,6 +242,11 @@ /// A view object. protected abstract IView GetView(IFailureMechanism failureMechanism); + protected virtual IFailureMechanism GetFailureMechanism() + { + return new TestFailureMechanism(); + } + private class TestFailureMechanismContext : IFailureMechanismContext { public TestFailureMechanismContext(IFailureMechanism wrappedFailureMechanism, IAssessmentSection parent) Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs =================================================================== diff -u -r011d738e8f587f8d98e17adb5a00045402137b2d -r8518a935e0382848aeb3ee802e5bd25d8af3cfb1 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs (.../MacroStabilityInwardsScenariosView.cs) (revision 011d738e8f587f8d98e17adb5a00045402137b2d) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs (.../MacroStabilityInwardsScenariosView.cs) (revision 8518a935e0382848aeb3ee802e5bd25d8af3cfb1) @@ -134,7 +134,7 @@ { UpdateSectionsListBox(); UpdateScenarioRows(); - }, section => section) + }, sectionConfiguration => sectionConfiguration) { Observable = failureMechanism.SectionConfigurations }; Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismSectionsViewInfoTest.cs =================================================================== diff -u -r011d738e8f587f8d98e17adb5a00045402137b2d -r8518a935e0382848aeb3ee802e5bd25d8af3cfb1 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismSectionsViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismSectionsViewInfoTest.cs) (revision 011d738e8f587f8d98e17adb5a00045402137b2d) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismSectionsViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismSectionsViewInfoTest.cs) (revision 8518a935e0382848aeb3ee802e5bd25d8af3cfb1) @@ -29,14 +29,14 @@ using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Forms.Views; +using Riskeer.Common.Plugin.TestUtil; using Riskeer.MacroStabilityInwards.Data; using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; namespace Riskeer.MacroStabilityInwards.Plugin.Test.ViewInfos { [TestFixture] - public class MacroStabilityInwardsFailureMechanismSectionsViewInfoTest + public class MacroStabilityInwardsFailureMechanismSectionsViewInfoTest : ShouldCloseViewWithFailureMechanismTester { private static ViewInfo info; @@ -86,175 +86,30 @@ mocks.VerifyAll(); } - [Test] - public void ShouldCloseMethod_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() + protected override bool ShouldCloseMethod(IView view, object o) { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(Enumerable.Empty()); - assessmentSection.Stub(asm => asm.SpecificFailureMechanisms).Return(new ObservableList()); - mocks.ReplayAll(); - - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, assessmentSection); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); + return info.CloseForData(view, o); } - [Test] - public void ShouldCloseMethod_ViewCorrespondingToRemovedAssessmentSectionAndFailureMechanism_ReturnsTrue() + protected override IView GetView(IFailureMechanism failureMechanism) { - // Setup - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new[] + if (failureMechanism is MacroStabilityInwardsFailureMechanism macroStabilityInwardsFailureMechanism) { - failureMechanism - }); - assessmentSection.Stub(asm => asm.SpecificFailureMechanisms).Return(new ObservableList()); - mocks.ReplayAll(); - - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, assessmentSection); - - // Assert - Assert.IsTrue(closeForData); + return new FailureMechanismSectionConfigurationsView( + macroStabilityInwardsFailureMechanism.SectionConfigurations, + macroStabilityInwardsFailureMechanism, + (configuration, start, end) => new FailureMechanismSectionConfigurationRow(configuration, start, end, macroStabilityInwardsFailureMechanism.GeneralInput.B)); } - mocks.VerifyAll(); + return new FailureMechanismSectionConfigurationsView( + new ObservableList(), + failureMechanism, + (configuration, start, end) => new FailureMechanismSectionConfigurationRow(configuration, start, end, 0)); } - [Test] - public void ShouldCloseMethod_ViewNotCorrespondingToRemovedAssessmentSectionAndFailureMechanism_ReturnsFalse() + protected override IFailureMechanism GetFailureMechanism() { - // Setup - var otherFailureMechanism = new MacroStabilityInwardsFailureMechanism(); - - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new[] - { - failureMechanism - }); - assessmentSection.Stub(asm => asm.SpecificFailureMechanisms).Return(new ObservableList()); - mocks.ReplayAll(); - - using (IView view = GetView(otherFailureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, assessmentSection); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); + return new MacroStabilityInwardsFailureMechanism(); } - - [Test] - public void ShouldCloseMethod_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() - { - // Setup - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanism); - - // Assert - Assert.IsTrue(closeForData); - } - } - - [Test] - public void ShouldCloseMethod_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() - { - // Setup - var otherFailureMechanism = new MacroStabilityInwardsFailureMechanism(); - - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - mocks.ReplayAll(); - - using (IView view = GetView(otherFailureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanism); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] - public void ShouldCloseMethod_ViewNotCorrespondingToRemovedFailureMechanismContext_ReturnsFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var failureMechanismContext = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); - - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanismContext); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] - public void ShouldCloseMethod_ViewCorrespondingToRemovedFailureMechanismContext_ReturnsTrue() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var failureMechanismContext = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); - - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanismContext); - - // Assert - Assert.IsTrue(closeForData); - } - - mocks.VerifyAll(); - } - - private FailureMechanismSectionConfigurationsView GetView( - MacroStabilityInwardsFailureMechanism failureMechanism) - { - return new FailureMechanismSectionConfigurationsView( - failureMechanism.SectionConfigurations, - failureMechanism, - (configuration, start, end) => new FailureMechanismSectionConfigurationRow(configuration, start, end, failureMechanism.GeneralInput.B)); - } } } \ No newline at end of file