Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy.cs =================================================================== diff -u -r5f375656595d8fee8727648409e202f67f441daa -rcd4cd602834d181a84a4db356b005d0cedb11679 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy.cs (.../GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy.cs) (revision 5f375656595d8fee8727648409e202f67f441daa) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy.cs (.../GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy.cs) (revision cd4cd602834d181a84a4db356b005d0cedb11679) @@ -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 GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy - : IFailureMechanismSectionResultUpdateStrategy + : IFailureMechanismSectionResultUpdateStrategy { public void UpdateSectionResultOld(GrassCoverSlipOffInwardsFailureMechanismSectionResultOld origin, GrassCoverSlipOffInwardsFailureMechanismSectionResultOld 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 -r48378216ef0cf17903aa044159d27958282967fa -rcd4cd602834d181a84a4db356b005d0cedb11679 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision 48378216ef0cf17903aa044159d27958282967fa) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision cd4cd602834d181a84a4db356b005d0cedb11679) @@ -784,7 +784,7 @@ }; yield return RiskeerUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< - GrassCoverSlipOffInwardsFailureMechanismSectionsContext, GrassCoverSlipOffInwardsFailureMechanism, GrassCoverSlipOffInwardsFailureMechanismSectionResultOld>( + GrassCoverSlipOffInwardsFailureMechanismSectionsContext, GrassCoverSlipOffInwardsFailureMechanism, GrassCoverSlipOffInwardsFailureMechanismSectionResultOld, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult>( new GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy()); yield return RiskeerUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest.cs =================================================================== diff -u -r570ba782656147a3d242852a1c273132175f1bc3 -rcd4cd602834d181a84a4db356b005d0cedb11679 --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 570ba782656147a3d242852a1c273132175f1bc3) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/FileImporters/GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest.cs) (revision cd4cd602834d181a84a4db356b005d0cedb11679) @@ -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 GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategyTest : FailureMechanismSectionResultUpdateStrategyTestFixture< - GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy, GrassCoverSlipOffInwardsFailureMechanismSectionResultOld> + GrassCoverSlipOffInwardsFailureMechanismSectionResultUpdateStrategy, GrassCoverSlipOffInwardsFailureMechanismSectionResultOld, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult> { protected override GrassCoverSlipOffInwardsFailureMechanismSectionResultOld 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