Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs
===================================================================
diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -re67d118d775751800b5fa699f9110ce311a02405
--- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision e67d118d775751800b5fa699f9110ce311a02405)
@@ -77,8 +77,7 @@
protected override void PerformCalculation()
{
calculationService.Calculate(hydraulicBoundaryLocationCalculation,
- hydraulicBoundaryDatabaseFilePath,
- preprocessorDirectory,
+ new HydraulicBoundaryCalculationSettings(string.Empty, string.Empty, string.Empty),
norm,
messageProvider);
}
Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs
===================================================================
diff -u -rdd0aafa3cc9668688c385d38a40c1ab86a1e068b -re67d118d775751800b5fa699f9110ce311a02405
--- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision dd0aafa3cc9668688c385d38a40c1ab86a1e068b)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision e67d118d775751800b5fa699f9110ce311a02405)
@@ -52,29 +52,28 @@
/// Performs a calculation for wave height.
///
/// The hydraulic boundary location calculation to perform.
- /// The path which points to the hydraulic boundary database file.
- /// The preprocessor directory.
/// The norm to use during the calculation.
+ /// The containing all data
+ /// to perform a hydraulic boundary calculation.
/// The object which is used to build log messages.
- /// Preprocessing is disabled when equals .
- /// Thrown when or
- /// is null.
+ /// Preprocessing is disabled when the preprocessor directory equals .
+ /// Thrown when ,
+ /// or is null.
/// Thrown when
///
- /// - contains invalid characters.
+ /// - the hydraulic boundary database filepath contains invalid characters.
/// - The target probability or the calculated probability falls outside the [0.0, 1.0] range and is not .
///
/// Thrown when:
///
- /// - No settings database file could be found at the location of
+ ///
- No settings database file could be found at the location of hydraulic boundary database file path
/// with the same name.
/// - Unable to open settings database file.
/// - Unable to read required data from database file.
///
/// Thrown when an error occurs while performing the calculation.
public void Calculate(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation,
- string hydraulicBoundaryDatabaseFilePath,
- string preprocessorDirectory,
+ HydraulicBoundaryCalculationSettings calculationSettings,
double norm,
ICalculationMessageProvider messageProvider)
{
@@ -83,6 +82,11 @@
throw new ArgumentNullException(nameof(hydraulicBoundaryLocationCalculation));
}
+ if (calculationSettings == null)
+ {
+ throw new ArgumentNullException(nameof(calculationSettings));
+ }
+
if (messageProvider == null)
{
throw new ArgumentNullException(nameof(messageProvider));
@@ -92,16 +96,14 @@
CalculationServiceHelper.LogCalculationBegin();
- var settings = new HydraRingCalculationSettings(hydraulicBoundaryDatabaseFilePath, preprocessorDirectory);
- calculator = HydraRingCalculatorFactory.Instance.CreateWaveHeightCalculator(settings);
+ calculator = HydraRingCalculatorFactory.Instance.CreateWaveHeightCalculator(HydraRingCalculationSettingsFactory.CreateSettings(calculationSettings));
var exceptionThrown = false;
try
{
PerformCalculation(hydraulicBoundaryLocationCalculation,
- hydraulicBoundaryDatabaseFilePath,
- !string.IsNullOrEmpty(preprocessorDirectory),
+ calculationSettings,
norm,
messageProvider);
}
@@ -150,27 +152,26 @@
/// Performs a calculation for the wave height.
///
/// The hydraulic boundary location calculation to perform.
- /// The path which points to the hydraulic boundary database file.
- /// Indicator whether to use the preprocessor in the calculation.
+ /// The containing all data
+ /// to perform a hydraulic boundary calculation.
/// The norm of the assessment section.
/// The object which is used to build log messages.
/// Thrown when:
///
- /// - No settings database file could be found at the location of
+ ///
- No settings database file could be found at the location of the hydraulic boundary database file path.
/// with the same name.
/// - Unable to open settings database file.
/// - Unable to read required data from database file.
///
/// Thrown when an error occurs while performing the calculation.
private void PerformCalculation(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation,
- string hydraulicBoundaryDatabaseFilePath,
- bool usePreprocessor,
+ HydraulicBoundaryCalculationSettings calculationSettings,
double norm,
ICalculationMessageProvider messageProvider)
{
HydraulicBoundaryLocation hydraulicBoundaryLocation = hydraulicBoundaryLocationCalculation.HydraulicBoundaryLocation;
- WaveHeightCalculationInput calculationInput = CreateInput(hydraulicBoundaryLocation.Id, norm, hydraulicBoundaryDatabaseFilePath, usePreprocessor);
+ WaveHeightCalculationInput calculationInput = CreateInput(hydraulicBoundaryLocation.Id, norm, calculationSettings);
calculator.Calculate(calculationInput);
@@ -265,28 +266,28 @@
///
/// The id of the hydraulic boundary location.
/// The norm to use during the calculation.
- /// The file path to the hydraulic
- /// boundary database.
- /// Indicator whether to use the preprocessor in the calculation.
+ /// The containing all data
+ /// to perform a hydraulic boundary calculation.
/// A .
- /// Thrown when the
+ /// Thrown when the hydraulic boundary location file path
/// contains invalid characters.
/// Thrown when:
///
- /// - No settings database file could be found at the location of
+ ///
- No settings database file could be found at the location of the hydraulic boundary database file path
/// with the same name.
/// - Unable to open settings database file.
/// - Unable to read required data from database file.
///
///
private static WaveHeightCalculationInput CreateInput(long hydraulicBoundaryLocationId,
double norm,
- string hydraulicBoundaryDatabaseFilePath,
- bool usePreprocessor)
+ HydraulicBoundaryCalculationSettings calculationSettings)
{
var waveHeightCalculationInput = new WaveHeightCalculationInput(1, hydraulicBoundaryLocationId, norm);
- HydraRingSettingsDatabaseHelper.AssignSettingsFromDatabase(waveHeightCalculationInput, hydraulicBoundaryDatabaseFilePath, usePreprocessor);
+ HydraRingSettingsDatabaseHelper.AssignSettingsFromDatabase(waveHeightCalculationInput,
+ calculationSettings.HydraulicBoundaryDatabaseFilePath,
+ !string.IsNullOrEmpty(calculationSettings.PreprocessorDirectory));
return waveHeightCalculationInput;
}
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs
===================================================================
diff -u -rdd0aafa3cc9668688c385d38a40c1ab86a1e068b -re67d118d775751800b5fa699f9110ce311a02405
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision dd0aafa3cc9668688c385d38a40c1ab86a1e068b)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision e67d118d775751800b5fa699f9110ce311a02405)
@@ -45,7 +45,8 @@
public class WaveHeightCalculationServiceTest
{
private static readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Integration.Service, "HydraRingCalculation");
- private static readonly string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite");
+ private static readonly string validHydraulicBoundaryDatabaseFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite");
+ private static readonly string validHlcdFilePath = Path.Combine(testDataPath, "Hlcd.sqlite");
private static readonly string validPreprocessorDirectory = TestHelper.GetScratchPadPath();
[Test]
@@ -68,8 +69,7 @@
// Call
TestDelegate test = () => new WaveHeightCalculationService().Calculate(null,
- testDataPath,
- validPreprocessorDirectory,
+ HydraulicBoundaryCalculationSettingsTestFactory.CreateSettings(),
1,
calculationMessageProvider);
@@ -80,12 +80,32 @@
}
[Test]
+ public void Calculate_CalculationSettingsNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mockRepository = new MockRepository();
+ var calculationMessageProvider = mockRepository.Stub();
+ mockRepository.ReplayAll();
+
+ // Call
+ TestDelegate call = () => new WaveHeightCalculationService().Calculate(new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()),
+ null,
+ 1,
+ calculationMessageProvider);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("calculationSettings", exception.ParamName);
+
+ mockRepository.VerifyAll();
+ }
+
+ [Test]
public void Calculate_MessageProviderNull_ThrowArgumentNullException()
{
// Call
TestDelegate test = () => new WaveHeightCalculationService().Calculate(new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()),
- string.Empty,
- string.Empty,
+ HydraulicBoundaryCalculationSettingsTestFactory.CreateSettings(),
1,
null);
@@ -97,64 +117,53 @@
[Test]
[TestCase(true)]
[TestCase(false)]
- public void Calculate_ValidWaveHeightCalculationAndConverges_StartsCalculationWithRightParametersAndLogs(bool readIllustrationPoints)
+ public void Calculate_ValidData_StartsCalculationWithRightParameters(bool usePreprocessor)
{
// Setup
const double norm = 1.0 / 30;
+ string preprocessorDirectory = usePreprocessor
+ ? validPreprocessorDirectory
+ : string.Empty;
var calculator = new TestWaveHeightCalculator
{
- IllustrationPointsResult = new TestGeneralResult(),
Converged = true
};
+ var calculationSettings = new HydraulicBoundaryCalculationSettings(validHydraulicBoundaryDatabaseFilePath,
+ validHlcdFilePath,
+ preprocessorDirectory);
+
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
.WhenCalled(invocation =>
{
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
+ var hydraRingCalculationSettings = (HydraRingCalculationSettings) invocation.Arguments[0];
+ HydraRingCalculationSettingsTestHelper.AssertHydraRingCalculationSettings(calculationSettings,
+ hydraRingCalculationSettings);
})
.Return(calculator);
var calculationMessageProvider = mockRepository.StrictMock();
mockRepository.ReplayAll();
var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation();
- var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation)
- {
- InputParameters =
- {
- ShouldIllustrationPointsBeCalculated = readIllustrationPoints
- }
- };
+ var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation);
using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
{
- Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
- norm,
- calculationMessageProvider);
+ new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
+ calculationSettings,
+ norm,
+ calculationMessageProvider);
// Assert
- TestHelper.AssertLogMessages(call, messages =>
- {
- string[] msgs = messages.ToArray();
- Assert.AreEqual(3, msgs.Length);
- CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[0]);
- Assert.AreEqual($"Golfhoogte berekening is uitgevoerd op de tijdelijke locatie '{calculator.OutputDirectory}'. " +
- "Gedetailleerde invoer en uitvoer kan in de bestanden op deze locatie worden gevonden.", msgs[1]);
- CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[2]);
- });
-
AssessmentLevelCalculationInput expectedInput = CreateInput(hydraulicBoundaryLocation.Id, norm);
- AssertInput(expectedInput, calculator.ReceivedInputs.Single());
+ WaveHeightCalculationInput actualInput = calculator.ReceivedInputs.Single();
+ AssertInput(expectedInput, actualInput);
Assert.IsFalse(calculator.IsCanceled);
- Assert.IsNotNull(hydraulicBoundaryLocationCalculation.Output);
- Assert.AreEqual(readIllustrationPoints, hydraulicBoundaryLocationCalculation.Output.HasGeneralResult);
+ Assert.AreEqual(usePreprocessor, actualInput.PreprocessorSetting.RunPreprocessor);
}
mockRepository.VerifyAll();
@@ -163,12 +172,9 @@
[Test]
[TestCase(true)]
[TestCase(false)]
- public void Calculate_ValidWaveHeightCalculationWithPreprocessorDirectory_StartsCalculationWithRightParameters(bool usePreprocessor)
+ public void Calculate_ValidWaveHeightCalculationAndConverges_SetsOutputAndLogs(bool readIllustrationPoints)
{
// Setup
- string preprocessorDirectory = usePreprocessor
- ? validPreprocessorDirectory
- : string.Empty;
var calculator = new TestWaveHeightCalculator
{
@@ -178,31 +184,44 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.StrictMock();
mockRepository.ReplayAll();
- var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation());
+ var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation();
+ var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation)
+ {
+ InputParameters =
+ {
+ ShouldIllustrationPointsBeCalculated = readIllustrationPoints
+ }
+ };
using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
{
- // Call
- new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- preprocessorDirectory,
- 1.0 / 30,
- calculationMessageProvider);
+ Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
+ CreateCalculationSettings(),
+ 1.0 / 30,
+ calculationMessageProvider);
// Assert
- Assert.AreEqual(usePreprocessor, calculator.ReceivedInputs.Single().PreprocessorSetting.RunPreprocessor);
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ string[] msgs = messages.ToArray();
+ Assert.AreEqual(3, msgs.Length);
+ CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[0]);
+ Assert.AreEqual($"Golfhoogte berekening is uitgevoerd op de tijdelijke locatie '{calculator.OutputDirectory}'. " +
+ "Gedetailleerde invoer en uitvoer kan in de bestanden op deze locatie worden gevonden.", msgs[1]);
+ CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[2]);
+ });
+
+ Assert.IsFalse(calculator.IsCanceled);
+ HydraulicBoundaryLocationCalculationOutput actualOutput = hydraulicBoundaryLocationCalculation.Output;
+ Assert.IsNotNull(actualOutput);
+ Assert.AreEqual(readIllustrationPoints, actualOutput.HasGeneralResult);
}
mockRepository.VerifyAll();
@@ -214,7 +233,6 @@
public void Calculate_ValidWaveHeightCalculationAndDoesNotConverge_SetsOutputAndLogs(bool readIllustrationPoints)
{
// Setup
- const double norm = 1.0 / 30;
const string locationName = "locationName";
const string failedConvergenceMessage = "failedConvergenceMessage";
@@ -226,13 +244,8 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.StrictMock();
@@ -253,9 +266,8 @@
Action call = () =>
{
new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
- norm,
+ CreateCalculationSettings(),
+ 1.0 / 30,
calculationMessageProvider);
};
@@ -271,12 +283,10 @@
CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[3]);
});
- AssessmentLevelCalculationInput expectedInput = CreateInput(hydraulicBoundaryLocation.Id, norm);
- AssertInput(expectedInput, calculator.ReceivedInputs.Single());
-
Assert.IsFalse(calculator.IsCanceled);
- Assert.IsNotNull(hydraulicBoundaryLocationCalculation.Output);
- Assert.AreEqual(readIllustrationPoints, hydraulicBoundaryLocationCalculation.Output.HasGeneralResult);
+ HydraulicBoundaryLocationCalculationOutput actualOutput = hydraulicBoundaryLocationCalculation.Output;
+ Assert.IsNotNull(actualOutput);
+ Assert.AreEqual(readIllustrationPoints, actualOutput.HasGeneralResult);
}
mockRepository.VerifyAll();
@@ -294,13 +304,8 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.StrictMock();
@@ -318,8 +323,7 @@
{
// Call
Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -360,13 +364,8 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.StrictMock();
@@ -384,8 +383,7 @@
{
// Call
Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -428,13 +426,8 @@
calculator.Stub(c => c.OutputDirectory).Return(string.Empty);
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.Stub();
@@ -447,8 +440,7 @@
{
// Call
TestDelegate call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -473,13 +465,8 @@
};
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.Stub();
@@ -497,8 +484,7 @@
{
// Call
Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -531,13 +517,8 @@
};
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.Stub();
@@ -549,8 +530,7 @@
{
// Call
Action call = () => new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -577,13 +557,8 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.Stub();
@@ -598,8 +573,7 @@
// Call
service.Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
@@ -629,13 +603,8 @@
var mockRepository = new MockRepository();
var calculatorFactory = mockRepository.StrictMock();
- calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(Arg.Is.NotNull))
- .WhenCalled(invocation =>
- {
- var settings = (HydraRingCalculationSettings) invocation.Arguments[0];
- Assert.AreEqual(validFilePath, settings.HlcdFilePath);
- Assert.AreEqual(validPreprocessorDirectory, settings.PreprocessorDirectory);
- })
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(null))
+ .IgnoreArguments()
.Return(calculator);
var calculationMessageProvider = mockRepository.Stub();
@@ -666,8 +635,7 @@
try
{
new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocationCalculation,
- validFilePath,
- validPreprocessorDirectory,
+ CreateCalculationSettings(),
1.0 / 30,
calculationMessageProvider);
}
@@ -695,6 +663,13 @@
mockRepository.VerifyAll();
}
+ private static HydraulicBoundaryCalculationSettings CreateCalculationSettings()
+ {
+ return new HydraulicBoundaryCalculationSettings(validHydraulicBoundaryDatabaseFilePath,
+ validHlcdFilePath,
+ string.Empty);
+ }
+
private static void AssertInput(AssessmentLevelCalculationInput expectedInput, HydraRingCalculationInput hydraRingCalculationInput)
{
Assert.AreEqual(expectedInput.Section.SectionId, hydraRingCalculationInput.Section.SectionId);