Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r1d64c85fa6d013812d3f38fa09ae4e7ec82480fe -re07044ef611f4a005447703ffba9f24b7c5acb90 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 1d64c85fa6d013812d3f38fa09ae4e7ec82480fe) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision e07044ef611f4a005447703ffba9f24b7c5acb90) @@ -31,12 +31,14 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.IO.FileImporters; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions; using Ringtoets.HydraRing.Calculation.TestUtil; using Ringtoets.HydraRing.Calculation.TestUtil.Calculator; using Ringtoets.HydraRing.Data; +using Ringtoets.Integration.Data; using Ringtoets.Revetment.Data; using Ringtoets.StabilityStoneCover.Data; using Ringtoets.StabilityStoneCover.Service; @@ -384,6 +386,65 @@ } [Test] + public void Run_UnexplainedErrorInCalculation_ActivityStateFailed() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + + using (var importer = new HydraulicBoundaryDatabaseImporter()) + { + importer.Import(assessmentSection, validFilePath); + } + + var failureMechanism = new StabilityStoneCoverFailureMechanism(); + + StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, failureMechanism, assessmentSection); + using (new HydraRingCalculatorFactoryConfig()) + { + var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + calculator.EndInFailure = true; + + // Call + activity.Run(); + + // Assert + Assert.AreEqual(ActivityState.Failed, activity.State); + } + } + + [Test] + public void Run_ErrorInCalculation_ActivityStateFailed() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + + using (var importer = new HydraulicBoundaryDatabaseImporter()) + { + importer.Import(assessmentSection, validFilePath); + } + + var failureMechanism = new StabilityStoneCoverFailureMechanism(); + + StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, failureMechanism, assessmentSection); + using (new HydraRingCalculatorFactoryConfig()) + { + var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveConditionsCosineCalculator; + calculator.EndInFailure = false; + calculator.LastErrorContent = "An error occured"; + + // Call + activity.Run(); + + // Assert + Assert.AreEqual(ActivityState.Failed, activity.State); + } + } + + [Test] public void Run_CalculationFailed_OutputNull() { // Setup