Index: Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionReplaceStrategy.cs =================================================================== diff -u -r7bc4ac66458cc11bee836f1bceb00f0791e3873d -r1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f --- Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionReplaceStrategy.cs (.../PipingFailureMechanismSectionReplaceStrategy.cs) (revision 7bc4ac66458cc11bee836f1bceb00f0791e3873d) +++ Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionReplaceStrategy.cs (.../PipingFailureMechanismSectionReplaceStrategy.cs) (revision 1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f) @@ -31,7 +31,7 @@ namespace Riskeer.Piping.Plugin.FileImporter { /// - /// An that can be used to replace + /// A that can be used to replace /// piping failure mechanism sections with imported failure mechanism sections. /// public class PipingFailureMechanismSectionReplaceStrategy : FailureMechanismSectionReplaceStrategy Index: Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionUpdateStrategy.cs =================================================================== diff -u -r7bc4ac66458cc11bee836f1bceb00f0791e3873d -r1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f --- Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionUpdateStrategy.cs (.../PipingFailureMechanismSectionUpdateStrategy.cs) (revision 7bc4ac66458cc11bee836f1bceb00f0791e3873d) +++ Riskeer/Piping/src/Riskeer.Piping.Plugin/FileImporter/PipingFailureMechanismSectionUpdateStrategy.cs (.../PipingFailureMechanismSectionUpdateStrategy.cs) (revision 1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f) @@ -32,7 +32,7 @@ namespace Riskeer.Piping.Plugin.FileImporter { /// - /// An that can be used to update + /// A that can be used to update /// piping failure mechanism sections with imported failure mechanism sections. /// public class PipingFailureMechanismSectionUpdateStrategy : FailureMechanismSectionUpdateStrategy< @@ -82,6 +82,7 @@ if (failureMechanismSectionConfigurationToCopy != null) { + newSectionConfiguration.A = failureMechanismSectionConfigurationToCopy.A; newSectionConfiguration.ScenarioConfigurationType = failureMechanismSectionConfigurationToCopy.ScenarioConfigurationType; } } Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionReplaceStrategyTest.cs =================================================================== diff -u -r7bc4ac66458cc11bee836f1bceb00f0791e3873d -r1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionReplaceStrategyTest.cs (.../PipingFailureMechanismSectionReplaceStrategyTest.cs) (revision 7bc4ac66458cc11bee836f1bceb00f0791e3873d) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionReplaceStrategyTest.cs (.../PipingFailureMechanismSectionReplaceStrategyTest.cs) (revision 1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f) @@ -46,7 +46,7 @@ var replaceStrategy = new PipingFailureMechanismSectionReplaceStrategy(new PipingFailureMechanism()); // Assert - Assert.IsInstanceOf(replaceStrategy); + Assert.IsInstanceOf(replaceStrategy); } [Test] Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs =================================================================== diff -u -r7bc4ac66458cc11bee836f1bceb00f0791e3873d -r1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs (.../PipingFailureMechanismSectionUpdateStrategyTest.cs) (revision 7bc4ac66458cc11bee836f1bceb00f0791e3873d) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs (.../PipingFailureMechanismSectionUpdateStrategyTest.cs) (revision 1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f) @@ -22,6 +22,7 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; @@ -83,6 +84,9 @@ public void GivenFailureMechanismWithSections_WhenUpdateSectionsWithImportedData_ThenDataUpdatedAndReturnsAffectedObjects() { // Given + var firstSectionA = (RoundedDouble) 0.13; + var secondSectionA = (RoundedDouble) 0.37; + var failureMechanism = new PipingFailureMechanism(); var failureMechanismSectionUpdateStrategy = new PipingFailureMechanismSectionUpdateStrategy( failureMechanism, new AdoptableFailureMechanismSectionResultUpdateStrategy()); @@ -100,13 +104,20 @@ failureMechanism.SetSections(sections, sourcePath); failureMechanism.SectionConfigurations.First().ScenarioConfigurationType = PipingScenarioConfigurationPerFailureMechanismSectionType.Probabilistic; + failureMechanism.SectionConfigurations.First().A = firstSectionA; + failureMechanism.SectionConfigurations.ElementAt(1).A = secondSectionA; // When IEnumerable affectedObjects = failureMechanismSectionUpdateStrategy.UpdateSectionsWithImportedData(sections, sourcePath); // Then CollectionAssert.AreEqual(new[] { + firstSectionA, + secondSectionA + }, failureMechanism.SectionConfigurations.Select(sc => sc.A)); + CollectionAssert.AreEqual(new[] + { PipingScenarioConfigurationPerFailureMechanismSectionType.Probabilistic, PipingScenarioConfigurationPerFailureMechanismSectionType.SemiProbabilistic }, failureMechanism.SectionConfigurations.Select(sc => sc.ScenarioConfigurationType)); Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismSectionsViewInfoTest.cs =================================================================== diff -u -r368127b88eea4adb259edabbc161cb9d4fea7847 -r1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismSectionsViewInfoTest.cs (.../PipingFailureMechanismSectionsViewInfoTest.cs) (revision 368127b88eea4adb259edabbc161cb9d4fea7847) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismSectionsViewInfoTest.cs (.../PipingFailureMechanismSectionsViewInfoTest.cs) (revision 1f7bc24ba57f35590148c64d1ad8bb23f50a3b1f) @@ -28,15 +28,15 @@ using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Plugin.TestUtil; using Riskeer.Piping.Data; using Riskeer.Piping.Forms.PresentationObjects; -using Riskeer.Piping.Forms.PresentationObjects.CalculationsState; using Riskeer.Piping.Forms.Views; namespace Riskeer.Piping.Plugin.Test.ViewInfos { [TestFixture] - public class PipingFailureMechanismSectionsViewInfoTest + public class PipingFailureMechanismSectionsViewInfoTest : ShouldCloseViewWithFailureMechanismTester { private static ViewInfo info; @@ -86,171 +86,25 @@ 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 PipingFailureMechanism(); - 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 PipingFailureMechanism(); - - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(asm => asm.GetFailureMechanisms()).Return(new[] + if (failureMechanism is PipingFailureMechanism pipingFailureMechanism) { - 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 PipingFailureMechanismSectionConfigurationsView(pipingFailureMechanism.SectionConfigurations, pipingFailureMechanism); } - mocks.VerifyAll(); + return new PipingFailureMechanismSectionConfigurationsView(new ObservableList(), + new PipingFailureMechanism()); } - [Test] - public void ShouldCloseMethod_ViewNotCorrespondingToRemovedAssessmentSectionAndFailureMechanism_ReturnsFalse() + protected override IFailureMechanism GetFailureMechanism() { - // Setup - var otherFailureMechanism = new PipingFailureMechanism(); - - 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 PipingFailureMechanism(); } - - [Test] - public void ShouldCloseMethod_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() - { - // Setup - var failureMechanism = new PipingFailureMechanism(); - - 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 PipingFailureMechanism(); - - 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 PipingFailureMechanism(); - var failureMechanismContext = new PipingFailureMechanismContext(new PipingFailureMechanism(), 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 PipingFailureMechanism(); - var failureMechanismContext = new PipingFailureMechanismContext(failureMechanism, assessmentSection); - - using (IView view = GetView(failureMechanism)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanismContext); - - // Assert - Assert.IsTrue(closeForData); - } - - mocks.VerifyAll(); - } - - private PipingFailureMechanismSectionConfigurationsView GetView(PipingFailureMechanism failureMechanism) - { - return new PipingFailureMechanismSectionConfigurationsView(failureMechanism.SectionConfigurations, failureMechanism); - } } } \ No newline at end of file