Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensions.cs =================================================================== diff -u -r3192f0b781afb4da048556c46e1b78c4079d05e4 -r2c07fe020287322e3b6a5c181108128132234a2d --- Riskeer/Storage/src/Riskeer.Storage.Core/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensions.cs (.../SpecificFailurePathCreateExtensions.cs) (revision 3192f0b781afb4da048556c46e1b78c4079d05e4) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensions.cs (.../SpecificFailurePathCreateExtensions.cs) (revision 2c07fe020287322e3b6a5c181108128132234a2d) @@ -49,6 +49,7 @@ throw new ArgumentNullException(nameof(registry)); } + FailurePathAssemblyResult assemblyResult = specificFailurePath.AssemblyResult; var entity = new SpecificFailurePathEntity { Name = specificFailurePath.Name.DeepClone(), @@ -58,7 +59,9 @@ InAssemblyInputComments = specificFailurePath.InAssemblyInputComments.Body.DeepClone(), InAssemblyOutputComments = specificFailurePath.InAssemblyOutputComments.Body.DeepClone(), NotInAssemblyComments = specificFailurePath.NotInAssemblyComments.Body.DeepClone(), - FailureMechanismSectionCollectionSourcePath = specificFailurePath.FailureMechanismSectionSourcePath.DeepClone() + FailureMechanismSectionCollectionSourcePath = specificFailurePath.FailureMechanismSectionSourcePath.DeepClone(), + FailurePathAssemblyProbabilityResultType = Convert.ToByte(assemblyResult.ProbabilityResultType), + ManualFailurePathAssemblyProbability = assemblyResult.ManualFailurePathAssemblyProbability.ToNaNAsNull() }; specificFailurePath.AddEntitiesForFailureMechanismSections(registry, entity); Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensionsTest.cs =================================================================== diff -u -rce856565876c408cccd5edfa2d3963dc1280818f -r2c07fe020287322e3b6a5c181108128132234a2d --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensionsTest.cs (.../SpecificFailurePathCreateExtensionsTest.cs) (revision ce856565876c408cccd5edfa2d3963dc1280818f) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/SpecificFailurePaths/SpecificFailurePathCreateExtensionsTest.cs (.../SpecificFailurePathCreateExtensionsTest.cs) (revision 2c07fe020287322e3b6a5c181108128132234a2d) @@ -25,6 +25,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Data.FailurePath; using Riskeer.Common.Data.TestUtil; using Riskeer.Integration.Data.FailurePath; using Riskeer.Storage.Core.Create; @@ -62,6 +63,11 @@ Input = { N = random.NextRoundedDouble(1.0, 20.0) + }, + AssemblyResult = + { + ProbabilityResultType = random.NextEnumValue(), + ManualFailurePathAssemblyProbability = random.NextDouble() } }; @@ -80,9 +86,30 @@ Assert.IsNull(entity.InAssemblyInputComments); Assert.IsNull(entity.InAssemblyOutputComments); Assert.IsNull(entity.NotInAssemblyComments); + + FailurePathAssemblyResult assemblyResult = specificFailurePath.AssemblyResult; + Assert.AreEqual(Convert.ToByte(assemblyResult.ProbabilityResultType), entity.FailurePathAssemblyProbabilityResultType); + Assert.AreEqual(assemblyResult.ManualFailurePathAssemblyProbability, entity.ManualFailurePathAssemblyProbability); } [Test] + public void Create_WithRegistryAndNaNValues_ReturnsExpectedEntity() + { + // Setup + var random = new Random(21); + int order = random.Next(); + var specificFailurePath = new SpecificFailurePath(); + + var registry = new PersistenceRegistry(); + + // Call + SpecificFailurePathEntity entity = specificFailurePath.Create(registry, order); + + // Assert + Assert.IsNull(entity.ManualFailurePathAssemblyProbability); + } + + [Test] public void Create_WithSections_ReturnsExpectedEntity() { // Setup