Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensions.cs =================================================================== diff -u -r649c7523b3e3a4fd8c2344c241a31ed0c2e18fa0 -reab15e424fa12ec5846e158721920d0f91e02bf4 --- Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensions.cs (.../ProbabilisticPipingCalculationScenarioCreateExtensions.cs) (revision 649c7523b3e3a4fd8c2344c241a31ed0c2e18fa0) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensions.cs (.../ProbabilisticPipingCalculationScenarioCreateExtensions.cs) (revision eab15e424fa12ec5846e158721920d0f91e02bf4) @@ -48,7 +48,7 @@ { throw new ArgumentNullException(nameof(registry)); } - + var entity = new ProbabilisticPipingCalculationEntity { RelevantForScenario = Convert.ToByte(calculation.IsRelevant), @@ -58,10 +58,11 @@ Order = order }; SetInputParametersToEntity(entity, calculation.InputParameters, registry); + AddEntityForPipingOutput(entity, calculation.Output); return entity; } - + private static void SetInputParametersToEntity(ProbabilisticPipingCalculationEntity entity, ProbabilisticPipingInput inputParameters, PersistenceRegistry registry) @@ -93,5 +94,13 @@ entity.ShouldProfileSpecificIllustrationPointsBeCalculated = Convert.ToByte(inputParameters.ShouldProfileSpecificIllustrationPointsBeCalculated); entity.ShouldSectionSpecificIllustrationPointsBeCalculated = Convert.ToByte(inputParameters.ShouldSectionSpecificIllustrationPointsBeCalculated); } + + private static void AddEntityForPipingOutput(ProbabilisticPipingCalculationEntity entity, ProbabilisticPipingOutput output) + { + if (output != null) + { + entity.ProbabilisticPipingCalculationOutputEntities.Add(output.Create()); + } + } } } \ No newline at end of file Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs =================================================================== diff -u -r649c7523b3e3a4fd8c2344c241a31ed0c2e18fa0 -reab15e424fa12ec5846e158721920d0f91e02bf4 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs (.../ProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs) (revision 649c7523b3e3a4fd8c2344c241a31ed0c2e18fa0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/Probabilistic/ProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs (.../ProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs) (revision eab15e424fa12ec5846e158721920d0f91e02bf4) @@ -35,6 +35,7 @@ using Riskeer.Storage.Core.Create.Piping; using Riskeer.Storage.Core.Create.Piping.Probabilistic; using Riskeer.Storage.Core.DbContext; +using Riskeer.Storage.Core.TestUtil.IllustrationPoints; namespace Riskeer.Storage.Core.Test.Create.Piping.Probabilistic { @@ -54,7 +55,7 @@ var exception = Assert.Throws(Call); Assert.AreEqual("registry", exception.ParamName); } - + [Test] [TestCase(true, 0.0, "A", "", 2.2, 0.0, 123, 827364, true, true)] [TestCase(false, 1.0, null, null, double.NaN, double.NaN, 980754, 231, false, false)] @@ -116,14 +117,15 @@ Assert.AreEqual(Convert.ToByte(calculateProfileIllustrationPoints), entity.ShouldProfileSpecificIllustrationPointsBeCalculated); Assert.AreEqual(Convert.ToByte(calculateSectionIllustrationPoints), entity.ShouldSectionSpecificIllustrationPointsBeCalculated); - + Assert.AreEqual(order, entity.Order); Assert.AreEqual(0, entity.ProbabilisticPipingCalculationEntityId); Assert.IsNull(entity.CalculationGroupEntity); Assert.IsNull(entity.SurfaceLineEntity); Assert.IsNull(entity.PipingStochasticSoilProfileEntity); - Assert.IsNull(entity.HydraulicLocationEntityId); + Assert.IsNull(entity.HydraulicLocationEntity); + CollectionAssert.IsEmpty(entity.ProbabilisticPipingCalculationOutputEntities); } [Test] @@ -239,5 +241,30 @@ Assert.AreSame(expectedStochasticSoilProfileEntity, entity.PipingStochasticSoilProfileEntity); Assert.IsTrue(registry.Contains(soilModel)); } + + [Test] + public void Create_HasCalculationOutput_EntityHasPipingCalculationOutputEntity() + { + // Setup + var registry = new PersistenceRegistry(); + + ProbabilisticPipingOutput output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput(); + var calculation = new ProbabilisticPipingCalculationScenario + { + Output = output + }; + + // Call + ProbabilisticPipingCalculationEntity entity = calculation.Create(registry, 0); + + // Assert + ProbabilisticPipingCalculationOutputEntity outputEntity = entity.ProbabilisticPipingCalculationOutputEntities.SingleOrDefault(); + + Assert.IsNotNull(outputEntity); + Assert.AreEqual(output.ProfileSpecificOutput.Reliability, outputEntity.ProfileSpecificReliability); + Assert.AreEqual(output.SectionSpecificOutput.Reliability, outputEntity.SectionSpecificReliability); + GeneralResultEntityTestHelper.AssertGeneralResultPropertyValues(output.ProfileSpecificOutput.GeneralResult, outputEntity.GeneralResultFaultTreeIllustrationPointEntity); + GeneralResultEntityTestHelper.AssertGeneralResultPropertyValues(output.SectionSpecificOutput.GeneralResult, outputEntity.GeneralResultFaultTreeIllustrationPointEntity1); + } } } \ No newline at end of file Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/SemiProbabilistic/SemiProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs =================================================================== diff -u -r9fe037a986d45f1936bed2088bc70832f803b129 -reab15e424fa12ec5846e158721920d0f91e02bf4 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/SemiProbabilistic/SemiProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs (.../SemiProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs) (revision 9fe037a986d45f1936bed2088bc70832f803b129) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/SemiProbabilistic/SemiProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs (.../SemiProbabilisticPipingCalculationScenarioCreateExtensionsTest.cs) (revision eab15e424fa12ec5846e158721920d0f91e02bf4) @@ -123,7 +123,8 @@ Assert.IsNull(entity.SurfaceLineEntity); Assert.IsNull(entity.PipingStochasticSoilProfileEntity); - Assert.IsNull(entity.HydraulicLocationEntityId); + Assert.IsNull(entity.HydraulicLocationEntity); + CollectionAssert.IsEmpty(entity.SemiProbabilisticPipingCalculationOutputEntities); } [Test] @@ -256,7 +257,7 @@ SemiProbabilisticPipingCalculationEntity entity = calculation.Create(registry, 0); // Assert - SemiProbabilisticPipingCalculationOutputEntity outputEntity = entity.SemiProbabilisticPipingCalculationOutputEntities.FirstOrDefault(); + SemiProbabilisticPipingCalculationOutputEntity outputEntity = entity.SemiProbabilisticPipingCalculationOutputEntities.SingleOrDefault(); Assert.IsNotNull(outputEntity); Assert.AreEqual(newOutput.HeaveFactorOfSafety, outputEntity.HeaveFactorOfSafety);