Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy.cs =================================================================== diff -u -r5f375656595d8fee8727648409e202f67f441daa -r0db998cd8386825d761c6a2883512ba250ff795a --- Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy.cs (.../GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy.cs) (revision 5f375656595d8fee8727648409e202f67f441daa) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy.cs (.../GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy.cs) (revision 0db998cd8386825d761c6a2883512ba250ff795a) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.IO.FileImporters; using Riskeer.Integration.Data.StandAlone.SectionResults; @@ -30,7 +31,7 @@ /// from an old instance. /// public class GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy - : IFailureMechanismSectionResultUpdateStrategy + : IFailureMechanismSectionResultUpdateStrategy { public void UpdateSectionResultOld(GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld origin, GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld target) { @@ -50,5 +51,26 @@ target.UseManualAssembly = origin.UseManualAssembly; target.ManualAssemblyCategoryGroup = origin.ManualAssemblyCategoryGroup; } + + public void UpdateSectionResult(NonAdoptableWithProfileProbabilityFailureMechanismSectionResult origin, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult target) + { + if (origin == null) + { + throw new ArgumentNullException(nameof(origin)); + } + + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + target.IsRelevant = origin.IsRelevant; + target.InitialFailureMechanismResultType = origin.InitialFailureMechanismResultType; + target.ManualInitialFailureMechanismResultSectionProbability = origin.ManualInitialFailureMechanismResultSectionProbability; + target.ManualInitialFailureMechanismResultProfileProbability = origin.ManualInitialFailureMechanismResultProfileProbability; + target.FurtherAnalysisNeeded = origin.FurtherAnalysisNeeded; + target.RefinedSectionProbability = origin.RefinedSectionProbability; + target.RefinedProfileProbability = origin.RefinedProfileProbability; + } } } \ No newline at end of file Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -r20e038bad82a79fa790358800fcbafd628e8c987 -r0db998cd8386825d761c6a2883512ba250ff795a --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 20e038bad82a79fa790358800fcbafd628e8c987) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 0db998cd8386825d761c6a2883512ba250ff795a) @@ -795,7 +795,7 @@ new GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy()); yield return RiskeerUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< - GrassCoverSlipOffOutwardsFailureMechanismSectionsContext, GrassCoverSlipOffOutwardsFailureMechanism, GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld>( + GrassCoverSlipOffOutwardsFailureMechanismSectionsContext, GrassCoverSlipOffOutwardsFailureMechanism, GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult>( new GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy()); yield return RiskeerUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest.cs =================================================================== diff -u -r570ba782656147a3d242852a1c273132175f1bc3 -r0db998cd8386825d761c6a2883512ba250ff795a --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 570ba782656147a3d242852a1c273132175f1bc3) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 0db998cd8386825d761c6a2883512ba250ff795a) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.TestUtil; using NUnit.Framework; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.TestUtil; using Riskeer.Common.Plugin.TestUtil.FileImporters; using Riskeer.Common.Primitives; @@ -30,7 +33,7 @@ { [TestFixture] public class GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategyTest : FailureMechanismSectionResultUpdateStrategyTestFixture< - GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy, GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld> + GrassCoverSlipOffOutwardsFailureMechanismSectionResultUpdateStrategy, GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult> { protected override GrassCoverSlipOffOutwardsFailureMechanismSectionResultOld CreateEmptySectionResultOld() { @@ -58,5 +61,36 @@ Assert.AreEqual(originResult.UseManualAssembly, targetResult.UseManualAssembly); Assert.AreEqual(originResult.ManualAssemblyCategoryGroup, targetResult.ManualAssemblyCategoryGroup); } + + protected override NonAdoptableWithProfileProbabilityFailureMechanismSectionResult CreateEmptySectionResult() + { + return new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()); + } + + protected override NonAdoptableWithProfileProbabilityFailureMechanismSectionResult CreateConfiguredSectionResult() + { + var random = new Random(39); + return new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + { + IsRelevant = random.NextBoolean(), + InitialFailureMechanismResultType = random.NextEnumValue(), + ManualInitialFailureMechanismResultSectionProbability = random.NextDouble(), + ManualInitialFailureMechanismResultProfileProbability = random.NextDouble(), + FurtherAnalysisNeeded = random.NextBoolean(), + RefinedSectionProbability = random.NextDouble(), + RefinedProfileProbability = random.NextDouble() + }; + } + + protected override void AssertSectionResult(NonAdoptableWithProfileProbabilityFailureMechanismSectionResult originResult, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult targetResult) + { + Assert.AreEqual(originResult.IsRelevant, targetResult.IsRelevant); + Assert.AreEqual(originResult.InitialFailureMechanismResultType, targetResult.InitialFailureMechanismResultType); + Assert.AreEqual(originResult.ManualInitialFailureMechanismResultSectionProbability, targetResult.ManualInitialFailureMechanismResultSectionProbability); + Assert.AreEqual(originResult.ManualInitialFailureMechanismResultProfileProbability, targetResult.ManualInitialFailureMechanismResultProfileProbability); + Assert.AreEqual(originResult.FurtherAnalysisNeeded, targetResult.FurtherAnalysisNeeded); + Assert.AreEqual(originResult.RefinedSectionProbability, targetResult.RefinedSectionProbability); + Assert.AreEqual(originResult.RefinedProfileProbability, targetResult.RefinedProfileProbability); + } } } \ No newline at end of file