public void Create_AllOutputValuesSet_ReturnEntity(StabilityStoneCoverWaveConditionsOutputType outputType) { // Setup var output = new TestWaveConditionsOutput(); const int order = 22; // Call StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutputEntity(outputType, order); // Assert Assert.AreEqual(order, entity.Order); Assert.AreEqual(output.WaterLevel, entity.WaterLevel, output.WaterLevel.GetAccuracy()); Assert.AreEqual(output.WaveHeight, entity.WaveHeight, output.WaveHeight.GetAccuracy()); Assert.AreEqual(output.WavePeakPeriod, entity.WavePeakPeriod, output.WavePeakPeriod.GetAccuracy()); Assert.AreEqual(output.WaveAngle, entity.WaveAngle, output.WaveAngle.GetAccuracy()); Assert.AreEqual(Convert.ToByte(outputType), entity.OutputType); Assert.AreEqual(output.WaveDirection, entity.WaveDirection, output.WaveDirection.GetAccuracy()); Assert.AreEqual(output.TargetProbability, entity.TargetProbability); Assert.AreEqual(output.TargetReliability, entity.TargetReliability, output.TargetReliability.GetAccuracy()); Assert.AreEqual(output.CalculatedProbability, entity.CalculatedProbability); Assert.AreEqual(output.CalculatedReliability, entity.CalculatedReliability, output.CalculatedReliability.GetAccuracy()); Assert.AreEqual(output.CalculationConvergence, (CalculationConvergence)entity.CalculationConvergence); Assert.AreEqual(0, entity.StabilityStoneCoverWaveConditionsOutputEntityId); Assert.AreEqual(0, entity.StabilityStoneCoverWaveConditionsCalculationEntityId); }
public void Read_ValidEntityWithNullParameterValues_ReturnOutputWithNaNValues() { // Setup var entity = new StabilityStoneCoverWaveConditionsOutputEntity { WaterLevel = null, WaveHeight = null, WavePeakPeriod = null, WaveAngle = null, WaveDirection = null, TargetProbability = null, TargetReliability = null, CalculatedProbability = null, CalculatedReliability = null, CalculationConvergence = Convert.ToByte(CalculationConvergence.NotCalculated) }; // Call WaveConditionsOutput output = entity.Read(); // Assert Assert.IsNaN(output.WaterLevel); Assert.IsNaN(output.WaveHeight); Assert.IsNaN(output.WavePeakPeriod); Assert.IsNaN(output.WaveAngle); Assert.IsNaN(output.WaveDirection); Assert.IsNaN(output.TargetProbability); Assert.IsNaN(output.TargetReliability); Assert.IsNaN(output.CalculatedProbability); Assert.IsNaN(output.CalculatedReliability); Assert.AreEqual(CalculationConvergence.NotCalculated, output.CalculationConvergence); }
public void Read_ValidEntity_ReturnOutputWithValues() { // Setup var random = new Random(12); var entity = new StabilityStoneCoverWaveConditionsOutputEntity { WaterLevel = random.NextDouble(), WaveHeight = random.NextDouble(), WavePeakPeriod = random.NextDouble(), WaveAngle = random.NextDouble(), WaveDirection = random.NextDouble(), TargetProbability = random.NextDouble(), TargetReliability = random.NextDouble(), CalculatedProbability = random.NextDouble(), CalculatedReliability = random.NextDouble(), CalculationConvergence = Convert.ToByte(CalculationConvergence.CalculatedConverged) }; // Call WaveConditionsOutput output = entity.Read(); // Assert Assert.IsNotNull(entity.WaterLevel); Assert.AreEqual(entity.WaterLevel.Value, output.WaterLevel, output.WaterLevel.GetAccuracy()); Assert.IsNotNull(entity.WaveHeight); Assert.AreEqual(entity.WaveHeight.Value, output.WaveHeight, output.WaveHeight.GetAccuracy()); Assert.IsNotNull(entity.WavePeakPeriod); Assert.AreEqual(entity.WavePeakPeriod.Value, output.WavePeakPeriod, output.WavePeakPeriod.GetAccuracy()); Assert.IsNotNull(entity.WaveAngle); Assert.AreEqual(entity.WaveAngle.Value, output.WaveAngle, output.WaveAngle.GetAccuracy()); Assert.IsNotNull(entity.WaveDirection); Assert.AreEqual(entity.WaveDirection.Value, output.WaveDirection, output.WaveDirection.GetAccuracy()); Assert.IsNotNull(entity.TargetProbability); Assert.AreEqual(entity.TargetProbability.Value, output.TargetProbability); Assert.IsNotNull(entity.TargetReliability); Assert.AreEqual(entity.TargetReliability.Value, output.TargetReliability, output.TargetReliability.GetAccuracy()); Assert.IsNotNull(entity.CalculatedProbability); Assert.AreEqual(entity.CalculatedProbability.Value, output.CalculatedProbability); Assert.IsNotNull(entity.CalculatedReliability); Assert.AreEqual(entity.CalculatedReliability.Value, output.CalculatedReliability, output.CalculatedReliability.GetAccuracy()); Assert.IsNotNull(entity.CalculationConvergence); Assert.AreEqual(CalculationConvergence.CalculatedConverged, output.CalculationConvergence); }
/// <summary> /// Reads the <see cref="StabilityStoneCoverWaveConditionsOutputEntity"/> /// and use the information to construct a <see cref="WaveConditionsOutput"/>. /// </summary> /// <param name="entity">The <see cref="StabilityStoneCoverWaveConditionsOutputEntity"/> /// to create <see cref="WaveConditionsOutput"/> for.</param> /// <returns>A new <see cref="WaveConditionsOutput"/>.</returns> internal static WaveConditionsOutput Read(this StabilityStoneCoverWaveConditionsOutputEntity entity) { return(new WaveConditionsOutput(entity.WaterLevel.ToNullAsNaN(), entity.WaveHeight.ToNullAsNaN(), entity.WavePeakPeriod.ToNullAsNaN(), entity.WaveAngle.ToNullAsNaN(), entity.WaveDirection.ToNullAsNaN(), entity.TargetProbability.ToNullAsNaN(), entity.TargetReliability.ToNullAsNaN(), entity.CalculatedProbability.ToNullAsNaN(), entity.CalculatedReliability.ToNullAsNaN(), (CalculationConvergence)entity.CalculationConvergence)); }
/// <summary> /// Creates a <see cref="StabilityStoneCoverWaveConditionsOutputEntity"/> based on the information /// of the <see cref="WaveConditionsOutput"/>. /// </summary> /// <param name="output">The calculation output for stability stone cover failure mechanism to /// create a database entity for.</param> /// <param name="type">The type of <see cref="StabilityStoneCoverWaveConditionsOutputType"/>.</param> /// <param name="order">The position of <paramref name="output"/> in the list of all outputs.</param> /// <returns>A new <see cref="StabilityStoneCoverWaveConditionsOutputEntity"/>.</returns> internal static StabilityStoneCoverWaveConditionsOutputEntity CreateStabilityStoneCoverWaveConditionsOutputEntity( this WaveConditionsOutput output, StabilityStoneCoverWaveConditionsOutputType type, int order) { var entity = new StabilityStoneCoverWaveConditionsOutputEntity { Order = order, WaterLevel = output.WaterLevel.ToNaNAsNull(), WaveHeight = output.WaveHeight.ToNaNAsNull(), WavePeakPeriod = output.WavePeakPeriod.ToNaNAsNull(), WaveAngle = output.WaveAngle.ToNaNAsNull(), OutputType = Convert.ToByte(type), WaveDirection = output.WaveDirection.ToNaNAsNull(), TargetProbability = output.TargetProbability.ToNaNAsNull(), TargetReliability = output.TargetReliability.ToNaNAsNull(), CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(), CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(), CalculationConvergence = Convert.ToByte(output.CalculationConvergence) }; return(entity); }
public void Create_AllOutputValuesNaN_ReturnEntityWithNullValues(StabilityStoneCoverWaveConditionsOutputType outputType) { // Setup var output = new WaveConditionsOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, CalculationConvergence.NotCalculated); // Call StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutputEntity(outputType, 22); // Assert Assert.IsNull(entity.WaterLevel); Assert.IsNull(entity.WaveHeight); Assert.IsNull(entity.WavePeakPeriod); Assert.IsNull(entity.WaveAngle); Assert.AreEqual(Convert.ToByte(outputType), entity.OutputType); Assert.IsNull(entity.WaveDirection); Assert.IsNull(entity.TargetProbability); Assert.IsNull(entity.TargetReliability); Assert.IsNull(entity.CalculatedProbability); Assert.IsNull(entity.CalculatedReliability); Assert.AreEqual(0, entity.StabilityStoneCoverWaveConditionsOutputEntityId); Assert.AreEqual(0, entity.StabilityStoneCoverWaveConditionsCalculationEntityId); }