public void CreateOutput_ValidParameters_ReturnsExpectedValues(bool?convergence, CalculationConvergence expectedConvergence) { // Setup const double waterLevel = 1.1; const double waveHeight = 2.2; const double wavePeakPeriod = 3.3; const double waveAngle = 4.4; const double waveDirection = 5.5; const double targetProbability = 1 / 6.6; const double calculatedReliability = -7.7; // Call WaveConditionsOutput output = WaveConditionsOutputFactory.CreateOutput(waterLevel, waveHeight, wavePeakPeriod, waveAngle, waveDirection, targetProbability, calculatedReliability, convergence); // Assert Assert.AreEqual(waterLevel, output.WaterLevel, output.WaterLevel.GetAccuracy()); Assert.AreEqual(waveHeight, output.WaveHeight, output.WaveHeight.GetAccuracy()); Assert.AreEqual(wavePeakPeriod, output.WavePeakPeriod, output.WavePeakPeriod.GetAccuracy()); Assert.AreEqual(waveAngle, output.WaveAngle, output.WaveAngle.GetAccuracy()); Assert.AreEqual(waveDirection, output.WaveDirection, output.WaveDirection.GetAccuracy()); Assert.AreEqual(targetProbability, output.TargetProbability, 1e-6); Assert.AreEqual(StatisticsConverter.ProbabilityToReliability(targetProbability), output.TargetReliability, output.TargetReliability.GetAccuracy()); Assert.AreEqual(calculatedReliability, output.CalculatedReliability, output.CalculatedReliability.GetAccuracy()); Assert.AreEqual(StatisticsConverter.ReliabilityToProbability(calculatedReliability), output.CalculatedProbability, 1e-6); Assert.AreEqual(expectedConvergence, output.CalculationConvergence); }
public void CreateFailedOutput_ValidParameters_ReturnsExpectedValues() { // Setup const double waterLevel = 1.1; const double targetProbability = 1 / 2.2; // Call WaveConditionsOutput output = WaveConditionsOutputFactory.CreateFailedOutput(waterLevel, targetProbability); // Assert Assert.AreEqual(waterLevel, output.WaterLevel, output.WaterLevel.GetAccuracy()); Assert.IsNaN(output.WaveHeight); Assert.IsNaN(output.WavePeakPeriod); Assert.IsNaN(output.WaveAngle); Assert.IsNaN(output.WaveDirection); Assert.AreEqual(targetProbability, output.TargetProbability, 1e-6); Assert.AreEqual(StatisticsConverter.ProbabilityToReliability(targetProbability), output.TargetReliability, output.TargetReliability.GetAccuracy()); Assert.IsNaN(output.CalculatedProbability); Assert.IsNaN(output.CalculatedReliability); Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, output.CalculationConvergence); }