Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs =================================================================== diff -u -re90324ad44fdf6e7af3a755239246727123a1591 -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision e90324ad44fdf6e7af3a755239246727123a1591) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -146,7 +146,7 @@ } [Test] - public void Calculate_CancelCalculationWithValidInput_CancelsCalculation() + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() { // Setup string validFilePath = Path.Combine(testDataPath, validFile); Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs =================================================================== diff -u -re90324ad44fdf6e7af3a755239246727123a1591 -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision e90324ad44fdf6e7af3a755239246727123a1591) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -146,7 +146,7 @@ } [Test] - public void Calculate_CancelCalculationWithValidInput_CancelsCalculation() + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() { // Setup string validFilePath = Path.Combine(testDataPath, validFile); Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -rb646e027b7b030947d7339c442d44810d9347893 -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision b646e027b7b030947d7339c442d44810d9347893) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -440,6 +440,35 @@ } [Test] + public void Calculate_CanceledCalculationWithValidInput_CancelsCalculator() + { + // Setup + GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetDefaultValidationInput(); + var grassCoverErosionOutwardsFailureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + + var mockRepository = new MockRepository(); + var assessmentSectionStub = CreateAssessmentSectionStub(grassCoverErosionOutwardsFailureMechanism, mockRepository); + mockRepository.ReplayAll(); + + using (new HydraRingCalculatorFactoryConfig()) + { + var testWaveConditionsCosineCalculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + var grassCoverErosionOutwardsWaveConditionsCalculationService = new GrassCoverErosionOutwardsWaveConditionsCalculationService(); + + // Call + grassCoverErosionOutwardsWaveConditionsCalculationService.Calculate(calculation, + grassCoverErosionOutwardsFailureMechanism, + assessmentSectionStub, + validFilePath); + grassCoverErosionOutwardsWaveConditionsCalculationService.Cancel(); + + // Assert + Assert.IsTrue(testWaveConditionsCosineCalculator.IsCanceled); + } + mockRepository.VerifyAll(); + } + + [Test] public void Calculate_WithValidInput_SetsOutput() { // Setup Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationServiceBase.cs =================================================================== diff -u -r6ddf92411860d3f692da3018e1662e633003e0a9 -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationServiceBase.cs (.../WaveConditionsCalculationServiceBase.cs) (revision 6ddf92411860d3f692da3018e1662e633003e0a9) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationServiceBase.cs (.../WaveConditionsCalculationServiceBase.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -101,7 +101,7 @@ } /// - /// Performs a wave conditoins calculation based on the supplied and returns the output. + /// Performs a wave conditions calculation based on the supplied and returns the output. /// Error and status information is logged during the execution of the operation. /// /// The name of the calculation. @@ -111,7 +111,7 @@ /// The 'c' factor decided on failure mechanism level. /// The norm to use as the target. /// The id of the assessment section for which calculations are performed. - /// The directory of the hydraulic boundary database. + /// The file path of the hydraulic boundary database. /// An of . protected IEnumerable CalculateWaveConditions(string calculationName, WaveConditionsInput waveConditionsInput, @@ -199,7 +199,7 @@ /// The directory of the hydraulic boundary database. /// The id of the assessment section for which calculations are performed. /// The name used for logging. - /// A if the calcultion was succesful; or null if it was canceled. + /// A if the calculation was succesful; or null if it was canceled. private WaveConditionsOutput CalculateWaterLevel(RoundedDouble waterLevel, RoundedDouble a, RoundedDouble b, Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceBaseTest.cs =================================================================== diff -u -r6ddf92411860d3f692da3018e1662e633003e0a9 -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceBaseTest.cs (.../WaveConditionsCalculationServiceBaseTest.cs) (revision 6ddf92411860d3f692da3018e1662e633003e0a9) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/WaveConditionsCalculationServiceBaseTest.cs (.../WaveConditionsCalculationServiceBaseTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -447,6 +447,44 @@ } } + [Test] + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() + { + // Setup + RoundedDouble waterLevel = new RoundedDouble(2, 4.00); + RoundedDouble a = (RoundedDouble)1.0; + RoundedDouble b = (RoundedDouble)0.8; + RoundedDouble c = (RoundedDouble)0.4; + int norm = 5; + var input = new WaveConditionsInput + { + HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 0, 0) + { + DesignWaterLevel = (RoundedDouble)4.2 + }, + ForeshoreProfile = CreateForeshoreProfile(), + UpperBoundaryRevetment = waterLevel, + LowerBoundaryRevetment = (RoundedDouble)3 + }; + + string hlcdDirectory = "C:/temp"; + string ringId = "11-1"; + string name = "test"; + + using (new HydraRingCalculatorFactoryConfig()) + { + var testCalculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + var service = new WaveConditionsCalculationService(); + + // Call + service.PublicCalculate(a, b, c, norm, input, hlcdDirectory, ringId, name); + service.Cancel(); + + // Assert + Assert.IsTrue(testCalculator.IsCanceled); + } + } + public enum CalculationType { NoForeshore, Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -re69acb9595f7bf1d202ddd1fb51934b66768b75d -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationServiceTest.cs (.../StabilityStoneCoverWaveConditionsCalculationServiceTest.cs) (revision e69acb9595f7bf1d202ddd1fb51934b66768b75d) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationServiceTest.cs (.../StabilityStoneCoverWaveConditionsCalculationServiceTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -68,10 +68,7 @@ using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, testFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, testFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -98,10 +95,7 @@ using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, testFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, testFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -128,10 +122,7 @@ using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -158,10 +149,7 @@ using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -184,17 +172,14 @@ // Setup var calculation = GetDefaultValidationInput(); calculation.InputParameters.LowerBoundaryRevetment = (RoundedDouble) lowerBoundaryRevetment; - calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble)upperBoundaryRevetment; + calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble) upperBoundaryRevetment; var isValid = true; using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -226,10 +211,7 @@ using (new HydraRingCalculatorFactoryConfig()) { // Call - Action call = () => - { - isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); - }; + Action call = () => { isValid = new StabilityStoneCoverWaveConditionsCalculationService().Validate(calculation, validFilePath); }; // Assert TestHelper.AssertLogMessages(call, messages => @@ -266,7 +248,7 @@ { // Call Action call = () => new StabilityStoneCoverWaveConditionsCalculationService().Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert TestHelper.AssertLogMessages(call, messages => @@ -335,7 +317,7 @@ { // Call Action call = () => new StabilityStoneCoverWaveConditionsCalculationService().Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert TestHelper.AssertLogMessages(call, messages => @@ -386,21 +368,21 @@ { var waterLevels = calculation.InputParameters.WaterLevels.ToArray(); int currentStep = 1; - var totalSteps = waterLevels.Length * 2; + var totalSteps = waterLevels.Length*2; var stabilityStoneCoverWaveConditionsCalculationService = new StabilityStoneCoverWaveConditionsCalculationService(); stabilityStoneCoverWaveConditionsCalculationService.OnProgress += (description, step, steps) => { // Assert - var text = string.Format("Waterstand '{0}' berekenen.", waterLevels[(step - 1) % waterLevels.Length]); + var text = string.Format("Waterstand '{0}' berekenen.", waterLevels[(step - 1)%waterLevels.Length]); Assert.AreEqual(text, description); Assert.AreEqual(currentStep++, step); Assert.AreEqual(totalSteps, steps); }; // Call stabilityStoneCoverWaveConditionsCalculationService.Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); } mockRepository.VerifyAll(); } @@ -422,7 +404,7 @@ // Call new StabilityStoneCoverWaveConditionsCalculationService().Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert WaveConditionsCosineCalculationInput[] testWaveConditionsInputs = testWaveConditionsCosineCalculator.ReceivedInputs.ToArray(); @@ -490,7 +472,7 @@ // Call stabilityStoneCoverWaveConditionsCalculationService.Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert Assert.IsFalse(calculation.HasOutput); @@ -499,6 +481,33 @@ } [Test] + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() + { + // Setup + StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverFailureMechanism stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + + var mockRepository = new MockRepository(); + var assessmentSectionStub = CreateAssessmentSectionStub(stabilityStoneCoverFailureMechanism, mockRepository); + mockRepository.ReplayAll(); + + using (new HydraRingCalculatorFactoryConfig()) + { + var testWaveConditionsCosineCalculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + var stabilityStoneCoverWaveConditionsCalculationService = new StabilityStoneCoverWaveConditionsCalculationService(); + + // Call + stabilityStoneCoverWaveConditionsCalculationService.Calculate(calculation, + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + stabilityStoneCoverWaveConditionsCalculationService.Cancel(); + + // Assert + Assert.IsTrue(testWaveConditionsCosineCalculator.IsCanceled); + } + mockRepository.VerifyAll(); + } + + [Test] public void Calculate_WithValidInput_SetsOutput() { // Setup @@ -513,7 +522,7 @@ { // Call new StabilityStoneCoverWaveConditionsCalculationService().Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert Assert.IsNotNull(calculation.Output); @@ -541,7 +550,7 @@ // Call TestDelegate test = () => new StabilityStoneCoverWaveConditionsCalculationService().Calculate(calculation, - assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); + assessmentSectionStub, stabilityStoneCoverFailureMechanism.GeneralInput, validFilePath); // Assert Assert.Throws(test); Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -re69acb9595f7bf1d202ddd1fb51934b66768b75d -ra42bae106b7a5afd5ffb2a405c1265828a323588 --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationServiceTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationServiceTest.cs) (revision e69acb9595f7bf1d202ddd1fb51934b66768b75d) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationServiceTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationServiceTest.cs) (revision a42bae106b7a5afd5ffb2a405c1265828a323588) @@ -440,6 +440,36 @@ } [Test] + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() + { + // Setup + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetDefaultValidationInput(); + var waveImpactAsphaltCoverFailureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); + + var mockRepository = new MockRepository(); + var assessmentSectionStub = CreateAssessmentSectionStub(waveImpactAsphaltCoverFailureMechanism, mockRepository); + mockRepository.ReplayAll(); + + using (new HydraRingCalculatorFactoryConfig()) + { + var testWaveConditionsCosineCalculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + var waveImpactAsphaltCoverWaveConditionsCalculationService = new WaveImpactAsphaltCoverWaveConditionsCalculationService(); + + + // Call + waveImpactAsphaltCoverWaveConditionsCalculationService.Calculate(calculation, + assessmentSectionStub, + waveImpactAsphaltCoverFailureMechanism.GeneralInput, + validFilePath); + waveImpactAsphaltCoverWaveConditionsCalculationService.Cancel(); + + // Assert + Assert.IsTrue(testWaveConditionsCosineCalculator.IsCanceled); + } + mockRepository.VerifyAll(); + } + + [Test] public void Calculate_WithValidInput_SetsOutput() { // Setup