Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r29cd4757872926f61fce4ba52a46aea08889cbde -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 29cd4757872926f61fce4ba52a46aea08889cbde) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) @@ -487,6 +487,7 @@ // Call info.ContextMenuStrip(context, null, treeViewControl); } + // Assert // Assert expectancies are called in TearDown() } @@ -1072,7 +1073,7 @@ if (validCalculation) { - calculation.InputParameters.HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12); + calculation.InputParameters.HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(); calculation.InputParameters.LowerBoundaryRevetment = (RoundedDouble) 1.0; calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble) 10.0; calculation.InputParameters.StepSize = WaveConditionsInputStepSize.One; @@ -1151,7 +1152,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1228,7 +1229,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1305,7 +1306,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1926,13 +1927,24 @@ mocks.VerifyAll(); } + private static TestHydraulicBoundaryLocation CreateHydraulicBoundaryLocationWithNormativeOutput() + { + return new TestHydraulicBoundaryLocation + { + DesignWaterLevelCalculation3 = + { + Output = new TestHydraulicBoundaryLocationOutput(12) + } + }; + } + private static GrassCoverErosionOutwardsWaveConditionsCalculation GetValidCalculation() { return new GrassCoverErosionOutwardsWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(9.3), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true, Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -ra1cd38ca29f10b2f8718064a98f4802797a63579 -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision a1cd38ca29f10b2f8718064a98f4802797a63579) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) @@ -59,11 +59,11 @@ StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - string testFilePath = Path.Combine(testDataPath, "NonExisting.sqlite"); + string invalidFilePath = Path.Combine(testDataPath, "NonExisting.sqlite"); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, - testFilePath, + invalidFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); @@ -83,7 +83,7 @@ Assert.AreEqual(4, msgs.Length); Assert.AreEqual($"Golfcondities voor blokken en zuilen berekenen voor '{calculation.Name}' is gestart.", msgs[0]); CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]); - Assert.AreEqual($"Fout bij het lezen van bestand '{testFilePath}': het bestand bestaat niet.", msgs[2]); + Assert.AreEqual($"Fout bij het lezen van bestand '{invalidFilePath}': het bestand bestaat niet.", msgs[2]); CalculationServiceTestHelper.AssertValidationEndMessage(msgs[3]); }); Assert.AreEqual(ActivityState.Failed, activity.State); Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r29cd4757872926f61fce4ba52a46aea08889cbde -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 29cd4757872926f61fce4ba52a46aea08889cbde) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) @@ -473,6 +473,7 @@ // Call info.ContextMenuStrip(context, null, treeViewControl); } + // Assert orderedMocks.VerifyAll(); } @@ -1046,7 +1047,7 @@ if (validCalculation) { - calculation.InputParameters.HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12.0); + calculation.InputParameters.HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(); calculation.InputParameters.LowerBoundaryRevetment = (RoundedDouble) 1.0; calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble) 10.0; calculation.InputParameters.StepSize = WaveConditionsInputStepSize.One; @@ -1363,7 +1364,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1440,7 +1441,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1516,7 +1517,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1832,13 +1833,24 @@ base.TearDown(); } + private static TestHydraulicBoundaryLocation CreateHydraulicBoundaryLocationWithNormativeOutput() + { + return new TestHydraulicBoundaryLocation + { + DesignWaterLevelCalculation3 = + { + Output = new TestHydraulicBoundaryLocationOutput(12) + } + }; + } + private static StabilityStoneCoverWaveConditionsCalculation GetValidCalculation() { return new StabilityStoneCoverWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(9.3), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true, Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r622c96acdca432aaff5fb8c796076e91f5409068 -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 622c96acdca432aaff5fb8c796076e91f5409068) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) @@ -32,7 +32,6 @@ using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.TestUtil; -using Ringtoets.Common.IO.FileImporters; using Ringtoets.Common.Service.TestUtil; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data; @@ -57,37 +56,18 @@ public void Run_CalculationWithInvalidHydraulicBoundaryDatabaseFilePath_DoesNotPerformCalculationAndLogsError() { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation - { - InputParameters = - { - ForeshoreProfile = new TestForeshoreProfile(true), - UseForeshore = true, - UseBreakWater = true, - StepSize = WaveConditionsInputStepSize.Half, - LowerBoundaryRevetment = (RoundedDouble) 5.3, - UpperBoundaryRevetment = (RoundedDouble) 10, - UpperBoundaryWaterLevels = (RoundedDouble) 5.4, - LowerBoundaryWaterLevels = (RoundedDouble) 5 - } - }; + string invalidFilePath = Path.Combine(testDataPath, "NonExisting.sqlite"); - string testFilePath = Path.Combine(testDataPath, "NonExisting.sqlite"); var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, - testFilePath, + invalidFilePath, assessmentSection.WaveImpactAsphaltCover, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(nrOfCalculators); mockRepository.ReplayAll(); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) @@ -102,7 +82,7 @@ Assert.AreEqual(4, msgs.Length); Assert.AreEqual($"Golfcondities berekenen voor '{calculation.Name}' is gestart.", msgs[0]); CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]); - Assert.AreEqual($"Fout bij het lezen van bestand '{testFilePath}': het bestand bestaat niet.", msgs[2]); + Assert.AreEqual($"Fout bij het lezen van bestand '{invalidFilePath}': het bestand bestaat niet.", msgs[2]); CalculationServiceTestHelper.AssertValidationEndMessage(msgs[3]); }); Assert.AreEqual(ActivityState.Failed, activity.State); @@ -115,44 +95,20 @@ public void Run_CalculationWithInvalidPreprocessorDirectory_DoesNotPerformCalculationAndLogsError() { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) - { - HydraulicBoundaryDatabase = - { - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = "InvalidPreprocessorDirectory" - } - }; + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation - { - InputParameters = - { - ForeshoreProfile = new TestForeshoreProfile(true), - UseForeshore = true, - UseBreakWater = true, - StepSize = WaveConditionsInputStepSize.Half, - LowerBoundaryRevetment = (RoundedDouble) 5.3, - UpperBoundaryRevetment = (RoundedDouble) 10, - UpperBoundaryWaterLevels = (RoundedDouble) 5.4, - LowerBoundaryWaterLevels = (RoundedDouble) 5 - } - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, assessmentSection.WaveImpactAsphaltCover, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(nrOfCalculators); mockRepository.ReplayAll(); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) @@ -180,17 +136,15 @@ public void Run_Always_SetProgressTexts() { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - ImportHydraulicBoundaryDatabase(assessmentSection); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, assessmentSection.WaveImpactAsphaltCover, assessmentSection); - RoundedDouble[] waterLevels = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); int nrOfCalculators = waterLevels.Length; var mockRepository = new MockRepository(); @@ -227,10 +181,9 @@ public void Run_Always_InputPropertiesCorrectlySendToService(BreakWaterType breakWaterType) { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - ImportHydraulicBoundaryDatabase(assessmentSection); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); calculation.InputParameters.BreakWater.Type = breakWaterType; var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, @@ -239,7 +192,7 @@ assessmentSection); var calculator = new TestWaveConditionsCosineCalculator(); - RoundedDouble[] waterLevels = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); int nrOfCalculators = waterLevels.Length; var mockRepository = new MockRepository(); @@ -287,11 +240,9 @@ public void Cancel_WhenPerformingCalculation_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - ImportHydraulicBoundaryDatabase(assessmentSection); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, assessmentSection.WaveImpactAsphaltCover, @@ -317,7 +268,7 @@ TestHelper.AssertLogMessages(() => activity.Run(), messages => { string[] msgs = messages.ToArray(); - RoundedDouble firstWaterLevel = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).First(); + RoundedDouble firstWaterLevel = GetWaterLevels(calculation, assessmentSection).First(); Assert.AreEqual(8, msgs.Length); Assert.AreEqual($"Golfcondities berekenen voor '{calculation.Name}' is gestart.", msgs[0]); @@ -344,11 +295,9 @@ public void Run_CalculationFailed_OutputNull(bool endInFailure, string lastErrorFileContent) { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - ImportHydraulicBoundaryDatabase(assessmentSection); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, assessmentSection.WaveImpactAsphaltCover, @@ -359,7 +308,7 @@ EndInFailure = endInFailure, LastErrorFileContent = lastErrorFileContent }; - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -389,18 +338,14 @@ public void Run_ErrorInCalculation_ActivityStateFailed(bool endInFailure, string lastErrorFileContent) { // Setup - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - using (var importer = new HydraulicBoundaryDatabaseImporter()) - { - importer.Import(assessmentSection, validFilePath); - } - var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, failureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -415,7 +360,6 @@ .Times(nrOfCalculators); mockRepository.ReplayAll(); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, failureMechanism, assessmentSection); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call @@ -432,28 +376,19 @@ public void Run_HydraulicBoundaryDatabaseWithCanUsePreprocessorFalse_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); + var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) - { - HydraulicBoundaryDatabase = - { - FilePath = validFilePath, - Locations = - { - new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0) - } - } - }; - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, waveImpactAsphaltCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -475,31 +410,22 @@ public void Run_HydraulicBoundaryDatabaseWithUsePreprocessorTrue_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); - var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) - { - HydraulicBoundaryDatabase = - { - FilePath = validFilePath, - Locations = - { - new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0) - }, - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = validPreprocessorDirectory - } - }; + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = validPreprocessorDirectory; + var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); + var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, waveImpactAsphaltCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, validPreprocessorDirectory)) .Return(new TestWaveConditionsCosineCalculator()) @@ -521,31 +447,22 @@ public void Run_HydraulicBoundaryDatabaseWithUsePreprocessorFalse_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); - var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) - { - HydraulicBoundaryDatabase = - { - FilePath = validFilePath, - Locations = - { - new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0) - }, - CanUsePreprocessor = true, - UsePreprocessor = false, - PreprocessorDirectory = "NonExistingPreprocessorDirectory" - } - }; + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = false; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "NonExistingPreprocessorDirectory"; + var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); + var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, validFilePath, waveImpactAsphaltCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -563,13 +480,13 @@ mockRepository.VerifyAll(); } - private static WaveImpactAsphaltCoverWaveConditionsCalculation GetValidCalculation(AssessmentSection assessmentSection) + private static WaveImpactAsphaltCoverWaveConditionsCalculation CreateValidCalculation() { - var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation + return new WaveImpactAsphaltCoverWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001), + HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0), ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true, @@ -580,18 +497,28 @@ LowerBoundaryWaterLevels = (RoundedDouble) 7.1 } }; - calculation.InputParameters.HydraulicBoundaryLocation.DesignWaterLevelCalculation1.Output = new TestHydraulicBoundaryLocationOutput(9.3); - return calculation; } - private static void ImportHydraulicBoundaryDatabase(AssessmentSection assessmentSection) + private static AssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput(HydraulicBoundaryLocation hydraulicBoundaryLocation) { - string filePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); + hydraulicBoundaryLocation.DesignWaterLevelCalculation3.Output = new TestHydraulicBoundaryLocationOutput(9.3); - using (var importer = new HydraulicBoundaryDatabaseImporter()) + return new AssessmentSection(AssessmentSectionComposition.Dike) { - importer.Import(assessmentSection, filePath); - } + HydraulicBoundaryDatabase = + { + FilePath = validFilePath, + Locations = + { + hydraulicBoundaryLocation + } + } + }; } + + private static IEnumerable GetWaterLevels(WaveImpactAsphaltCoverWaveConditionsCalculation calculation, AssessmentSection assessmentSection) + { + return calculation.InputParameters.GetWaterLevels(assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation)); + } } } \ No newline at end of file Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r80de235bcb060dec1747e166ac28c1c8db92a20a -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 80de235bcb060dec1747e166ac28c1c8db92a20a) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; @@ -467,6 +468,7 @@ // Call info.ContextMenuStrip(context, null, treeViewControl); } + // Assert orderedMocks.VerifyAll(); } @@ -1005,13 +1007,7 @@ if (validCalculation) { - calculation.InputParameters.HydraulicBoundaryLocation = new TestHydraulicBoundaryLocation - { - DesignWaterLevelCalculation1 = - { - Output = new TestHydraulicBoundaryLocationOutput(12) - } - }; + calculation.InputParameters.HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(); calculation.InputParameters.LowerBoundaryRevetment = (RoundedDouble) 1.0; calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble) 10.0; calculation.InputParameters.StepSize = WaveConditionsInputStepSize.One; @@ -1089,7 +1085,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1166,7 +1162,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1242,7 +1238,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(12), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1598,7 +1594,9 @@ gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); gui.Stub(g => g.MainWindow).Return(mainWindow); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count(); + RoundedDouble normativeAssessmentLevel = assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation); + IEnumerable waterLevels = calculation.InputParameters.GetWaterLevels(normativeAssessmentLevel); + int nrOfCalculators = waterLevels.Count(); var calculatorFactory = mocks.Stub(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -1812,13 +1810,24 @@ base.TearDown(); } + private static TestHydraulicBoundaryLocation CreateHydraulicBoundaryLocationWithNormativeOutput() + { + return new TestHydraulicBoundaryLocation + { + DesignWaterLevelCalculation3 = + { + Output = new TestHydraulicBoundaryLocationOutput(12) + } + }; + } + private static WaveImpactAsphaltCoverWaveConditionsCalculation GetValidCalculation() { var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(9.3), + HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true,