Index: Ringtoets.sln =================================================================== diff -u -r944d2501b3f780d208e00015a1b850afad4c3aa8 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets.sln (.../Ringtoets.sln) (revision 944d2501b3f780d208e00015a1b850afad4c3aa8) +++ Ringtoets.sln (.../Ringtoets.sln) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -2101,7 +2101,7 @@ {36EADA20-B58D-4AF6-9B66-B567C81B7AD0}.ReleaseForCodeCoverage|x86.ActiveCfg = ReleaseForCodeCoverage|x86 {36EADA20-B58D-4AF6-9B66-B567C81B7AD0}.ReleaseForCodeCoverage|x86.Build.0 = ReleaseForCodeCoverage|x86 {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.CreateInstaller|x86.ActiveCfg = Release|x86 - {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.CreateInstallerWithDemoProject|x86.ActiveCfg = Debug|x86 + {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.CreateInstallerWithDemoProject|x86.ActiveCfg = Release|x86 {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.Debug|x86.ActiveCfg = Debug|x86 {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.Debug|x86.Build.0 = Debug|x86 {04EEF93B-DEC5-4D8B-B50F-5D99B7D7B467}.Release|x86.ActiveCfg = Release|x86 Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs (.../WaveConditionsCalculationOutput.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs (.../WaveConditionsCalculationOutput.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -21,6 +21,9 @@ namespace Ringtoets.HydraRing.Calculation.Data.Output { + /// + /// Class containing the results of a Hydra-Ring wave conditions calculation. + /// s public class WaveConditionsCalculationOutput { /// Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs (.../WaveConditionsCalculationParser.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs (.../WaveConditionsCalculationParser.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -19,41 +19,32 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Collections.Generic; using System.Globalization; using System.IO; -using System.Linq; using Ringtoets.HydraRing.Calculation.Data.Output; using Ringtoets.HydraRing.Calculation.Services; namespace Ringtoets.HydraRing.Calculation.Parsers { /// - /// Class for parsing wave condition results from a wave conditions calculation calculation. + /// Class for parsing wave condition results from a wave conditions calculation. /// public class WaveConditionsCalculationParser : IHydraRingFileParser { - private const string qVariantStart = "Submechanism = Q-variant"; - private const string waveAngle = "Wave angle"; - private const string waveHeight = "Wave height"; - private const string wavePeakPeriod = "Wave period"; - private const string reductionFactor = "reduction factor"; + private const string waveAngleText = "Wave angle"; + private const string waveHeightText = "Wave height"; + private const string wavePeakPeriodText = "Wave period"; + private const string reductionFactorText = "reduction factor"; private const char equalsCharacter = '='; - private readonly List results; + private double? waveAngle; + private double? waveHeight; + private double? wavePeakPeriod; /// - /// Creates a new instance of . + /// Gets the output that was parsed from the output file. /// - public WaveConditionsCalculationParser() - { - results = new List(); - } - - /// - /// Gets the output that was parsed form the output file. - /// public WaveConditionsCalculationOutput Output { get; private set; } public void Parse(string workingDirectory, int sectionId) @@ -73,14 +64,9 @@ private void SetOutput() { - if (results != null && results.Any()) + if (waveAngle != null && waveHeight != null && wavePeakPeriod != null) { - var finalResult = results.Last(); - - if (finalResult != null) - { - Output = new WaveConditionsCalculationOutput(finalResult.WaveHeight, finalResult.WavePeakPeriod, finalResult.WaveAngle); - } + Output = new WaveConditionsCalculationOutput(waveHeight.Value, wavePeakPeriod.Value, waveAngle.Value); } } @@ -93,65 +79,48 @@ while (!file.EndOfStream) { string currentLine = file.ReadLine(); - TryParseQVariant(currentLine, file); + + waveAngle = TryParseWaveAngle(currentLine) ?? waveAngle; + waveHeight = TryParseWaveHeight(currentLine) ?? waveHeight; + wavePeakPeriod = TryParseWavePeakPeriod(currentLine) ?? wavePeakPeriod; } } } } - private void TryParseQVariant(string startLine, StreamReader file) + private static double? TryParseWaveAngle(string line) { - if (startLine.Contains(qVariantStart)) + if (line.Contains(waveAngleText) && !line.Contains(reductionFactorText)) { - var result = new Result(); - while (!file.EndOfStream) - { - string readLine = file.ReadLine(); - TryParseWaveAngle(readLine, result); - TryParseWaveHeight(readLine, result); - TryParseWavePeakPeriod(readLine, result); - } - results.Add(result); - } - } - - private void TryParseWaveAngle(string line, Result result) - { - if (line.Contains(waveAngle) && !line.Contains(reductionFactor)) - { string resultAsString = line.Split(equalsCharacter)[1].Trim(); - result.WaveAngle= ParseStringResult(resultAsString); + return ParseStringResult(resultAsString); } + return null; } - private void TryParseWaveHeight(string line, Result result) + private static double? TryParseWaveHeight(string line) { - if (line.Contains(waveHeight)) + if (line.Contains(waveHeightText)) { string resultAsString = line.Split(equalsCharacter)[1].Trim(); - result.WaveHeight = ParseStringResult(resultAsString); + return ParseStringResult(resultAsString); } + return null; } - private void TryParseWavePeakPeriod(string line, Result result) + private static double? TryParseWavePeakPeriod(string line) { - if (line.Contains(wavePeakPeriod)) + if (line.Contains(wavePeakPeriodText)) { string resultAsString = line.Split(equalsCharacter)[1].Trim(); - result.WavePeakPeriod = ParseStringResult(resultAsString); + return ParseStringResult(resultAsString); } + return null; } private static double ParseStringResult(string resultAsString) { return double.Parse(resultAsString, CultureInfo.InvariantCulture); } - - private class Result - { - public double WaveHeight { get; set; } - public double WavePeakPeriod { get; set; } - public double WaveAngle { get; set; } - } } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -41,6 +41,8 @@ private static Process hydraRingProcess; private static IHydraRingCalculationService instance; + private HydraRingCalculationService() {} + /// /// Gets or sets an instance of . /// @@ -57,14 +59,16 @@ } /// - /// This method performs a type II calculation via Hydra-Ring: - /// Iterate towards a target probability, provided as reliability index. + /// Cancels any currently running Hydra-Ring calculation. /// - /// The directory of the HLCD file that should be used for performing the calculation. - /// The id of the ring to perform the calculation for. - /// The to use while executing the calculation. - /// The input of the calculation to perform. - /// Parsers that will be invoked after the Hydra-Ring calculation has ran. + public static void CancelRunningCalculation() + { + if (hydraRingProcess != null && !hydraRingProcess.HasExited) + { + hydraRingProcess.StandardInput.WriteLine("b"); + } + } + public void PerformCalculation( string hlcdDirectory, string ringId, @@ -87,17 +91,6 @@ PerformPostProcessing(hydraRingCalculationInput, parsers.ToList(), hydraRingInitializationService); } - /// - /// Cancels any currently running Hydra-Ring calculation. - /// - public static void CancelRunningCalculation() - { - if (hydraRingProcess != null && !hydraRingProcess.HasExited) - { - hydraRingProcess.StandardInput.WriteLine("b"); - } - } - private static void PerformPostProcessing(HydraRingCalculationInput hydraRingCalculationInput, ICollection parsers, HydraRingInitializationService hydraRingInitializationService) Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/IHydraRingCalculationService.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/IHydraRingCalculationService.cs (.../IHydraRingCalculationService.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/IHydraRingCalculationService.cs (.../IHydraRingCalculationService.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -32,8 +32,7 @@ public interface IHydraRingCalculationService { /// - /// This method performs a type II calculation via Hydra-Ring: - /// Iterate towards a target probability, provided as reliability index. + /// This method performs a calculation via Hydra-Ring. /// /// The directory of the HLCD file that should be used for performing the calculation. /// The id of the ring to perform the calculation for. Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/WaveConditionsCalculationOutputTest.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/WaveConditionsCalculationOutputTest.cs (.../WaveConditionsCalculationOutputTest.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/WaveConditionsCalculationOutputTest.cs (.../WaveConditionsCalculationOutputTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -31,9 +31,9 @@ public void Constructor_ExpectedValues() { // Setup - double waveAngle = 3.0; - double waveHeight = 9.93; - double wavePeakPeriod = 18; + const double waveAngle = 3.0; + const double waveHeight = 9.93; + const double wavePeakPeriod = 18; // Call var output = new WaveConditionsCalculationOutput(waveHeight, wavePeakPeriod, waveAngle); Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/WaveConditionsCalculationParserTest.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/WaveConditionsCalculationParserTest.cs (.../WaveConditionsCalculationParserTest.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/WaveConditionsCalculationParserTest.cs (.../WaveConditionsCalculationParserTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -51,7 +51,7 @@ var parser = new WaveConditionsCalculationParser(); // Call - parser.Parse(testDataPath, 1); + parser.Parse(testDataPath, sectionId); // Assert Assert.IsNull(parser.Output); @@ -90,11 +90,11 @@ } [Test] - public void Parse_InvalidHydraRingOutputFile_OutputNull() + public void Parse_InvalidHydraRingOutputFileWaveAngleMissing_OutputNull() { // Setup var parser = new WaveConditionsCalculationParser(); - var workingDirectory = Path.Combine(testDataPath, "output-no-qvariant"); + var workingDirectory = Path.Combine(testDataPath, "output-no-waveAngle"); // Call parser.Parse(workingDirectory, sectionId); @@ -103,5 +103,35 @@ Assert.IsNull(parser.Output); Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); } + + [Test] + public void Parse_InvalidHydraRingOutputFileWaveHeightMissing_OutputNull() + { + // Setup + var parser = new WaveConditionsCalculationParser(); + var workingDirectory = Path.Combine(testDataPath, "output-no-waveHeight"); + + // Call + parser.Parse(workingDirectory, sectionId); + + // Assert + Assert.IsNull(parser.Output); + Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); + } + + [Test] + public void Parse_InvalidHydraRingOutputFileWavePeakPeriodMissing_OutputNull() + { + // Setup + var parser = new WaveConditionsCalculationParser(); + var workingDirectory = Path.Combine(testDataPath, "output-no-wavePeakPeriod"); + + // Call + parser.Parse(workingDirectory, sectionId); + + // Assert + Assert.IsNull(parser.Output); + Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); + } } } \ No newline at end of file Fisheye: Tag fb6c8cb473282ccd9b920afddb33a2284c7274cd refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-qvariant/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveAngle/1-output.txt =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveAngle/1-output.txt (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveAngle/1-output.txt (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -0,0 +1,16 @@ +Executable name : D:\WTI\bin\Debug\HydraRing\MechanismComputation.exe +Executable version : 16.1.1.6952 +===================================================================================== + Submechanism = Q-variant + Waterlevel Q-variant (m+NAP) = 1.00000E+00 + Resistance Q-variant (-) = 5.00000E+00 + Wave direction (�) = 3.37159E+02 + Dike normal (�) = 0.00000E+00 + Wave angle reduction factor (-) = 9.36760E-01 + Local waterlevel (m+NAP) = 2.48827E+00 + Wave height (m) = 1.97435E+00 + Wave period (s) = 1.20161E+01 + Load Q-variant (-) = 4.99986E+00 + Limit state function Z1 (-) = -1.48827E+00 + Limit state function Z2 (-) = 1.40333E-04 + Limit state function Z (-) = 1.40333E-04 \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveHeight/1-output.txt =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveHeight/1-output.txt (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-waveHeight/1-output.txt (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -0,0 +1,16 @@ +Executable name : D:\WTI\bin\Debug\HydraRing\MechanismComputation.exe +Executable version : 16.1.1.6952 +===================================================================================== + Submechanism = Q-variant + Waterlevel Q-variant (m+NAP) = 1.00000E+00 + Resistance Q-variant (-) = 5.00000E+00 + Wave direction (�) = 3.37159E+02 + Dike normal (�) = 0.00000E+00 + Wave angle (�) = 2.28411E+01 + Wave angle reduction factor (-) = 9.36760E-01 + Local waterlevel (m+NAP) = 2.48827E+00 + Wave period (s) = 1.20161E+01 + Load Q-variant (-) = 4.99986E+00 + Limit state function Z1 (-) = -1.48827E+00 + Limit state function Z2 (-) = 1.40333E-04 + Limit state function Z (-) = 1.40333E-04 \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-wavePeakPeriod/1-output.txt =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-wavePeakPeriod/1-output.txt (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/WaveConditionsCalculationParser/output-no-wavePeakPeriod/1-output.txt (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -0,0 +1,16 @@ +Executable name : D:\WTI\bin\Debug\HydraRing\MechanismComputation.exe +Executable version : 16.1.1.6952 +===================================================================================== + Submechanism = Q-variant + Waterlevel Q-variant (m+NAP) = 1.00000E+00 + Resistance Q-variant (-) = 5.00000E+00 + Wave direction (�) = 3.37159E+02 + Dike normal (�) = 0.00000E+00 + Wave angle (�) = 2.28411E+01 + Wave angle reduction factor (-) = 9.36760E-01 + Local waterlevel (m+NAP) = 2.48827E+00 + Wave height (m) = 1.97435E+00 + Load Q-variant (-) = 4.99986E+00 + Limit state function Z1 (-) = -1.48827E+00 + Limit state function Z2 (-) = 1.40333E-04 + Limit state function Z (-) = 1.40333E-04 \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/HydraRingCalculationServiceConfigTest.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/HydraRingCalculationServiceConfigTest.cs (.../HydraRingCalculationServiceConfigTest.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/HydraRingCalculationServiceConfigTest.cs (.../HydraRingCalculationServiceConfigTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -40,7 +40,7 @@ } [Test] - public void Constructor_SetsTestFactoryForPipingCalculatorService() + public void Constructor_SetsTestServiceForHydraRingCalculationService() { // Call using (new HydraRingCalculationServiceConfig()) Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/TestHydraRingCalculationServiceTest.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/TestHydraRingCalculationServiceTest.cs (.../TestHydraRingCalculationServiceTest.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/TestHydraRingCalculationServiceTest.cs (.../TestHydraRingCalculationServiceTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -67,8 +67,8 @@ Assert.AreEqual(hlcdDirectory, testService.HlcdDirectory); Assert.AreEqual(ringId, testService.RingId); Assert.AreEqual(uncertaintiesType, testService.UncertaintiesType); - Assert.AreEqual(input, testService.HydraRingCalculationInput); - Assert.AreEqual(parsers, testService.Parsers); + Assert.AreSame(input, testService.HydraRingCalculationInput); + Assert.AreSame(parsers, testService.Parsers); } private class TestInput : HydraRingCalculationInput Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/HydraRingCalculationServiceConfig.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/HydraRingCalculationServiceConfig.cs (.../HydraRingCalculationServiceConfig.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/HydraRingCalculationServiceConfig.cs (.../HydraRingCalculationServiceConfig.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -35,7 +35,7 @@ /// /// using(new HydraRingCalculationServiceConfig()) /// { - /// var testService = (TestHydraRingCalculationService) service.Instance; + /// var testService = (TestHydraRingCalculationService) HydraRingCalculationService.Instance; /// /// // Perform test with service /// } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/TestHydraRingCalculationService.cs =================================================================== diff -u -r5cdaf6a62202805aa0abe5636e372a66b1bec723 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/TestHydraRingCalculationService.cs (.../TestHydraRingCalculationService.cs) (revision 5cdaf6a62202805aa0abe5636e372a66b1bec723) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/TestHydraRingCalculationService.cs (.../TestHydraRingCalculationService.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -55,7 +55,7 @@ public string RingId { get; private set; } /// - /// Gets the hlcd directory used in . + /// Gets the HLCD directory used in . /// public string HlcdDirectory { get; private set; } Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs (.../IWaveConditionsCalculationService.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs (.../IWaveConditionsCalculationService.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -25,7 +25,7 @@ namespace Ringtoets.Revetment.Service { /// - /// Service responsible for performing a wave condition calculation. + /// Service responsible for performing a wave conditions calculation. /// public interface IWaveConditionsCalculationService { Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs =================================================================== diff -u -r12dd94fedfd4ad7540ad22937d277afc8273f3de -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision 12dd94fedfd4ad7540ad22937d277afc8273f3de) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -35,13 +35,15 @@ namespace Ringtoets.Revetment.Service { /// - /// Service that provides methods for performing Hydra-Ring calculations for wave conditions calculations. + /// Service that provides methods for performing Hydra-Ring wave conditions calculations. /// public class WaveConditionsCalculationService : IWaveConditionsCalculationService { private static readonly ILog log = LogManager.GetLogger(typeof(WaveConditionsCalculationService)); private static IWaveConditionsCalculationService instance; + private WaveConditionsCalculationService() {} + /// /// Gets or sets an instance of . /// Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Data.Test/WaveConditionsOutputTest.cs =================================================================== diff -u -rc56b400b7b67a827670f260756990a80bd77c5c7 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/test/Ringtoets.Revetment.Data.Test/WaveConditionsOutputTest.cs (.../WaveConditionsOutputTest.cs) (revision c56b400b7b67a827670f260756990a80bd77c5c7) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Data.Test/WaveConditionsOutputTest.cs (.../WaveConditionsOutputTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -33,10 +33,10 @@ public void Constructor_ExpectedValues() { // Setup - double waterLevel = 3.09378; - double waveHeight = 4.29884; - double wavePeakPeriod = 0.19435; - double waveAngle = 180.62353; + const double waterLevel = 3.09378; + const double waveHeight = 4.29884; + const double wavePeakPeriod = 0.19435; + const double waveAngle = 180.62353; // Call var output = new WaveConditionsOutput(waterLevel, waveHeight, wavePeakPeriod, waveAngle); Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/Ringtoets.Revetment.Service.TestUtil.Test.csproj =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/Ringtoets.Revetment.Service.TestUtil.Test.csproj (.../Ringtoets.Revetment.Service.TestUtil.Test.csproj) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/Ringtoets.Revetment.Service.TestUtil.Test.csproj (.../Ringtoets.Revetment.Service.TestUtil.Test.csproj) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -22,7 +22,7 @@ x86 - pdbonly + none true bin\Release\ TRACE @@ -31,7 +31,7 @@ x86 - pdbonly + none true bin\ReleaseForCodeCoverage\ TRACE Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/TestWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/TestWaveConditionsCalculationServiceTest.cs (.../TestWaveConditionsCalculationServiceTest.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil.Test/TestWaveConditionsCalculationServiceTest.cs (.../TestWaveConditionsCalculationServiceTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -49,9 +49,9 @@ // Assert Assert.AreEqual(waterLevel, output.WaterLevel, waterLevel.GetAccuracy()); - Assert.AreEqual(3.0, output.WaveHeight); - Assert.AreEqual(5.39, output.WavePeakPeriod); - Assert.AreEqual(29, output.WaveAngle); + Assert.AreEqual(3.0, output.WaveHeight, output.WaveHeight.GetAccuracy()); + Assert.AreEqual(5.39, output.WavePeakPeriod, output.WavePeakPeriod.GetAccuracy()); + Assert.AreEqual(29, output.WaveAngle, output.WaveAngle.GetAccuracy()); } } } \ No newline at end of file Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/Ringtoets.Revetment.Service.TestUtil.csproj =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/Ringtoets.Revetment.Service.TestUtil.csproj (.../Ringtoets.Revetment.Service.TestUtil.csproj) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/Ringtoets.Revetment.Service.TestUtil.csproj (.../Ringtoets.Revetment.Service.TestUtil.csproj) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -22,7 +22,7 @@ x86 - pdbonly + none true bin\Release\ TRACE Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/WaveConditionsCalculationServiceConfig.cs =================================================================== diff -u -r5b3041efe0fd2d334984d6c730815242b30229aa -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/WaveConditionsCalculationServiceConfig.cs (.../WaveConditionsCalculationServiceConfig.cs) (revision 5b3041efe0fd2d334984d6c730815242b30229aa) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.TestUtil/WaveConditionsCalculationServiceConfig.cs (.../WaveConditionsCalculationServiceConfig.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -34,7 +34,7 @@ /// /// using(new WaveConditionsCalculationServiceConfig()) /// { - /// var testService = (TestWaveConditionsCalculationService) service.Instance; + /// var testService = (TestWaveConditionsCalculationService) WaveConditionsCalculationService.Instance; /// /// // Perform test with service /// } @@ -55,6 +55,10 @@ WaveConditionsCalculationService.Instance = new TestWaveConditionsCalculationService(); } + /// + /// Reverts the to the value + /// it had at time of construction of the . + /// public void Dispose() { WaveConditionsCalculationService.Instance = previousInstance; Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/GeneralStabilityStoneCoverWaveConditionsInput.cs =================================================================== diff -u -r04f56b5617d98e3888d548632421149206006fd9 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/GeneralStabilityStoneCoverWaveConditionsInput.cs (.../GeneralStabilityStoneCoverWaveConditionsInput.cs) (revision 04f56b5617d98e3888d548632421149206006fd9) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/GeneralStabilityStoneCoverWaveConditionsInput.cs (.../GeneralStabilityStoneCoverWaveConditionsInput.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -41,32 +41,32 @@ } /// - /// Gets the 'A' parameter used in wave conditions calculations for blocks. + /// Gets the 'a' parameter used in wave conditions calculations for blocks. /// public double ABlocks { get; private set; } /// - /// Gets the 'B' parameter used in wave conditions calculations for blocks. + /// Gets the 'b' parameter used in wave conditions calculations for blocks. /// public double BBlocks { get; private set; } /// - /// Gets the 'C' parameter used in wave conditions calculations for blocks. + /// Gets the 'c' parameter used in wave conditions calculations for blocks. /// public double CBlocks { get; private set; } /// - /// Gets the 'A' parameter used in wave conditions calculations for columns. + /// Gets the 'a' parameter used in wave conditions calculations for columns. /// public double AColumns { get; private set; } /// - /// Gets the 'B' parameter used in wave conditions calculations for columns. + /// Gets the 'b' parameter used in wave conditions calculations for columns. /// public double BColumns { get; private set; } /// - /// Gets the 'C' parameter used in wave conditions calculations for columns. + /// Gets the 'c' parameter used in wave conditions calculations for columns. /// public double CColumns { get; private set; } } Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs =================================================================== diff -u -r7476f6e86d295926aa08971d54ef62abcce75c21 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs (.../StabilityStoneCoverWaveConditionsCalculationActivity.cs) (revision 7476f6e86d295926aa08971d54ef62abcce75c21) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs (.../StabilityStoneCoverWaveConditionsCalculationActivity.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -93,13 +93,12 @@ Output = new StabilityStoneCoverWaveConditionsCalculationActivityOutput(); - var generalInput = failureMechanism.GeneralInput; - var aBlocks = generalInput.ABlocks; - var bBlocks = generalInput.BBlocks; - var cBlocks = generalInput.CBlocks; - var aColumns = generalInput.AColumns; - var bColumns = generalInput.BColumns; - var cColumns = generalInput.CColumns; + var aBlocks = failureMechanism.GeneralInput.ABlocks; + var bBlocks = failureMechanism.GeneralInput.BBlocks; + var cBlocks = failureMechanism.GeneralInput.CBlocks; + var aColumns = failureMechanism.GeneralInput.AColumns; + var bColumns = failureMechanism.GeneralInput.BColumns; + var cColumns = failureMechanism.GeneralInput.CColumns; var norm = assessmentSection.FailureMechanismContribution.Norm; foreach (var waterLevel in calculation.InputParameters.WaterLevels) @@ -111,7 +110,7 @@ ProgressText = string.Format(Resources.StabilityStoneCoverWaveConditionsCalculationActivity_OnRun_Calculate_blocks_waterlevel_0_, waterLevel); - var blocksOuput = WaveConditionsCalculationService.Instance.Calculate(waterLevel, + var blocksOutput = WaveConditionsCalculationService.Instance.Calculate(waterLevel, aBlocks, bBlocks, cBlocks, @@ -121,9 +120,9 @@ assessmentSection.Id, calculation.Name); - if (blocksOuput != null) + if (blocksOutput != null) { - Output.AddBlocksOutput(blocksOuput); + Output.AddBlocksOutput(blocksOutput); } log.Info(string.Format(Resources.StabilityStoneCoverWaveConditionsCalculationActivity_OnRun_Subject_0_blocks_for_waterlevel_1_ended_time_1_, @@ -172,7 +171,6 @@ PerformFinish(() => { calculation.Output = new StabilityStoneCoverWaveConditionsOutput(Output.ColumnsOutput, Output.BlocksOutput); - calculation.NotifyObservers(); }); } } Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivityOutput.cs =================================================================== diff -u -r4d8254c6735e3fc7323678002af10739280eda52 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivityOutput.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityOutput.cs) (revision 4d8254c6735e3fc7323678002af10739280eda52) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivityOutput.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityOutput.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -33,6 +33,9 @@ private readonly ICollection columnsOutput; private readonly ICollection blocksOutput; + /// + /// Creates a new instance of . + /// internal StabilityStoneCoverWaveConditionsCalculationActivityOutput() { columnsOutput = new List(); Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj =================================================================== diff -u -r7476f6e86d295926aa08971d54ef62abcce75c21 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision 7476f6e86d295926aa08971d54ef62abcce75c21) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -41,10 +41,6 @@ ..\..\..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll True - - ..\..\..\..\packages\RhinoMocks.3.6.1\lib\net\Rhino.Mocks.dll - True - Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r7476f6e86d295926aa08971d54ef62abcce75c21 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 7476f6e86d295926aa08971d54ef62abcce75c21) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -23,13 +23,11 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.Base.Service; using Core.Common.TestUtil; using NUnit.Framework; -using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.HydraRing.Calculation.TestUtil; @@ -204,19 +202,13 @@ } [Test] - public void OnFinish_CalculationPerformed_SetsOutputAndNotifiesObservers() + public void OnFinish_CalculationPerformed_SetsOutput() { // Setup - var mocks = new MockRepository(); - var observer = mocks.StrictMock(); - observer.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); var calculation = GetValidCalculation(assessmentSection); - calculation.Attach(observer); var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.StabilityStoneCover, assessmentSection); @@ -232,23 +224,17 @@ Assert.IsNotNull(calculation.Output); Assert.AreEqual(3, calculation.Output.ColumnsOutput.Count()); Assert.AreEqual(3, calculation.Output.BlocksOutput.Count()); - mocks.VerifyAll(); } } [Test] - public void OnFinish_CalculationFailed_OutputNullObserversNotNotified() + public void OnFinish_CalculationFailed_OutputNull() { // Setup - var mocks = new MockRepository(); - var observer = mocks.StrictMock(); - mocks.ReplayAll(); - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); var calculation = GetValidCalculation(assessmentSection); - calculation.Attach(observer); var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.StabilityStoneCover, assessmentSection); @@ -261,7 +247,6 @@ // Assert Assert.IsNull(calculation.Output); - mocks.VerifyAll(); // No update observers expected } } Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/packages.config =================================================================== diff -u -r7476f6e86d295926aa08971d54ef62abcce75c21 -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/packages.config (.../packages.config) (revision 7476f6e86d295926aa08971d54ef62abcce75c21) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/packages.config (.../packages.config) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -24,6 +24,5 @@ --> - \ No newline at end of file Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj =================================================================== diff -u -r0d98073e4ba2bdc6b69b7f875508488d1fa0148a -rfb6c8cb473282ccd9b920afddb33a2284c7274cd --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj (.../Ringtoets.StabilityStoneCover.Service.Test.csproj) (revision 0d98073e4ba2bdc6b69b7f875508488d1fa0148a) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj (.../Ringtoets.StabilityStoneCover.Service.Test.csproj) (revision fb6c8cb473282ccd9b920afddb33a2284c7274cd) @@ -86,10 +86,6 @@ {87C2C553-C0BC-40BF-B1EA-B83BFF357F27} Ringtoets.Revetment.Data - - {2331235F-1E56-4344-ACC2-191C22A39594} - Ringtoets.Revetment.Service - {b479e3af-7c34-488c-bb73-d324100d36c9} Ringtoets.StabilityStoneCover.Data