Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/DesignWaterLevelCalculationTest.cs =================================================================== diff -u -r50af72c141113a242971eeeee1e6622c40d901f6 -rb461ea57ca863fd47810d2a27f40b54c9eab2187 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/DesignWaterLevelCalculationTest.cs (.../DesignWaterLevelCalculationTest.cs) (revision 50af72c141113a242971eeeee1e6622c40d901f6) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/DesignWaterLevelCalculationTest.cs (.../DesignWaterLevelCalculationTest.cs) (revision b461ea57ca863fd47810d2a27f40b54c9eab2187) @@ -30,30 +30,24 @@ [TestFixture] public class DesignWaterLevelCalculationTest { - private static IEnumerable HydraulicBoundaryLocationsToCalculate + private static IEnumerable HydraulicBoundaryLocationCalculationsToPerform { get { - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithOutputWithoutIllustrationPoints") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }, true); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithoutOutput"), true); + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation(), true); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithValidOutput") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = - { - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }, false); } } @@ -81,43 +75,36 @@ } [Test] - public void Constructor_ValidHydraulicBoundaryLocation_SetsProperties( - [Values(true, false)] bool calculateIllustrationPoints) + public void Constructor_ValidInputParameters_SetsProperties([Values(true, false)] bool calculateIllustrationPoints) { // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "name", 1, 1) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = calculateIllustrationPoints - } + ShouldIllustrationPointsBeCalculated = calculateIllustrationPoints } }; - HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation = hydraulicBoundaryLocation.DesignWaterLevelCalculation; - // Call var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.IsInstanceOf(calculation); Assert.AreEqual(hydraulicBoundaryLocation.Id, calculation.Id); Assert.AreSame(hydraulicBoundaryLocation.Name, calculation.Name); - Assert.AreEqual(hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated, calculation.CalculateIllustrationPoints); - Assert.AreSame(hydraulicBoundaryLocation, calculation.ObservableObject); } [Test] - [TestCaseSource(nameof(HydraulicBoundaryLocationsToCalculate))] - public void IsCalculated_NotFullyCalculated_ReturnIsCalculated(HydraulicBoundaryLocation hydraulicBoundaryLocation, + [TestCaseSource(nameof(HydraulicBoundaryLocationCalculationsToPerform))] + public void IsCalculated_NotFullyCalculated_ReturnIsCalculated(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation, bool shouldBeCalculated) { // Setup - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocation.DesignWaterLevelCalculation); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(), hydraulicBoundaryLocationCalculation); // Call bool isCalculated = calculation.IsCalculated(); @@ -131,14 +118,15 @@ { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocation.DesignWaterLevelCalculation); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var output = new TestHydraulicBoundaryLocationOutput(1); // Call calculation.Output = output; // Assert - Assert.AreSame(hydraulicBoundaryLocation.DesignWaterLevelCalculation.Output, output); + Assert.AreSame(hydraulicBoundaryLocationCalculation.Output, output); } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/WaveHeightCalculationTest.cs =================================================================== diff -u -r50af72c141113a242971eeeee1e6622c40d901f6 -rb461ea57ca863fd47810d2a27f40b54c9eab2187 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/WaveHeightCalculationTest.cs (.../WaveHeightCalculationTest.cs) (revision 50af72c141113a242971eeeee1e6622c40d901f6) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/WaveHeightCalculationTest.cs (.../WaveHeightCalculationTest.cs) (revision b461ea57ca863fd47810d2a27f40b54c9eab2187) @@ -30,30 +30,24 @@ [TestFixture] public class WaveHeightCalculationTest { - private static IEnumerable HydraulicBoundaryLocationsToCalculate + private static IEnumerable HydraulicBoundaryLocationCalculationsToPerform { get { - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithOutputWithoutIllustrationPoints") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }, true); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithoutOutput"), true); + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation(), true); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithValidOutput") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = - { - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }, false); } } @@ -81,43 +75,36 @@ } [Test] - public void Constructor_ValidHydraulicBoundaryLocation_SetsProperties( - [Values(true, false)] bool calculateIllustrationPoints) + public void Constructor_ValidInputParameters_SetsProperties([Values(true, false)] bool calculateIllustrationPoints) { // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "name", 1, 1) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = calculateIllustrationPoints - } + ShouldIllustrationPointsBeCalculated = calculateIllustrationPoints } }; - HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation = hydraulicBoundaryLocation.WaveHeightCalculation; - // Call var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); // Assert Assert.IsInstanceOf(calculation); Assert.AreEqual(hydraulicBoundaryLocation.Id, calculation.Id); Assert.AreSame(hydraulicBoundaryLocation.Name, calculation.Name); - Assert.AreEqual(hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated, calculation.CalculateIllustrationPoints); - Assert.AreSame(hydraulicBoundaryLocation, calculation.ObservableObject); } [Test] - [TestCaseSource(nameof(HydraulicBoundaryLocationsToCalculate))] - public void IsCalculated_HydraulicBoundaryLocationsToCalculate_ReturnIsCalculated( - HydraulicBoundaryLocation hydraulicBoundaryLocation, bool shouldBeCalculated) + [TestCaseSource(nameof(HydraulicBoundaryLocationCalculationsToPerform))] + public void IsCalculated_NotFullyCalculated_ReturnIsCalculated(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation, + bool shouldBeCalculated) { // Setup - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocation.WaveHeightCalculation); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(), hydraulicBoundaryLocationCalculation); // Call bool isCalculated = calculation.IsCalculated(); @@ -131,14 +118,15 @@ { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocation.WaveHeightCalculation); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var output = new TestHydraulicBoundaryLocationOutput(1); // Call calculation.Output = output; // Assert - Assert.AreSame(hydraulicBoundaryLocation.WaveHeightCalculation.Output, output); + Assert.AreSame(hydraulicBoundaryLocationCalculation.Output, output); } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs =================================================================== diff -u -rac96d7c315129af851634ed5a4a6800b59ede718 -rb461ea57ca863fd47810d2a27f40b54c9eab2187 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision ac96d7c315129af851634ed5a4a6800b59ede718) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision b461ea57ca863fd47810d2a27f40b54c9eab2187) @@ -49,23 +49,20 @@ private static readonly string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); private static readonly string validPreprocessorDirectory = TestHelper.GetScratchPadPath(); - private static IEnumerable HydraulicBoundaryLocationsToCalculate + private static IEnumerable HydraulicBoundaryLocationCalculationsToPerform { get { - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithOutputWithoutIllustrationPoints") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithoutOutput")); + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation()); } } @@ -82,14 +79,15 @@ const string locationName = "locationName"; const string activityDescription = "GetActivityDescription"; - var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new HydraulicBoundaryLocationCalculation(); + var designWaterLevelCalculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName), calculation); var calculationMessageProvider = mockRepository.StrictMock(); calculationMessageProvider.Expect(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); mockRepository.ReplayAll(); // Call - var activity = new DesignWaterLevelCalculationActivity(calculation, + var activity = new DesignWaterLevelCalculationActivity(designWaterLevelCalculation, validFilePath, validPreprocessorDirectory, 1, @@ -104,10 +102,10 @@ } [Test] - public void ParameteredConstructor_NullCalculationServiceMessageProvider_ThrowsArgumentNullException() + public void ParameteredConstructor_CalculationServiceMessageProviderNull_ThrowsArgumentNullException() { // Setup - var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(string.Empty)); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(), new HydraulicBoundaryLocationCalculation()); // Call TestDelegate call = () => new DesignWaterLevelCalculationActivity(calculation, @@ -149,7 +147,7 @@ const string locationName = "testLocation"; const string activityDescription = "activityDescription"; - var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.StrictMock(); calculationMessageProvider.Expect(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); @@ -186,7 +184,7 @@ const string locationName = "testLocation"; const string activityDescription = "activityDescription"; - var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.StrictMock(); calculationMessageProvider.Expect(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); @@ -223,7 +221,7 @@ const string activityDescription = "activityDescription"; const double norm = 1.0 / 30; - var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new DesignWaterLevelCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculator = new TestDesignWaterLevelCalculator { Converged = true @@ -290,7 +288,7 @@ Output = new TestHydraulicBoundaryLocationOutput(3.0, CalculationConvergence.CalculatedConverged) } }; - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); var activity = new DesignWaterLevelCalculationActivity(calculation, validFilePath, @@ -307,21 +305,23 @@ } [Test] - [TestCaseSource(nameof(HydraulicBoundaryLocationsToCalculate))] - public void Run_ValidCalculationAndRun_SetsDesignWaterLevelAndConvergence(HydraulicBoundaryLocation hydraulicBoundaryLocation) + [TestCaseSource(nameof(HydraulicBoundaryLocationCalculationsToPerform))] + public void Run_ValidCalculationAndRun_SetsDesignWaterLevelAndConvergence(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) { // Setup const double norm = 1.0 / 30; const double expectedDesignWaterLevel = 3.5; - string locationName = hydraulicBoundaryLocation.Name; + const string locationName = "Test"; + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var calculator = new TestDesignWaterLevelCalculator { DesignWaterLevel = expectedDesignWaterLevel, Converged = true }; - if (hydraulicBoundaryLocation.DesignWaterLevelCalculation.InputParameters.ShouldIllustrationPointsBeCalculated) + if (hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated) { calculator.IllustrationPointsResult = new TestGeneralResult(); } @@ -332,7 +332,7 @@ calculationMessageProvider.Expect(calc => calc.GetActivityDescription(locationName)).Return(string.Empty); mockRepository.ReplayAll(); - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var activity = new DesignWaterLevelCalculationActivity(calculation, validFilePath, @@ -347,7 +347,7 @@ } // Assert - HydraulicBoundaryLocationOutput calculationOutput = hydraulicBoundaryLocation.DesignWaterLevelCalculation.Output; + HydraulicBoundaryLocationOutput calculationOutput = hydraulicBoundaryLocationCalculation.Output; Assert.IsNotNull(calculationOutput); Assert.AreEqual(expectedDesignWaterLevel, calculationOutput.Result, calculationOutput.Result.GetAccuracy()); Assert.AreEqual(CalculationConvergence.CalculatedConverged, calculationOutput.CalculationConvergence); @@ -390,19 +390,17 @@ mockRepository.ReplayAll(); var output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = output - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = output }; - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var activity = new DesignWaterLevelCalculationActivity(calculation, validFilePath, @@ -417,8 +415,8 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, failureMessage, 7); - Assert.AreSame(output, hydraulicBoundaryLocation.DesignWaterLevelCalculation.Output); - Assert.AreEqual(CalculationConvergence.CalculatedConverged, hydraulicBoundaryLocation.DesignWaterLevelCalculationConvergence); + Assert.AreSame(output, hydraulicBoundaryLocationCalculation.Output); + Assert.AreEqual(CalculationConvergence.CalculatedConverged, hydraulicBoundaryLocationCalculation.Output.CalculationConvergence); } mockRepository.VerifyAll(); } @@ -443,19 +441,17 @@ calculationMessageProvider.Expect(calc => calc.GetCalculatedNotConvergedMessage(locationName)).Return(calculationNotConvergedMessage); mockRepository.ReplayAll(); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - DesignWaterLevelCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged) }; - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); const double norm = 1.0 / 300; var activity = new DesignWaterLevelCalculationActivity(calculation, @@ -475,7 +471,7 @@ Assert.AreEqual(7, msgs.Length); StringAssert.StartsWith(calculationNotConvergedMessage, msgs[4]); }); - Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, hydraulicBoundaryLocation.DesignWaterLevelCalculationConvergence); + Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, hydraulicBoundaryLocationCalculation.Output.CalculationConvergence); } mockRepository.VerifyAll(); } @@ -512,7 +508,7 @@ } mockRepository.ReplayAll(); - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); const double norm = 1.0 / 30; var activity = new DesignWaterLevelCalculationActivity(calculation, @@ -541,7 +537,7 @@ { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); - var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation); + var calculation = new DesignWaterLevelCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.Stub(); var observer = mockRepository.StrictMock(); Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs =================================================================== diff -u -rac96d7c315129af851634ed5a4a6800b59ede718 -rb461ea57ca863fd47810d2a27f40b54c9eab2187 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision ac96d7c315129af851634ed5a4a6800b59ede718) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision b461ea57ca863fd47810d2a27f40b54c9eab2187) @@ -48,23 +48,20 @@ private static readonly string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); private static readonly string validPreprocessorDirectory = TestHelper.GetScratchPadPath(); - private static IEnumerable HydraulicBoundaryLocationsToCalculate + private static IEnumerable HydraulicBoundaryLocationCalculationsToPerform { get { - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithOutputWithoutIllustrationPoints") + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(1.0, CalculationConvergence.CalculatedConverged) }); - yield return new TestCaseData(new TestHydraulicBoundaryLocation("WithoutOutput")); + yield return new TestCaseData(new HydraulicBoundaryLocationCalculation()); } } @@ -81,14 +78,15 @@ const string locationName = "locationName"; const string activityDescription = "activityDescription"; - var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new HydraulicBoundaryLocationCalculation(); + var waveHeightCalculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName), calculation); var calculationMessageProvider = mockRepository.Stub(); calculationMessageProvider.Stub(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); mockRepository.ReplayAll(); // Call - var activity = new WaveHeightCalculationActivity(calculation, validFilePath, validPreprocessorDirectory, 1, calculationMessageProvider); + var activity = new WaveHeightCalculationActivity(waveHeightCalculation, validFilePath, validPreprocessorDirectory, 1, calculationMessageProvider); // Assert Assert.IsInstanceOf(activity); @@ -99,10 +97,10 @@ } [Test] - public void ParameteredConstructor_NullCalculationServiceMessageProvider_ThrowsArgumentNullException() + public void ParameteredConstructor_CalculationServiceMessageProviderNull_ThrowsArgumentNullException() { // Setup - var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(string.Empty)); + var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(), new HydraulicBoundaryLocationCalculation()); // Call TestDelegate call = () => new WaveHeightCalculationActivity(calculation, validFilePath, validPreprocessorDirectory, 1, null); @@ -136,7 +134,7 @@ const string locationName = "testLocation"; const string activityDescription = "activityDescription"; - var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.StrictMock(); calculationMessageProvider.Stub(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); @@ -168,7 +166,7 @@ const string locationName = "testLocation"; const string activityDescription = "activityDescription"; - var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.StrictMock(); calculationMessageProvider.Expect(calc => calc.GetActivityDescription(locationName)).Return(activityDescription); @@ -205,7 +203,7 @@ const string activityDescription = "activityDescription"; const double norm = 1.0 / 30; - var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName)); + var calculation = new WaveHeightCalculation(new TestHydraulicBoundaryLocation(locationName), new HydraulicBoundaryLocationCalculation()); var calculator = new TestWaveHeightCalculator { Converged = true @@ -245,6 +243,7 @@ Assert.AreEqual(calculation.Id, waveHeightCalculationInput.HydraulicBoundaryLocationId); Assert.AreEqual(StatisticsConverter.ProbabilityToReliability(norm), waveHeightCalculationInput.Beta); } + Assert.AreEqual(ActivityState.Executed, activity.State); mockRepository.VerifyAll(); } @@ -271,7 +270,7 @@ Output = new TestHydraulicBoundaryLocationOutput(3.0, CalculationConvergence.CalculatedConverged) } }; - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); var activity = new WaveHeightCalculationActivity(calculation, validFilePath, @@ -288,21 +287,23 @@ } [Test] - [TestCaseSource(nameof(HydraulicBoundaryLocationsToCalculate))] - public void Run_ValidCalculation_SetsWaveHeightAndConvergence(HydraulicBoundaryLocation hydraulicBoundaryLocation) + [TestCaseSource(nameof(HydraulicBoundaryLocationCalculationsToPerform))] + public void Run_ValidCalculation_SetsWaveHeightAndConvergence(HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) { // Setup const double norm = 1.0 / 30; const double expectedWaveHeight = 3.5; - string locationName = hydraulicBoundaryLocation.Name; + const string locationName = "Test"; + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var calculator = new TestWaveHeightCalculator { Converged = true, WaveHeight = expectedWaveHeight }; - if (hydraulicBoundaryLocation.WaveHeightCalculation.InputParameters.ShouldIllustrationPointsBeCalculated) + if (hydraulicBoundaryLocationCalculation.InputParameters.ShouldIllustrationPointsBeCalculated) { calculator.IllustrationPointsResult = new TestGeneralResult(); } @@ -313,7 +314,7 @@ calculationMessageProvider.Stub(calc => calc.GetActivityDescription(locationName)).Return(string.Empty); mockRepository.ReplayAll(); - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var activity = new WaveHeightCalculationActivity(calculation, validFilePath, @@ -328,7 +329,7 @@ } // Assert - HydraulicBoundaryLocationOutput calculationOutput = hydraulicBoundaryLocation.WaveHeightCalculation.Output; + HydraulicBoundaryLocationOutput calculationOutput = hydraulicBoundaryLocationCalculation.Output; Assert.IsNotNull(calculationOutput); Assert.AreEqual(expectedWaveHeight, calculationOutput.Result, calculationOutput.Result.GetAccuracy()); Assert.AreEqual(CalculationConvergence.CalculatedConverged, calculationOutput.CalculationConvergence); @@ -372,19 +373,17 @@ mockRepository.ReplayAll(); var output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = output - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = output }; - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); var activity = new WaveHeightCalculationActivity(calculation, validFilePath, @@ -399,9 +398,10 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, failureMessage, 7); - Assert.AreSame(output, hydraulicBoundaryLocation.WaveHeightCalculation.Output); - Assert.AreEqual(CalculationConvergence.CalculatedConverged, hydraulicBoundaryLocation.WaveHeightCalculationConvergence); + Assert.AreSame(output, hydraulicBoundaryLocationCalculation.Output); + Assert.AreEqual(CalculationConvergence.CalculatedConverged, hydraulicBoundaryLocationCalculation.Output.CalculationConvergence); } + mockRepository.VerifyAll(); } @@ -425,19 +425,17 @@ calculationMessageProvider.Stub(calc => calc.GetCalculatedNotConvergedMessage(locationName)).Return(calculationNotConvergedMessage); mockRepository.ReplayAll(); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0) + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(locationName); + var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation { - WaveHeightCalculation = + InputParameters = { - InputParameters = - { - ShouldIllustrationPointsBeCalculated = true - }, - Output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged) - } + ShouldIllustrationPointsBeCalculated = true + }, + Output = new TestHydraulicBoundaryLocationOutput(double.NaN, CalculationConvergence.CalculatedConverged) }; - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, hydraulicBoundaryLocationCalculation); const double norm = 1.0 / 300; var activity = new WaveHeightCalculationActivity(calculation, @@ -458,8 +456,9 @@ Assert.AreEqual(7, msgs.Length); StringAssert.StartsWith(calculationNotConvergedMessage, msgs[4]); }); - Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, hydraulicBoundaryLocation.WaveHeightCalculationConvergence); + Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, hydraulicBoundaryLocationCalculation.Output.CalculationConvergence); } + mockRepository.VerifyAll(); } @@ -492,10 +491,11 @@ { calculationMessageProvider.Stub(calc => calc.GetCalculationFailedWithErrorReportMessage(locationName, lastErrorFileContent)).Return(string.Empty); } + calculationMessageProvider.Stub(calc => calc.GetCalculatedNotConvergedMessage(locationName)).Return(string.Empty); mockRepository.ReplayAll(); - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); const double norm = 1.0 / 30; var activity = new WaveHeightCalculationActivity(calculation, @@ -512,6 +512,7 @@ // Assert Assert.AreEqual(ActivityState.Failed, activity.State); } + mockRepository.VerifyAll(); } @@ -524,7 +525,7 @@ { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); - var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation); + var calculation = new WaveHeightCalculation(hydraulicBoundaryLocation, new HydraulicBoundaryLocationCalculation()); var calculationMessageProvider = mockRepository.Stub(); var observer = mockRepository.StrictMock();