Index: Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy.cs =================================================================== diff -u -r5f375656595d8fee8727648409e202f67f441daa -r93278dca1c6c5d43bb95e2a53c16daedda0bd162 --- Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy.cs) (revision 5f375656595d8fee8727648409e202f67f441daa) +++ Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy.cs) (revision 93278dca1c6c5d43bb95e2a53c16daedda0bd162) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.IO.FileImporters; using Riskeer.WaveImpactAsphaltCover.Data; @@ -30,7 +31,7 @@ /// from an old instance. /// public class WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy - : IFailureMechanismSectionResultUpdateStrategy + : IFailureMechanismSectionResultUpdateStrategy { public void UpdateSectionResultOld(WaveImpactAsphaltCoverFailureMechanismSectionResultOld origin, WaveImpactAsphaltCoverFailureMechanismSectionResultOld target) { @@ -54,5 +55,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.ManualInitialFailureMechanismResultProfileProbability = origin.ManualInitialFailureMechanismResultProfileProbability; + target.ManualInitialFailureMechanismResultSectionProbability = origin.ManualInitialFailureMechanismResultSectionProbability; + target.FurtherAnalysisNeeded = origin.FurtherAnalysisNeeded; + target.RefinedProfileProbability = origin.RefinedProfileProbability; + target.RefinedSectionProbability = origin.RefinedSectionProbability; + } } } \ No newline at end of file Index: Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs =================================================================== diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -r93278dca1c6c5d43bb95e2a53c16daedda0bd162 --- Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729) +++ Riskeer/WaveImpactAsphaltCover/src/Riskeer.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision 93278dca1c6c5d43bb95e2a53c16daedda0bd162) @@ -34,6 +34,7 @@ using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.Contribution; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.Hydraulics; using Riskeer.Common.Forms; using Riskeer.Common.Forms.ChangeHandlers; @@ -254,7 +255,10 @@ public override IEnumerable GetUpdateInfos() { yield return RiskeerUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo< - WaveImpactAsphaltCoverFailureMechanismSectionsContext, WaveImpactAsphaltCoverFailureMechanism, WaveImpactAsphaltCoverFailureMechanismSectionResultOld>( + WaveImpactAsphaltCoverFailureMechanismSectionsContext, + WaveImpactAsphaltCoverFailureMechanism, + WaveImpactAsphaltCoverFailureMechanismSectionResultOld, + NonAdoptableWithProfileProbabilityFailureMechanismSectionResult>( new WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy()); } Index: Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest.cs =================================================================== diff -u -r570ba782656147a3d242852a1c273132175f1bc3 -r93278dca1c6c5d43bb95e2a53c16daedda0bd162 --- Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 570ba782656147a3d242852a1c273132175f1bc3) +++ Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.Plugin.Test/FileImporters/WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest.cs) (revision 93278dca1c6c5d43bb95e2a53c16daedda0bd162) @@ -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 WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategyTest : FailureMechanismSectionResultUpdateStrategyTestFixture< - WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy, WaveImpactAsphaltCoverFailureMechanismSectionResultOld> + WaveImpactAsphaltCoverFailureMechanismSectionResultUpdateStrategy, WaveImpactAsphaltCoverFailureMechanismSectionResultOld, NonAdoptableWithProfileProbabilityFailureMechanismSectionResult> { protected override WaveImpactAsphaltCoverFailureMechanismSectionResultOld CreateEmptySectionResultOld() { @@ -67,5 +69,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 = true, + InitialFailureMechanismResultType = NonAdoptableInitialFailureMechanismResultType.NoFailureProbability, + ManualInitialFailureMechanismResultProfileProbability = random.NextDouble(), + ManualInitialFailureMechanismResultSectionProbability = random.NextDouble(), + FurtherAnalysisNeeded = true, + RefinedProfileProbability = random.NextDouble(), + RefinedSectionProbability = 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.ManualInitialFailureMechanismResultProfileProbability, targetResult.ManualInitialFailureMechanismResultProfileProbability); + Assert.AreEqual(originResult.ManualInitialFailureMechanismResultSectionProbability, targetResult.ManualInitialFailureMechanismResultSectionProbability); + Assert.AreEqual(originResult.FurtherAnalysisNeeded, targetResult.FurtherAnalysisNeeded); + Assert.AreEqual(originResult.RefinedProfileProbability, targetResult.RefinedProfileProbability); + Assert.AreEqual(originResult.RefinedSectionProbability, targetResult.RefinedSectionProbability); + } } } \ No newline at end of file