Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategy.cs =================================================================== diff -u -r5f375656595d8fee8727648409e202f67f441daa -re295f5b43c1e0d1f4f605565d2c656027670a476 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategy.cs (.../DuneErosionFailureMechanismSectionResultUpdateStrategy.cs) (revision 5f375656595d8fee8727648409e202f67f441daa) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategy.cs (.../DuneErosionFailureMechanismSectionResultUpdateStrategy.cs) (revision e295f5b43c1e0d1f4f605565d2c656027670a476) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.IO.FileImporters; using Riskeer.DuneErosion.Data; @@ -30,7 +31,7 @@ /// from an old instance. /// public class DuneErosionFailureMechanismSectionResultUpdateStrategy - : IFailureMechanismSectionResultUpdateStrategy + : IFailureMechanismSectionResultUpdateStrategy { public void UpdateSectionResultOld(DuneErosionFailureMechanismSectionResultOld origin, DuneErosionFailureMechanismSectionResultOld target) { @@ -54,5 +55,24 @@ target.UseManualAssembly = origin.UseManualAssembly; target.ManualAssemblyCategoryGroup = origin.ManualAssemblyCategoryGroup; } + + public void UpdateSectionResult(AdoptableFailureMechanismSectionResult origin, AdoptableFailureMechanismSectionResult target) + { + if (origin == null) + { + throw new ArgumentNullException(nameof(origin)); + } + + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + target.IsRelevant = origin.IsRelevant; + target.InitialFailureMechanismResult = origin.InitialFailureMechanismResult; + target.ManualInitialFailureMechanismResultSectionProbability = origin.ManualInitialFailureMechanismResultSectionProbability; + target.FurtherAnalysisNeeded = origin.FurtherAnalysisNeeded; + target.RefinedSectionProbability = origin.RefinedSectionProbability; + } } } \ No newline at end of file Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategyTest.cs =================================================================== diff -u -r570ba782656147a3d242852a1c273132175f1bc3 -re295f5b43c1e0d1f4f605565d2c656027670a476 --- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategyTest.cs (.../DuneErosionFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 570ba782656147a3d242852a1c273132175f1bc3) +++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/FileImporters/DuneErosionFailureMechanismSectionResultUpdateStrategyTest.cs (.../DuneErosionFailureMechanismSectionResultUpdateStrategyTest.cs) (revision e295f5b43c1e0d1f4f605565d2c656027670a476) @@ -19,8 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using NUnit.Framework; using Riskeer.AssemblyTool.Data; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.TestUtil; using Riskeer.Common.Plugin.TestUtil.FileImporters; using Riskeer.Common.Primitives; @@ -31,7 +33,7 @@ { [TestFixture] public class DuneErosionFailureMechanismSectionResultUpdateStrategyTest : FailureMechanismSectionResultUpdateStrategyTestFixture< - DuneErosionFailureMechanismSectionResultUpdateStrategy, DuneErosionFailureMechanismSectionResultOld> + DuneErosionFailureMechanismSectionResultUpdateStrategy, DuneErosionFailureMechanismSectionResultOld, AdoptableFailureMechanismSectionResult> { protected override DuneErosionFailureMechanismSectionResultOld CreateEmptySectionResultOld() { @@ -67,5 +69,32 @@ Assert.AreEqual(originResult.UseManualAssembly, targetResult.UseManualAssembly); Assert.AreEqual(originResult.ManualAssemblyCategoryGroup, targetResult.ManualAssemblyCategoryGroup); } + + protected override AdoptableFailureMechanismSectionResult CreateEmptySectionResult() + { + return new AdoptableFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()); + } + + protected override AdoptableFailureMechanismSectionResult CreateConfiguredSectionResult() + { + var random = new Random(39); + return new AdoptableFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + { + IsRelevant = true, + InitialFailureMechanismResult = AdoptableInitialFailureMechanismResultType.Manual, + ManualInitialFailureMechanismResultSectionProbability = random.NextDouble(), + FurtherAnalysisNeeded = true, + RefinedSectionProbability = random.NextDouble() + }; + } + + protected override void AssertSectionResult(AdoptableFailureMechanismSectionResult originResult, AdoptableFailureMechanismSectionResult targetResult) + { + Assert.AreEqual(originResult.IsRelevant, targetResult.IsRelevant); + Assert.AreEqual(originResult.InitialFailureMechanismResult, targetResult.InitialFailureMechanismResult); + Assert.AreEqual(originResult.ManualInitialFailureMechanismResultSectionProbability, targetResult.ManualInitialFailureMechanismResultSectionProbability); + Assert.AreEqual(originResult.FurtherAnalysisNeeded, targetResult.FurtherAnalysisNeeded); + Assert.AreEqual(originResult.RefinedSectionProbability, targetResult.RefinedSectionProbability); + } } } \ No newline at end of file