Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs =================================================================== diff -u -r9b0f9d3bc29ce2e4ad51ed5de1e7cf320cd7b16c -raff302727cbdd19c159e29ffe359487e3479d982 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs (.../OvertoppingCalculationWaveHeightParser.cs) (revision 9b0f9d3bc29ce2e4ad51ed5de1e7cf320cd7b16c) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs (.../OvertoppingCalculationWaveHeightParser.cs) (revision aff302727cbdd19c159e29ffe359487e3479d982) @@ -19,13 +19,11 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; using Ringtoets.HydraRing.Calculation.Data.Output; using Ringtoets.HydraRing.Calculation.Exceptions; -using Ringtoets.HydraRing.IO; +using Ringtoets.HydraRing.Calculation.Properties; namespace Ringtoets.HydraRing.Calculation.Parsers { @@ -34,190 +32,66 @@ /// public class OvertoppingCalculationWaveHeightParser : IHydraRingFileParser { - private const string overtoppingStart = "Submechanism = Overtopping RTO"; - private const string overflowStart = "Submechanism = Overflow"; - private const string combineWindDirectionStart = "Status = Combined over wind directions"; - private const string governingWindDirectionStart = "Governing wind direction"; - private const string overtoppingWaveHeight = "Wave height (Hs)"; - private const string windDirection = "Wind direction"; - private const string closingSituation = "Closing situation"; - private const string beta = "Beta"; - private const char equalsCharacter = '='; + private const string sectionIdParameterName = "@sectionId"; + private const string waveHeighColumn = "WaveHeight"; + private const string isOvertoppingDominantColumn = "IsOvertoppingDominant"; - private readonly List overtoppingResults; - private readonly List overflowResults; - private int governingWindDirection = -1; + private readonly string query = + $"SELECT Value as {waveHeighColumn}," + + $"(case when SubMechanismId is 102 then 1 else 0 end) as {isOvertoppingDominantColumn} FROM " + + "(SELECT d.OuterIterationId, TidalPeriod, BetaValue, ClosingSituation, WindDirection, LevelType, SubMechanismId " + + "FROM GoverningWind g " + + "JOIN DesignBeta d ON d.WindDirection = g.GoverningWind AND d.OuterIterationId = g.OuterIterationId AND d.TidalPeriod = g.PeriodId " + + $"WHERE LevelType = 7 AND d.SubMechanismId = 102 AND SectionId = {sectionIdParameterName} " + + "ORDER BY d.OuterIterationId DESC, TidalPeriod, BetaValue " + + "LIMIT 1) as g " + + "JOIN " + + "(SELECT Value FROM GoverningWind g " + + "JOIN DesignPointResults d ON d.WindDirection = g.GoverningWind AND d.OuterIterationId = g.OuterIterationId AND d.TidalPeriod = g.PeriodId " + + "JOIN DesignBeta db ON db.WindDirection = d.WindDirection AND db.ClosingSituation = d.ClosingSituation AND db.OuterIterationId = d.OuterIterationId " + + "AND db.TidalPeriod = d.TidalPeriod " + + $"WHERE OutputVarId = 3 AND db.LevelType = 7 AND db.SectionId = {sectionIdParameterName} " + + "ORDER BY d.OuterIterationId DESC, d.TidalPeriod, db.BetaValue " + + "LIMIT 1) " + + "Order By g.BetaValue " + + "LIMIT 1;"; /// - /// Creates a new instance of . - /// - public OvertoppingCalculationWaveHeightParser() - { - overtoppingResults = new List(); - overflowResults = new List(); - } - - /// /// Gets the output that was parsed from the output file. /// public OvertoppingCalculationWaveHeightOutput Output { get; private set; } public void Parse(string workingDirectory, int sectionId) { - string fileName = string.Format("{0}{1}", sectionId, HydraRingFileConstants.OutputFileSuffix); + Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine( + workingDirectory, + query, + sectionId, + Resources.OvertoppingCalculationWaveHeightParser_Parse_No_overtopping_found_in_output_file); - try - { - ReadFile(Path.Combine(workingDirectory, fileName)); - SetOutputs(); - } - catch - { - throw new HydraRingFileParserException(); - } + ReadResult(result); } - private void SetOutputs() + /// + /// Reads the . + /// + /// The result from the database read. + /// Thrown when the result + /// cannot be converted to the output format. + private void ReadResult(IDictionary result) { - OvertoppingResult relevantOvertoppingResult = null; - foreach (OvertoppingResult overtoppingResult in overtoppingResults.Where(o => o.WindDirection == governingWindDirection)) + try { - if (relevantOvertoppingResult == null || overtoppingResult.Beta < relevantOvertoppingResult.Beta) - { - relevantOvertoppingResult = overtoppingResult; - } - } + double waveHeight = Convert.ToDouble(result[waveHeighColumn]); + bool isOvertoppingDominant = Convert.ToBoolean(result[isOvertoppingDominantColumn]); - if (relevantOvertoppingResult != null && overflowResults.Any()) - { - GeneralResult governingOverflowResult = overflowResults - .First(o => o.WindDirection == governingWindDirection && o.ClosingSituation == relevantOvertoppingResult.ClosingSituation); - - Output = new OvertoppingCalculationWaveHeightOutput( - relevantOvertoppingResult.WaveHeight, - relevantOvertoppingResult.Beta < governingOverflowResult.Beta); + Output = new OvertoppingCalculationWaveHeightOutput(waveHeight, + isOvertoppingDominant); } - } - - private void ReadFile(string filePath) - { - using (var file = new StreamReader(File.OpenRead(filePath))) + catch (InvalidCastException e) { - while (!file.EndOfStream) - { - string currentLine = file.ReadLine(); - TryParseOvertoppingSection(currentLine, file); - TryParseOverflowSection(currentLine, file); - TryParseCombinationWindDirectionSection(currentLine, file); - } + throw new HydraRingFileParserException(Resources.OvertoppingCalculationWaveHeightParser_Parse_No_overtopping_found_in_output_file, e); } } - - private void TryParseOvertoppingSection(string startLine, StreamReader file) - { - if (startLine.Contains(overtoppingStart)) - { - var overtoppingResult = new OvertoppingResult(); - while (!file.EndOfStream && double.IsNaN(overtoppingResult.Beta)) - { - string readLine = file.ReadLine(); - TryParseWaveHeight(readLine, overtoppingResult); - TryParseWindDirection(readLine, overtoppingResult); - TryParseClosingSituation(readLine, overtoppingResult); - TryParseBeta(readLine, overtoppingResult); - } - overtoppingResults.Add(overtoppingResult); - } - } - - private void TryParseOverflowSection(string startLine, StreamReader file) - { - if (startLine.Contains(overflowStart)) - { - var overflowResult = new GeneralResult(); - while (!file.EndOfStream && double.IsNaN(overflowResult.Beta)) - { - string readLine = file.ReadLine(); - TryParseWindDirection(readLine, overflowResult); - TryParseClosingSituation(readLine, overflowResult); - TryParseBeta(readLine, overflowResult); - } - overflowResults.Add(overflowResult); - } - } - - private void TryParseCombinationWindDirectionSection(string startLine, StreamReader file) - { - if (startLine.Contains(combineWindDirectionStart)) - { - while (!file.EndOfStream && governingWindDirection == -1) - { - string readLine = file.ReadLine(); - TryParseGoverningWindDirection(readLine); - } - } - } - - private void TryParseGoverningWindDirection(string line) - { - if (line.Contains(governingWindDirectionStart)) - { - string governingWindDirectionString = line.Split(equalsCharacter)[1].Trim(); - governingWindDirection = int.Parse(governingWindDirectionString); - } - } - - private void TryParseWaveHeight(string line, OvertoppingResult overtoppingResult) - { - if (line.Contains(overtoppingWaveHeight)) - { - string resultAsString = line.Split(equalsCharacter)[1].Trim(); - overtoppingResult.WaveHeight = double.Parse(resultAsString, CultureInfo.InvariantCulture); - } - } - - private void TryParseWindDirection(string line, GeneralResult generalResult) - { - if (line.Contains(windDirection)) - { - string resultAsString = line.Split(equalsCharacter)[1].Trim(); - generalResult.WindDirection = int.Parse(resultAsString, CultureInfo.InvariantCulture); - } - } - - private void TryParseClosingSituation(string line, GeneralResult generalResult) - { - if (line.Contains(closingSituation)) - { - string resultAsString = line.Split(equalsCharacter)[1].Trim(); - generalResult.ClosingSituation = int.Parse(resultAsString, CultureInfo.InvariantCulture); - } - } - - private void TryParseBeta(string line, GeneralResult generalResult) - { - if (line.Contains(beta)) - { - string resultAsString = line.Split(equalsCharacter)[1].Trim(); - generalResult.Beta = double.Parse(resultAsString, CultureInfo.InvariantCulture); - } - } - - private class GeneralResult - { - public GeneralResult() - { - Beta = double.NaN; - } - - public int WindDirection { get; set; } - public int ClosingSituation { get; set; } - public double Beta { get; set; } - } - - private class OvertoppingResult : GeneralResult - { - public double WaveHeight { get; set; } - } } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs =================================================================== diff -u -rb22ebfa1f38daadd1bd4f79ac846057e7ee27976 -raff302727cbdd19c159e29ffe359487e3479d982 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b22ebfa1f38daadd1bd4f79ac846057e7ee27976) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision aff302727cbdd19c159e29ffe359487e3479d982) @@ -129,6 +129,15 @@ } /// + /// Looks up a localized string similar to Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase.. + /// + internal static string OvertoppingCalculationWaveHeightParser_Parse_No_overtopping_found_in_output_file { + get { + return ResourceManager.GetString("OvertoppingCalculationWaveHeightParser_Parse_No_overtopping_found_in_output_file", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Kan het Hydra-Ring last_error bestand {0} niet lezen uit de map {1}.. /// internal static string Parse_Cannot_read_last_error_Filename_0_from_FolderPath_1_ { Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx =================================================================== diff -u -rb22ebfa1f38daadd1bd4f79ac846057e7ee27976 -raff302727cbdd19c159e29ffe359487e3479d982 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx (.../Resources.resx) (revision b22ebfa1f38daadd1bd4f79ac846057e7ee27976) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx (.../Resources.resx) (revision aff302727cbdd19c159e29ffe359487e3479d982) @@ -147,4 +147,7 @@ Er zijn geen berekende golfcondities gevonden in de Hydra-Ring uitvoerdatabase. + + Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase. + \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/OvertoppingCalculationWaveHeightParserTest.cs =================================================================== diff -u -r0e9042f3bb1c6b0615400c2dbf45a2a06cc024e1 -raff302727cbdd19c159e29ffe359487e3479d982 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/OvertoppingCalculationWaveHeightParserTest.cs (.../OvertoppingCalculationWaveHeightParserTest.cs) (revision 0e9042f3bb1c6b0615400c2dbf45a2a06cc024e1) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/OvertoppingCalculationWaveHeightParserTest.cs (.../OvertoppingCalculationWaveHeightParserTest.cs) (revision aff302727cbdd19c159e29ffe359487e3479d982) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using System.Data.SQLite; using System.IO; +using System.Security.AccessControl; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Exceptions; @@ -30,10 +33,11 @@ [TestFixture] public class OvertoppingCalculationWaveHeightParserTest { - private const int sectionId = 1; - private readonly string testDataPath = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation, "Parsers"), "OvertoppingCalculationWaveHeightParser"); - private readonly string outputFileName = sectionId + "-output.txt"; + private const string validFile = "ValidFile"; + private static readonly string testDirectory = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation, "Parsers"), + nameof(OvertoppingCalculationWaveHeightParser)); + [Test] public void Constructor_ExpectedValues() { @@ -46,82 +50,139 @@ } [Test] - public void Parse_NotExistingOutputFile_ThrowsHydraRingFileParserException() + public void Parse_WorkingDirectoryNull_ThrowsArgumentNullException() { // Setup var parser = new OvertoppingCalculationWaveHeightParser(); // Call - TestDelegate test = () => parser.Parse(testDataPath, 1); + TestDelegate test = () => parser.Parse(null, 1); // Assert - Assert.Throws(test); - Assert.IsNull(parser.Output); + var exception = Assert.Throws(test); + Assert.AreEqual("workingDirectory", exception.ParamName); } [Test] - [TestCase("6-3_0-output-no-overtopping")] - [TestCase("6-3_0-output-no-overflow")] - [TestCase("6-3_0-output-no-governing-wind-direction")] - [TestCase("empty")] - public void Parse_PartiallyOrCompletelyEmptyOutputFile_RetunsWithNullOutput(string testDir) + public void Parse_WithWorkingDirectoryWithoutExpectedFile_ThrowsHydraRingFileParserException() { // Setup + string path = Path.Combine(testDirectory, "EmptyWorkingDirectory"); var parser = new OvertoppingCalculationWaveHeightParser(); - var workingDirectory = Path.Combine(testDataPath, testDir); // Call - parser.Parse(workingDirectory, sectionId); + TestDelegate test = () => parser.Parse(path, 1); // Assert - Assert.IsNull(parser.Output); - Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); + var exception = Assert.Throws(test); + Assert.IsInstanceOf(exception.InnerException); } [Test] - [TestCase("6-3_0-output", 0.91641, true)] - [TestCase("6-3_0-output-not-dominant", 0.91641, false)] - [TestCase("304432-fdir-output", 2.78346, true)] - [TestCase("304432-form-output", 2.78347, true)] - [TestCase("304432-form-output-not-dominant", 2.78347, false)] - [TestCase("700003-fdir-output", 1.04899, true)] - [TestCase("700003-form-output", 1.04899, true)] - [TestCase("700003-form-output-not-dominant", 1.04899, false)] - [TestCase("10-1-ZW_HR_L_10_8-NTI", 0.06193, false)] - public void Parse_ExampleHydraRingOutputFileContainingSectionIds_OutputSetWithExpectedCalculationResult(string testDir, double expected, bool isOvertoppingDominant) + [TestCase("InvalidFile")] + [TestCase("MissingTableDesignBeta")] + [TestCase("MissingTableDesignPointResults")] + [TestCase("MissingTableGoverningWind")] + public void Parse_WithWorkingDirectoryWithInvalidOutputFile_ThrowsHydraRingFileParserException(string subFolder) { // Setup + string path = Path.Combine(testDirectory, subFolder); var parser = new OvertoppingCalculationWaveHeightParser(); - var workingDirectory = Path.Combine(testDataPath, testDir); // Call - parser.Parse(workingDirectory, sectionId); + TestDelegate test = () => parser.Parse(path, 1); // Assert - Assert.AreEqual(expected, parser.Output.WaveHeight); - Assert.AreEqual(isOvertoppingDominant, parser.Output.IsOvertoppingDominant); - Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); + var exception = Assert.Throws(test); + Assert.AreEqual("Er kon geen resultaat gelezen worden uit de Hydra-Ring uitvoerdatabase.", exception.Message); + Assert.IsInstanceOf(exception.InnerException); } [Test] - [TestCase("6-3_0-output-invalid-hs")] - [TestCase("6-3_0-output-invalid-closing")] - [TestCase("6-3_0-output-invalid-wind")] - [TestCase("6-3_0-output-invalid-beta")] - [TestCase("6-3_0-output-no-relevant-overflow")] - public void Parse_InvalidHydraRingOutputFile_ThrowsHydraRingFileParserException(string testDir) + [TestCase("EmptyDatabase")] + [TestCase("EmptyTableDesignBeta")] + [TestCase("EmptyTableDesignPointResults")] + [TestCase("EmptyTableGoverningWind")] + public void Parse_WithDataNotComplete_ThrowsHydraRingFileParserException(string subFolder) { // Setup + string path = Path.Combine(testDirectory, subFolder); var parser = new OvertoppingCalculationWaveHeightParser(); - var workingDirectory = Path.Combine(testDataPath, testDir); // Call - TestDelegate test = () => parser.Parse(workingDirectory, sectionId); + TestDelegate test = () => parser.Parse(path, 1); // Assert - Assert.Throws(test); - Assert.IsNull(parser.Output); - Assert.IsTrue(TestHelper.CanOpenFileForWrite(Path.Combine(workingDirectory, outputFileName))); + var exception = Assert.Throws(test); + Assert.AreEqual("Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase.", exception.Message); + Assert.IsInstanceOf(exception.InnerException); } + + [Test] + public void Parse_ValidDataForOtherSection_ThrowsHydraRingFileParserException() + { + // Setup + string path = Path.Combine(testDirectory, validFile); + var parser = new OvertoppingCalculationWaveHeightParser(); + + // Call + TestDelegate test = () => parser.Parse(path, 0); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase.", exception.Message); + Assert.IsInstanceOf(exception.InnerException); + } + + [Test] + public void Parse_ErrorWhileReadingFile_ThrowsHydraRingFileParserException() + { + // Setup + var parser = new OvertoppingCalculationWaveHeightParser(); + string workingDirectory = Path.Combine(testDirectory, validFile); + + using (new DirectoryPermissionsRevoker(testDirectory, FileSystemRights.ReadData)) + { + // Call + TestDelegate call = () => parser.Parse(workingDirectory, 1); + + // Assert + var exception = Assert.Throws(call); + var expectedMessage = "Er kon geen resultaat gelezen worden uit de Hydra-Ring uitvoerdatabase."; + Assert.AreEqual(expectedMessage, exception.Message); + Assert.IsInstanceOf(exception.InnerException); + } + } + + [Test] + public void Parse_NotAllColumnsHasResults_ThrowsHydraRingFileParserException() + { + // Setup + string path = Path.Combine(testDirectory, "ValidFileNoWaveHeight"); + var parser = new OvertoppingCalculationWaveHeightParser(); + + // Call + TestDelegate test = () => parser.Parse(path, 1); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase.", exception.Message); + Assert.IsInstanceOf(exception.InnerException); + } + + [Test] + public void Parse_ValidData_OutputSet() + { + // Setup + string path = Path.Combine(testDirectory, validFile); + var parser = new OvertoppingCalculationWaveHeightParser(); + + // Call + parser.Parse(path, 1); + + // Assert + Assert.AreEqual(1.56783, parser.Output.WaveHeight); + Assert.IsTrue(parser.Output.IsOvertoppingDominant); + } } } \ No newline at end of file Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/10-1-ZW_HR_L_10_8-NTI/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/304432-fdir-output/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/304432-form-output-not-dominant/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/304432-form-output/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-invalid-beta/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-invalid-closing/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-invalid-hs/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-invalid-wind/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-no-governing-wind-direction/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-no-overflow/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-no-overtopping/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-no-relevant-overflow/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output-not-dominant/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/6-3_0-output/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/700003-fdir-output/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/700003-form-output-not-dominant/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/700003-form-output/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/EmptyDatabase/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/EmptyTableDesignBeta/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/EmptyTableDesignPointResults/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/EmptyTableGoverningWind/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/InvalidFile/output.sqlite =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/InvalidFile/output.sqlite (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/InvalidFile/output.sqlite (revision aff302727cbdd19c159e29ffe359487e3479d982) @@ -0,0 +1 @@ \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/MissingTableDesignBeta/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/MissingTableDesignPointResults/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/MissingTableGoverningWind/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/ValidFile/output.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/ValidFileNoWaveHeight/output.sqlite =================================================================== diff -u Binary files differ Fisheye: Tag aff302727cbdd19c159e29ffe359487e3479d982 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/test-data/Parsers/OvertoppingCalculationWaveHeightParser/empty/1-output.txt'. Fisheye: No comparison available. Pass `N' to diff?