public void Read_ValidEntityWithNullParameterValues_ReturnSemiProbabilisticPipingOutput() { // Setup var entity = new SemiProbabilisticPipingCalculationOutputEntity { HeaveFactorOfSafety = null, UpliftFactorOfSafety = null, SellmeijerFactorOfSafety = null, UpliftEffectiveStress = null, HeaveGradient = null, SellmeijerCreepCoefficient = null, SellmeijerCriticalFall = null, SellmeijerReducedFall = null }; // Call SemiProbabilisticPipingOutput output = entity.Read(); // Assert Assert.IsNaN(output.HeaveFactorOfSafety); Assert.IsNaN(output.SellmeijerFactorOfSafety); Assert.IsNaN(output.UpliftFactorOfSafety); Assert.IsNaN(output.UpliftEffectiveStress); Assert.IsNaN(output.HeaveGradient); Assert.IsNaN(output.SellmeijerCreepCoefficient); Assert.IsNaN(output.SellmeijerCriticalFall); Assert.IsNaN(output.SellmeijerReducedFall); }
public void Read_ValidEntity_ReturnSemiProbabilisticPipingOutput() { // Setup var entity = new SemiProbabilisticPipingCalculationOutputEntity { HeaveFactorOfSafety = 9.8, UpliftFactorOfSafety = 3.2, SellmeijerFactorOfSafety = 8.7, UpliftEffectiveStress = 15.2, HeaveGradient = 12.2, SellmeijerCreepCoefficient = 1.4, SellmeijerCriticalFall = 6.2, SellmeijerReducedFall = 8.1 }; // Call SemiProbabilisticPipingOutput output = entity.Read(); // Assert Assert.AreEqual(entity.HeaveFactorOfSafety, output.HeaveFactorOfSafety); Assert.AreEqual(entity.SellmeijerFactorOfSafety, output.SellmeijerFactorOfSafety); Assert.AreEqual(entity.UpliftFactorOfSafety, output.UpliftFactorOfSafety); Assert.AreEqual(entity.UpliftEffectiveStress, output.UpliftEffectiveStress.Value); Assert.AreEqual(entity.HeaveGradient, output.HeaveGradient.Value); Assert.AreEqual(entity.SellmeijerCreepCoefficient, output.SellmeijerCreepCoefficient.Value); Assert.AreEqual(entity.SellmeijerCriticalFall, output.SellmeijerCriticalFall.Value); Assert.AreEqual(entity.SellmeijerReducedFall, output.SellmeijerReducedFall.Value); }
public void Create_AllOutputValuesSet_ReturnEntity() { // Setup var pipingOutput = new SemiProbabilisticPipingOutput(new SemiProbabilisticPipingOutput.ConstructionProperties { UpliftFactorOfSafety = 2.2, HeaveFactorOfSafety = 4.4, SellmeijerFactorOfSafety = 6.6, UpliftEffectiveStress = 7.7, HeaveGradient = 8.8, SellmeijerCreepCoefficient = 9.9, SellmeijerCriticalFall = 10.10, SellmeijerReducedFall = 11.11 }); // Call SemiProbabilisticPipingCalculationOutputEntity entity = pipingOutput.Create(); // Assert Assert.AreEqual(pipingOutput.HeaveFactorOfSafety, entity.HeaveFactorOfSafety); Assert.AreEqual(pipingOutput.SellmeijerFactorOfSafety, entity.SellmeijerFactorOfSafety); Assert.AreEqual(pipingOutput.UpliftFactorOfSafety, entity.UpliftFactorOfSafety); Assert.AreEqual(pipingOutput.UpliftEffectiveStress, entity.UpliftEffectiveStress, pipingOutput.UpliftEffectiveStress.GetAccuracy()); Assert.AreEqual(pipingOutput.HeaveGradient, entity.HeaveGradient, pipingOutput.HeaveGradient.GetAccuracy()); Assert.AreEqual(pipingOutput.SellmeijerCreepCoefficient, entity.SellmeijerCreepCoefficient, pipingOutput.SellmeijerCreepCoefficient.GetAccuracy()); Assert.AreEqual(pipingOutput.SellmeijerCriticalFall, entity.SellmeijerCriticalFall, pipingOutput.SellmeijerCriticalFall.GetAccuracy()); Assert.AreEqual(pipingOutput.SellmeijerReducedFall, entity.SellmeijerReducedFall, pipingOutput.SellmeijerReducedFall.GetAccuracy()); }
public void Create_HasCalculationOutput_EntityHasPipingCalculationOutputEntity() { // Setup var registry = new PersistenceRegistry(); SemiProbabilisticPipingOutput newOutput = PipingTestDataGenerator.GetRandomSemiProbabilisticPipingOutput(); var calculation = new SemiProbabilisticPipingCalculationScenario { Output = newOutput }; // Call SemiProbabilisticPipingCalculationEntity entity = calculation.Create(registry, 0); // Assert SemiProbabilisticPipingCalculationOutputEntity outputEntity = entity.SemiProbabilisticPipingCalculationOutputEntities.SingleOrDefault(); Assert.IsNotNull(outputEntity); Assert.AreEqual(newOutput.HeaveFactorOfSafety, outputEntity.HeaveFactorOfSafety); Assert.AreEqual(newOutput.SellmeijerFactorOfSafety, outputEntity.SellmeijerFactorOfSafety); Assert.AreEqual(newOutput.UpliftFactorOfSafety, outputEntity.UpliftFactorOfSafety); Assert.AreEqual(newOutput.UpliftEffectiveStress, outputEntity.UpliftEffectiveStress, newOutput.UpliftEffectiveStress.GetAccuracy()); Assert.AreEqual(newOutput.HeaveGradient, outputEntity.HeaveGradient, newOutput.HeaveGradient.GetAccuracy()); Assert.AreEqual(newOutput.SellmeijerCreepCoefficient, outputEntity.SellmeijerCreepCoefficient, newOutput.SellmeijerCreepCoefficient.GetAccuracy()); Assert.AreEqual(newOutput.SellmeijerCriticalFall, outputEntity.SellmeijerCriticalFall, newOutput.SellmeijerCriticalFall.GetAccuracy()); Assert.AreEqual(newOutput.SellmeijerReducedFall, outputEntity.SellmeijerReducedFall, newOutput.SellmeijerReducedFall.GetAccuracy()); }
private static void ReadCalculationOutputs(SemiProbabilisticPipingCalculationScenario calculation, SemiProbabilisticPipingCalculationEntity entity) { SemiProbabilisticPipingCalculationOutputEntity calculationOutputEntity = entity.SemiProbabilisticPipingCalculationOutputEntities.SingleOrDefault(); if (calculationOutputEntity != null) { calculation.Output = calculationOutputEntity.Read(); } }
public void Create_AllOutputValuesNaN_ReturnEntityWithNullValues() { // Setup var pipingOutput = new SemiProbabilisticPipingOutput(new SemiProbabilisticPipingOutput.ConstructionProperties()); // Call SemiProbabilisticPipingCalculationOutputEntity entity = pipingOutput.Create(); // Assert Assert.IsNull(entity.HeaveFactorOfSafety); Assert.IsNull(entity.SellmeijerFactorOfSafety); Assert.IsNull(entity.UpliftFactorOfSafety); Assert.IsNull(entity.UpliftEffectiveStress); Assert.IsNull(entity.HeaveGradient); Assert.IsNull(entity.SellmeijerCreepCoefficient); Assert.IsNull(entity.SellmeijerCriticalFall); Assert.IsNull(entity.SellmeijerReducedFall); }
/// <summary> /// Read the <see cref="SemiProbabilisticPipingCalculationOutputEntity"/> and use the information to /// construct a <see cref="SemiProbabilisticPipingOutput"/>. /// </summary> /// <param name="entity">The <see cref="SemiProbabilisticPipingCalculationOutputEntity"/> to create /// <see cref="SemiProbabilisticPipingOutput"/> for.</param> /// <returns>A new <see cref="SemiProbabilisticPipingOutput"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="entity"/> /// is <c>null</c>.</exception> public static SemiProbabilisticPipingOutput Read(this SemiProbabilisticPipingCalculationOutputEntity entity) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } return(new SemiProbabilisticPipingOutput(new SemiProbabilisticPipingOutput.ConstructionProperties { UpliftFactorOfSafety = entity.UpliftFactorOfSafety.ToNullAsNaN(), HeaveFactorOfSafety = entity.HeaveFactorOfSafety.ToNullAsNaN(), SellmeijerFactorOfSafety = entity.SellmeijerFactorOfSafety.ToNullAsNaN(), UpliftEffectiveStress = entity.UpliftEffectiveStress.ToNullAsNaN(), HeaveGradient = entity.HeaveGradient.ToNullAsNaN(), SellmeijerCreepCoefficient = entity.SellmeijerCreepCoefficient.ToNullAsNaN(), SellmeijerCriticalFall = entity.SellmeijerCriticalFall.ToNullAsNaN(), SellmeijerReducedFall = entity.SellmeijerReducedFall.ToNullAsNaN() })); }
/// <summary> /// Creates a <see cref="SemiProbabilisticPipingCalculationOutputEntity"/> based on the information /// of the <see cref="SemiProbabilisticPipingOutput"/>. /// </summary> /// <param name="output">The calculation output for piping failure mechanism to /// create a database entity for.</param> /// <returns>A new <see cref="SemiProbabilisticPipingCalculationOutputEntity"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="output"/> /// is <c>null</c>.</exception> public static SemiProbabilisticPipingCalculationOutputEntity Create(this SemiProbabilisticPipingOutput output) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var entity = new SemiProbabilisticPipingCalculationOutputEntity { HeaveFactorOfSafety = output.HeaveFactorOfSafety.ToNaNAsNull(), SellmeijerFactorOfSafety = output.SellmeijerFactorOfSafety.ToNaNAsNull(), UpliftFactorOfSafety = output.UpliftFactorOfSafety.ToNaNAsNull(), UpliftEffectiveStress = output.UpliftEffectiveStress.ToNaNAsNull(), HeaveGradient = output.HeaveGradient.ToNaNAsNull(), SellmeijerCreepCoefficient = output.SellmeijerCreepCoefficient.ToNaNAsNull(), SellmeijerCriticalFall = output.SellmeijerCriticalFall.ToNaNAsNull(), SellmeijerReducedFall = output.SellmeijerReducedFall.ToNaNAsNull() }; return(entity); }