Index: Riskeer/Common/src/Riskeer.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs =================================================================== diff -u -r1b062cc4b3f0dd11defb95dd7ad5689a595274db -r9467c0d784b05ccb42803f38d5952fc5819bffa2 --- Riskeer/Common/src/Riskeer.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs (.../FailureMechanismSectionUpdateStrategy.cs) (revision 1b062cc4b3f0dd11defb95dd7ad5689a595274db) +++ Riskeer/Common/src/Riskeer.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs (.../FailureMechanismSectionUpdateStrategy.cs) (revision 9467c0d784b05ccb42803f38d5952fc5819bffa2) @@ -32,7 +32,7 @@ /// An that can be used to update failure mechanism sections with /// imported failure mechanism sections. /// - /// The type of that will be updated. + /// The type of that will be updated. public class FailureMechanismSectionUpdateStrategy : IFailureMechanismSectionUpdateStrategy where T : FailureMechanismSectionResult { @@ -111,53 +111,4 @@ yield break; } } - - /// - /// An that can be used to update failure mechanism sections with - /// imported failure mechanism sections. - /// - /// The type of that will be updated. - /// The type of that will be updated. - public class FailureMechanismSectionUpdateStrategy : FailureMechanismSectionUpdateStrategy - where TOld : FailureMechanismSectionResultOld - where TNew : FailureMechanismSectionResult - { - private readonly IHasSectionResults failureMechanism; - private readonly IFailureMechanismSectionResultUpdateStrategy sectionResultUpdateStrategy; - - /// - /// Creates a new instance of . - /// - /// The to update the sections for. - /// The to use when updating - /// the section results. - /// Thrown when any parameter is null. - public FailureMechanismSectionUpdateStrategy(IHasSectionResults failureMechanism, - IFailureMechanismSectionResultUpdateStrategy sectionResultUpdateStrategy) - : base(failureMechanism, sectionResultUpdateStrategy) - { - this.failureMechanism = failureMechanism; - this.sectionResultUpdateStrategy = sectionResultUpdateStrategy; - } - - public override IEnumerable UpdateSectionsWithImportedData(IEnumerable importedFailureMechanismSections, string sourcePath) - { - TOld[] oldSectionResults = failureMechanism.SectionResultsOld.ToArray(); - List affectedObjects = base.UpdateSectionsWithImportedData(importedFailureMechanismSections, sourcePath).ToList(); - - foreach (TOld sectionResult in failureMechanism.SectionResultsOld) - { - TOld equalSection = oldSectionResults.FirstOrDefault(item => item.Section.StartPoint.Equals(sectionResult.Section.StartPoint) - && item.Section.EndPoint.Equals(sectionResult.Section.EndPoint)); - - if (equalSection != null) - { - sectionResultUpdateStrategy.UpdateSectionResultOld(equalSection, sectionResult); - } - } - - affectedObjects.Add(failureMechanism.SectionResultsOld); - return affectedObjects; - } - } } \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs =================================================================== diff -u -r1b062cc4b3f0dd11defb95dd7ad5689a595274db -r9467c0d784b05ccb42803f38d5952fc5819bffa2 --- Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs (.../FailureMechanismSectionUpdateStrategyTest.cs) (revision 1b062cc4b3f0dd11defb95dd7ad5689a595274db) +++ Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs (.../FailureMechanismSectionUpdateStrategyTest.cs) (revision 9467c0d784b05ccb42803f38d5952fc5819bffa2) @@ -37,8 +37,6 @@ [TestFixture] public class FailureMechanismSectionUpdateStrategyTest { - #region single type - [Test] public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() { @@ -153,7 +151,7 @@ IObservableEnumerable failureMechanismSectionResults = failureMechanism.SectionResults; FailureMechanismSectionResult oldSectionResult = failureMechanismSectionResults.First(); - var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategyOld(); + var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy(); var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy); FailureMechanismSection[] sections = @@ -206,7 +204,7 @@ new Point2D(15.0, 15.0) }); - var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategyOld(); + var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy(); var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy); FailureMechanismSection[] sections = @@ -238,7 +236,7 @@ FailureMechanismSectionTestFactory.CreateFailureMechanismSection() }, oldSourcePath); - var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategyOld(); + var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy(); var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy( failureMechanism, sectionResultUpdateStrategy); @@ -268,7 +266,7 @@ // Setup var failureMechanism = new TestFailureMechanism(); - var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategyOld(); + var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy(); var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy( failureMechanism, sectionResultUpdateStrategy); @@ -279,7 +277,7 @@ CollectionAssert.IsEmpty(affectedObjects); } - private class TestUpdateFailureMechanismSectionResultUpdateStrategyOld : IFailureMechanismSectionResultUpdateStrategy + private class TestUpdateFailureMechanismSectionResultUpdateStrategy : IFailureMechanismSectionResultUpdateStrategy { public bool UpdatedOld { get; private set; } public FailureMechanismSectionResult Origin { get; private set; } @@ -292,104 +290,5 @@ Target = target; } } - - #endregion - - #region two types - - [Test] - public void ConstructorWithOldAndNew_ExpectedValues() - { - // Setup - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub>(); - var sectionResultUpdateStrategy = mocks.Stub>(); - mocks.ReplayAll(); - - // Call - var importer = new FailureMechanismSectionUpdateStrategy( - failureMechanism, sectionResultUpdateStrategy); - - // Assert - Assert.IsInstanceOf>(importer); - mocks.VerifyAll(); - } - - [Test] - public void UpdateSectionsWithImportedDataWithOldAndNew_WithValidData_SetsSectionsToFailureMechanismAndCopiesPropertiesOfEqualSectionsAndReturnsAffectedObjects() - { - // Setup - string sourcePath = TestHelper.GetScratchPadPath(); - - var failureMechanism = new TestFailureMechanism(); - FailureMechanismSection failureMechanismSection1 = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] - { - new Point2D(0.0, 0.0), - new Point2D(5.0, 5.0) - }); - FailureMechanismSection failureMechanismSection2 = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] - { - new Point2D(5.0, 5.0), - new Point2D(10.0, 10.0) - }); - failureMechanism.SetSections(new[] - { - failureMechanismSection1, - failureMechanismSection2 - }, sourcePath); - - IObservableEnumerable failureMechanismSectionResults = failureMechanism.SectionResultsOld; - FailureMechanismSectionResultOld oldSectionResult = failureMechanismSectionResults.First(); - - var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy(); - var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy( - failureMechanism, sectionResultUpdateStrategy); - - FailureMechanismSection[] sections = - { - FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] - { - new Point2D(0.0, 0.0), - new Point2D(5.0, 5.0) - }), - FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[] - { - new Point2D(5.0, 5.0), - new Point2D(15.0, 15.0) - }) - }; - - // Call - IEnumerable affectedObjects = failureMechanismSectionUpdateStrategy.UpdateSectionsWithImportedData(sections, sourcePath); - - // Assert - Assert.AreEqual(sourcePath, failureMechanism.FailureMechanismSectionSourcePath); - - IEnumerable failureMechanismSections = failureMechanism.Sections; - Assert.AreEqual(2, failureMechanismSections.Count()); - CollectionAssert.AreEqual(sections, failureMechanismSections); - Assert.AreSame(oldSectionResult, sectionResultUpdateStrategy.OriginOld); - Assert.AreSame(failureMechanismSectionResults.First(), sectionResultUpdateStrategy.TargetOld); - CollectionAssert.AreEqual(new IObservable[] - { - failureMechanism, - failureMechanism.SectionResults, - failureMechanism.SectionResultsOld - }, affectedObjects); - } - - private class TestUpdateFailureMechanismSectionResultUpdateStrategy : TestUpdateFailureMechanismSectionResultUpdateStrategyOld, IFailureMechanismSectionResultUpdateStrategy - { - public FailureMechanismSectionResultOld OriginOld { get; private set; } - public FailureMechanismSectionResultOld TargetOld { get; private set; } - - public void UpdateSectionResultOld(FailureMechanismSectionResultOld origin, FailureMechanismSectionResultOld target) - { - OriginOld = origin; - TargetOld = target; - } - } - - #endregion } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs =================================================================== diff -u -r482d10c98dfc1a867fad2d61b36c1657cdf45fc0 -r9467c0d784b05ccb42803f38d5952fc5819bffa2 --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs (.../PipingFailureMechanismSectionUpdateStrategyTest.cs) (revision 482d10c98dfc1a867fad2d61b36c1657cdf45fc0) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/FileImporter/PipingFailureMechanismSectionUpdateStrategyTest.cs (.../PipingFailureMechanismSectionUpdateStrategyTest.cs) (revision 9467c0d784b05ccb42803f38d5952fc5819bffa2) @@ -49,7 +49,7 @@ new PipingFailureMechanism(), new AdoptableWithProfileProbabilityFailureMechanismSectionResultUpdateStrategy()); // Assert - Assert.IsInstanceOf>(updateStrategy); + Assert.IsInstanceOf>(updateStrategy); } [Test]