Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs =================================================================== diff -u -r069a138c1b625306224a0385e8a49165be0ef6d3 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs (.../WaveConditionsCalculationInput.cs) (revision 069a138c1b625306224a0385e8a49165be0ef6d3) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs (.../WaveConditionsCalculationInput.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -41,6 +41,7 @@ /// Creates a new instance of the class. /// /// The id of the section to use during the calculation. + /// The normal of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. /// The foreland points to use during the calculation. @@ -50,6 +51,7 @@ /// The b-value to use during the calculation. /// As a part of the constructor, the is automatically converted into a reliability index. protected WaveConditionsCalculationInput(int sectionId, + double sectionNormal, long hydraulicBoundaryLocationId, double norm, IEnumerable forelandPoints, @@ -65,7 +67,7 @@ this.waterLevel = waterLevel; this.a = a; this.b = b; - section = new HydraRingSection(sectionId, double.NaN, double.NaN); + section = new HydraRingSection(sectionId, double.NaN, sectionNormal); } public override HydraRingFailureMechanismType FailureMechanismType Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs =================================================================== diff -u -rdc9032117524ced6472a6b0a5fdbc8f10e6e2faa -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs (.../WaveConditionsCosineCalculationInput.cs) (revision dc9032117524ced6472a6b0a5fdbc8f10e6e2faa) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs (.../WaveConditionsCosineCalculationInput.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -35,6 +35,7 @@ /// Creates a new instance of the class. /// /// The id of the section to use during the calculation. + /// The normal of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. /// The foreland points to use during the calculation. @@ -44,6 +45,7 @@ /// The b-value to use during the calculation. /// The c-value to use during the calculation. public WaveConditionsCosineCalculationInput(int sectionId, + double sectionNormal, long hydraulicBoundaryLocationId, double norm, IEnumerable forelandPoints, @@ -53,6 +55,7 @@ double b, double c) : base(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs =================================================================== diff -u -rdc9032117524ced6472a6b0a5fdbc8f10e6e2faa -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs (.../WaveConditionsTrapezoidCalculationInput.cs) (revision dc9032117524ced6472a6b0a5fdbc8f10e6e2faa) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs (.../WaveConditionsTrapezoidCalculationInput.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -36,6 +36,7 @@ /// Creates a new instance of the class. /// /// The id of the section to use during the calculation. + /// The normal of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. /// The foreland points to use during the calculation. @@ -46,6 +47,7 @@ /// The beta1-value to use during the calculation. /// The beta2-value to use during the calculation. public WaveConditionsTrapezoidCalculationInput(int sectionId, + double sectionNormal, long hydraulicBoundaryLocationId, double norm, IEnumerable forelandPoints, @@ -56,6 +58,7 @@ double beta1, double beta2) : base(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCalculationInputTest.cs =================================================================== diff -u -r069a138c1b625306224a0385e8a49165be0ef6d3 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCalculationInputTest.cs (.../WaveConditionsCalculationInputTest.cs) (revision 069a138c1b625306224a0385e8a49165be0ef6d3) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCalculationInputTest.cs (.../WaveConditionsCalculationInputTest.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -38,6 +38,7 @@ { // Setup const int sectionId = 111; + const double sectionNormal = 90; const int hydraulicBoundaryLocationId = 222; const int norm = 333; var forelandPoints = Enumerable.Empty(); @@ -48,6 +49,7 @@ // Call var waveConditionsCalculationInput = new WaveConditionsCalculationInputImplementation(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, @@ -67,6 +69,7 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsCalculationInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsCalculationInput.Section); Assert.AreEqual(sectionId, waveConditionsCalculationInput.Section.SectionId); + Assert.AreEqual(sectionNormal, waveConditionsCalculationInput.Section.CrossSectionNormal); HydraRingVariableAssert.AreEqual(GetExpectedVariables(waterLevel, a, b).ToArray(), waveConditionsCalculationInput.Variables.ToArray()); Assert.AreSame(forelandPoints, waveConditionsCalculationInput.ForelandsPoints); Assert.AreSame(breakWater, waveConditionsCalculationInput.BreakWater); @@ -76,6 +79,7 @@ private class WaveConditionsCalculationInputImplementation : WaveConditionsCalculationInput { public WaveConditionsCalculationInputImplementation(int sectionId, + double sectionNormal, long hydraulicBoundaryLocationId, double norm, IEnumerable forelandPoints, @@ -84,6 +88,7 @@ double a, double b) : base(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineCalculationInputTest.cs =================================================================== diff -u -r069a138c1b625306224a0385e8a49165be0ef6d3 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineCalculationInputTest.cs (.../WaveConditionsCosineCalculationInputTest.cs) (revision 069a138c1b625306224a0385e8a49165be0ef6d3) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineCalculationInputTest.cs (.../WaveConditionsCosineCalculationInputTest.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -37,18 +37,20 @@ { // Setup const int sectionId = 111; + const double sectionNormal = 90; const int hydraulicBoundaryLocationId = 222; const int norm = 333; var forelandPoints = Enumerable.Empty(); var breakWater = new HydraRingBreakWater(1, 4.4); - // Call const double waterLevel = 5.5; const double a = 6.6; const double b = 7.7; const double c = 8.8; + // Call var waveConditionsCosineCalculationInput = new WaveConditionsCosineCalculationInput(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, @@ -69,6 +71,7 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsCosineCalculationInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsCosineCalculationInput.Section); Assert.AreEqual(sectionId, waveConditionsCosineCalculationInput.Section.SectionId); + Assert.AreEqual(sectionNormal, waveConditionsCosineCalculationInput.Section.CrossSectionNormal); HydraRingVariableAssert.AreEqual(GetExpectedVariables(waterLevel, a, b, c).ToArray(), waveConditionsCosineCalculationInput.Variables.ToArray()); Assert.AreSame(forelandPoints, waveConditionsCosineCalculationInput.ForelandsPoints); Assert.AreSame(breakWater, waveConditionsCosineCalculationInput.BreakWater); @@ -83,6 +86,7 @@ { // Call var waveConditionsCosineCalculationInput = new WaveConditionsCosineCalculationInput(111, + 1.1, 222, 333, Enumerable.Empty(), Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInputTest.cs =================================================================== diff -u -r069a138c1b625306224a0385e8a49165be0ef6d3 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInputTest.cs (.../WaveConditionsTrapezoidCalculationInputTest.cs) (revision 069a138c1b625306224a0385e8a49165be0ef6d3) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInputTest.cs (.../WaveConditionsTrapezoidCalculationInputTest.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -37,6 +37,7 @@ { // Setup const int sectionId = 111; + const double sectionNormal = 90; const int hydraulicBoundaryLocationId = 222; const int norm = 333; var forelandPoints = Enumerable.Empty(); @@ -49,6 +50,7 @@ // Call var waveConditionsTrapezoidCalculationInput = new WaveConditionsTrapezoidCalculationInput(sectionId, + sectionNormal, hydraulicBoundaryLocationId, norm, forelandPoints, @@ -70,6 +72,7 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsTrapezoidCalculationInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsTrapezoidCalculationInput.Section); Assert.AreEqual(sectionId, waveConditionsTrapezoidCalculationInput.Section.SectionId); + Assert.AreEqual(sectionNormal, waveConditionsTrapezoidCalculationInput.Section.CrossSectionNormal); HydraRingVariableAssert.AreEqual(GetExpectedVariables(waterLevel, a, b, beta1, beta2).ToArray(), waveConditionsTrapezoidCalculationInput.Variables.ToArray()); Assert.AreSame(forelandPoints, waveConditionsTrapezoidCalculationInput.ForelandsPoints); Assert.AreSame(breakWater, waveConditionsTrapezoidCalculationInput.BreakWater); @@ -84,6 +87,7 @@ { // Call var waveConditionsTrapezoidCalculationInput = new WaveConditionsTrapezoidCalculationInput(111, + 1.1, 222, 333, Enumerable.Empty(), Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs =================================================================== diff -u -rad087c2c09d8ad804036ca7f9064fbdee6e97fb9 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision ad087c2c09d8ad804036ca7f9064fbdee6e97fb9) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -565,6 +565,7 @@ hydraRingConfigurationService.AddHydraRingCalculationInput( new WaveConditionsCosineCalculationInput(1, + 56.23, hydraulicBoundaryLocationId, 10000, forelandPoints, @@ -578,7 +579,7 @@ "INSERT INTO [HydraulicModels] VALUES (3, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + - "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 0);" + Environment.NewLine + + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 56.23, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 3, 1, 1, 7, 114, 0, 0, 0, 0, 5, 15, 3.71901648545568);" + Environment.NewLine + @@ -661,6 +662,7 @@ hydraRingConfigurationService.AddHydraRingCalculationInput( new WaveConditionsTrapezoidCalculationInput(1, + 86.48, hydraulicBoundaryLocationId, 10000, forelandPoints, @@ -675,7 +677,7 @@ "INSERT INTO [HydraulicModels] VALUES (3, 1, 'WTI 2017');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Sections];" + Environment.NewLine + - "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 0, 0);" + Environment.NewLine + + "INSERT INTO [Sections] VALUES (1, 1, 1, 1, 1, 0, 0, 0, 0, 700004, 700004, 100, 86.48, 0);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [DesignTables];" + Environment.NewLine + "INSERT INTO [DesignTables] VALUES (1, 3, 1, 1, 7, 114, 0, 0, 0, 0, 5, 15, 3.71901648545568);" + Environment.NewLine + Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs =================================================================== diff -u -r3a89e41054c6cfe6babdc150e8282cbe4a6dc672 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision 3a89e41054c6cfe6babdc150e8282cbe4a6dc672) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -34,7 +34,6 @@ using Ringtoets.HydraRing.IO; using Ringtoets.Revetment.Data; using Ringtoets.Revetment.Service.Properties; - using RingtoetsCommonServiceResources = Ringtoets.Common.Service.Properties.Resources; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -76,7 +75,7 @@ CalculationServiceHelper.LogValidationEndTime(name); return false; } - + string validationErrorMessage = ValidateWaveConditionsInput(input); if (!string.IsNullOrEmpty(validationErrorMessage)) { @@ -138,6 +137,7 @@ WaveConditionsInput input) { return new WaveConditionsCosineCalculationInput(1, + input.Orientation, input.HydraulicBoundaryLocation.Id, norm, GetForeshore(input), @@ -158,7 +158,6 @@ return input.UseForeshore ? input.ForeshoreGeometry.Select(c => new HydraRingForelandPoint(c.X, c.Y)) : new HydraRingForelandPoint[0]; } - private static string ValidateHydraulicBoundaryDatabase(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) { if (hydraulicBoundaryDatabase == null) @@ -178,7 +177,7 @@ private static string ValidateWaveConditionsInput(WaveConditionsInput input) { - if (input.HydraulicBoundaryLocation == null) + if (input.HydraulicBoundaryLocation == null) { return Resources.WaveConditionsCalculationService_ValidateInput_No_hydraulic_boundary_location_selected; } Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceTest.cs =================================================================== diff -u -r3a89e41054c6cfe6babdc150e8282cbe4a6dc672 -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceTest.cs (.../WaveConditionsCalculationServiceTest.cs) (revision 3a89e41054c6cfe6babdc150e8282cbe4a6dc672) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceTest.cs (.../WaveConditionsCalculationServiceTest.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) @@ -332,6 +332,7 @@ private static WaveConditionsCosineCalculationInput CreateInput(double waterLevel, double a, double b, double c, double norm, WaveConditionsInput input, bool useForeshore, bool useBreakWater) { return new WaveConditionsCosineCalculationInput(1, + input.Orientation, input.HydraulicBoundaryLocation.Id, norm, useForeshore ? @@ -370,6 +371,8 @@ } Assert.AreEqual(expectedInput.HydraulicBoundaryLocationId, actualInput.HydraulicBoundaryLocationId); + Assert.AreEqual(expectedInput.Section.SectionId, actualInput.Section.SectionId); + Assert.AreEqual(expectedInput.Section.CrossSectionNormal, actualInput.Section.CrossSectionNormal); HydraRingVariableAssert.AreEqual(expectedInput.Variables.ToArray(), actualInput.Variables.ToArray()); }