Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs =================================================================== diff -u -r9cd1f99915772a8d9990c31e281b70dd663b4e2d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision 9cd1f99915772a8d9990c31e281b70dd663b4e2d) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.ClosingStructures.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; @@ -31,9 +30,9 @@ namespace Ringtoets.ClosingStructures.Service { /// - /// for running a structures closure calculation. + /// for running a structures closure calculation. /// - public class ClosingStructuresCalculationActivity : HydraRingActivityBase + public class ClosingStructuresCalculationActivity : CalculatableActivity { private readonly StructuresCalculation calculation; private readonly ClosingStructuresCalculationService calculationService; Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationActivityTest.cs =================================================================== diff -u -rf7a5d22408a43c70b20a9eb5ee79cb336bacdf9e -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationActivityTest.cs (.../ClosingStructuresCalculationActivityTest.cs) (revision f7a5d22408a43c70b20a9eb5ee79cb336bacdf9e) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationActivityTest.cs (.../ClosingStructuresCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -48,7 +48,7 @@ var activity = new ClosingStructuresCalculationActivity(calculation, "", failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}'", activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs =================================================================== diff -u -r9aaddf5443eb1dfc7900a0893774feb9128a4275 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 9aaddf5443eb1dfc7900a0893774feb9128a4275) +++ Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -28,9 +28,9 @@ namespace Ringtoets.Common.Service { /// - /// for running a design water level calculation. + /// for running a design water level calculation. /// - public class DesignWaterLevelCalculationActivity : HydraRingActivityBase + public class DesignWaterLevelCalculationActivity : CalculatableActivity { private readonly double norm; private readonly string hydraulicBoundaryDatabaseFilePath; Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs =================================================================== diff -u -r9aaddf5443eb1dfc7900a0893774feb9128a4275 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision 9aaddf5443eb1dfc7900a0893774feb9128a4275) +++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -28,9 +28,9 @@ namespace Ringtoets.Common.Service { /// - /// for running a water height calculation. + /// for running a water height calculation. /// - public class WaveHeightCalculationActivity : HydraRingActivityBase + public class WaveHeightCalculationActivity : CalculatableActivity { private readonly double norm; private readonly string hydraulicBoundaryDatabaseFilePath; Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs =================================================================== diff -u -r695a6afe5bb2d4b770029c476c8cea049a6a6e59 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 695a6afe5bb2d4b770029c476c8cea049a6a6e59) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -93,7 +93,7 @@ calculationMessageProvider); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreSame(activityDescription, activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs =================================================================== diff -u -r695a6afe5bb2d4b770029c476c8cea049a6a6e59 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision 695a6afe5bb2d4b770029c476c8cea049a6a6e59) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -33,6 +33,7 @@ using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Service.MessageProviders; using Ringtoets.Common.Service.TestUtil; +using Ringtoets.HydraRing.Calculation.Activities; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics; using Ringtoets.HydraRing.Calculation.TestUtil.Calculator; @@ -92,7 +93,7 @@ calculationMessageProvider); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreSame(activityDescription, activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivity.cs =================================================================== diff -u -r4de0a7661f9ad7c585f8c84693d9f0910d25249f -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivity.cs (.../DuneLocationCalculationActivity.cs) (revision 4de0a7661f9ad7c585f8c84693d9f0910d25249f) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivity.cs (.../DuneLocationCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -28,9 +28,9 @@ namespace Ringtoets.DuneErosion.Service { /// - /// for running a dune location calculation. + /// for running a dune location calculation. /// - public class DuneLocationCalculationActivity : HydraRingActivityBase + public class DuneLocationCalculationActivity : CalculatableActivity { private readonly DuneLocationCalculation duneLocationCalculation; private readonly string hydraulicBoundaryDatabaseFilePath; Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneLocationCalculationActivityTest.cs =================================================================== diff -u -r695a6afe5bb2d4b770029c476c8cea049a6a6e59 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneLocationCalculationActivityTest.cs (.../DuneLocationCalculationActivityTest.cs) (revision 695a6afe5bb2d4b770029c476c8cea049a6a6e59) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneLocationCalculationActivityTest.cs (.../DuneLocationCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -68,7 +68,7 @@ 1.0 / 30000); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreEqual($"Hydraulische randvoorwaarden berekenen voor locatie '{duneLocation.Name}'", activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs =================================================================== diff -u -r76948e8765899b35776102ecd211d3d7575a9e4d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs (.../GrassCoverErosionInwardsCalculationActivity.cs) (revision 76948e8765899b35776102ecd211d3d7575a9e4d) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationActivity.cs (.../GrassCoverErosionInwardsCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.HydraRing.Calculation.Activities; @@ -29,9 +28,9 @@ namespace Ringtoets.GrassCoverErosionInwards.Service { /// - /// for running a grass cover erosion inwards calculation. + /// for running a grass cover erosion inwards calculation. /// - public class GrassCoverErosionInwardsCalculationActivity : HydraRingActivityBase + public class GrassCoverErosionInwardsCalculationActivity : CalculatableActivity { private readonly GrassCoverErosionInwardsCalculation calculation; private readonly string hydraulicBoundaryDatabaseFilePath; @@ -54,14 +53,17 @@ { throw new ArgumentNullException(nameof(calculation)); } + if (hydraulicBoundaryDatabaseFilePath == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabaseFilePath)); } + if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); } + if (assessmentSection == null) { throw new ArgumentNullException(nameof(assessmentSection)); Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationActivityTest.cs =================================================================== diff -u -r76948e8765899b35776102ecd211d3d7575a9e4d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationActivityTest.cs (.../GrassCoverErosionInwardsCalculationActivityTest.cs) (revision 76948e8765899b35776102ecd211d3d7575a9e4d) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationActivityTest.cs (.../GrassCoverErosionInwardsCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -47,7 +47,7 @@ var activity = new GrassCoverErosionInwardsCalculationActivity(calculation, "", failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}'", activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs =================================================================== diff -u -rbe670ca6ad110cd393572f68c8b55621fbd30259 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs) (revision be670ca6ad110cd393572f68c8b55621fbd30259) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.GrassCoverErosionOutwards.Data; @@ -30,9 +29,9 @@ namespace Ringtoets.GrassCoverErosionOutwards.Service { /// - /// for running a grass cover erosion outwards wave conditions calculation. + /// for running a grass cover erosion outwards wave conditions calculation. /// - public class GrassCoverErosionOutwardsWaveConditionsCalculationActivity : HydraRingActivityBase + public class GrassCoverErosionOutwardsWaveConditionsCalculationActivity : CalculatableActivity { private readonly GrassCoverErosionOutwardsWaveConditionsCalculation calculation; private readonly string hlcdFilePath; Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityTest.cs =================================================================== diff -u -r43b7b00322555d3a683e41c53ecda3fd135c5c37 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityTest.cs) (revision 43b7b00322555d3a683e41c53ecda3fd135c5c37) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -47,7 +47,7 @@ var activity = new GrassCoverErosionOutwardsWaveConditionsCalculationActivity(calculation, string.Empty, failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Assert.AreEqual($"Golfcondities berekenen voor '{calculation.Name}'", activity.Description); Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs =================================================================== diff -u -r9cd1f99915772a8d9990c31e281b70dd663b4e2d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision 9cd1f99915772a8d9990c31e281b70dd663b4e2d) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.Structures; @@ -31,9 +30,9 @@ namespace Ringtoets.HeightStructures.Service { /// - /// for running a height structures calculation. + /// for running a height structures calculation. /// - public class HeightStructuresCalculationActivity : HydraRingActivityBase + public class HeightStructuresCalculationActivity : CalculatableActivity { private readonly StructuresCalculation calculation; private readonly string hydraulicBoundaryDatabaseFilePath; @@ -56,14 +55,17 @@ { throw new ArgumentNullException(nameof(calculation)); } + if (hydraulicBoundaryDatabaseFilePath == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabaseFilePath)); } + if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); } + if (assessmentSection == null) { throw new ArgumentNullException(nameof(assessmentSection)); Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationActivityTest.cs =================================================================== diff -u -r76948e8765899b35776102ecd211d3d7575a9e4d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationActivityTest.cs (.../HeightStructuresCalculationActivityTest.cs) (revision 76948e8765899b35776102ecd211d3d7575a9e4d) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationActivityTest.cs (.../HeightStructuresCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -26,6 +26,7 @@ using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Structures; using Ringtoets.HeightStructures.Data; +using Ringtoets.HydraRing.Calculation.Activities; namespace Ringtoets.HeightStructures.Service.Test { @@ -47,7 +48,7 @@ var activity = new HeightStructuresCalculationActivity(calculation, "", failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}'", activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/CalculatableActivity.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/CalculatableActivity.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/CalculatableActivity.cs (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -0,0 +1,70 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using Core.Common.Base.Service; +using Ringtoets.HydraRing.Calculation.Properties; + +namespace Ringtoets.HydraRing.Calculation.Activities +{ + /// + /// Base implementation of an for running calculations + /// of type . + /// + public abstract class CalculatableActivity : Activity + { + protected override void OnRun() + { + if (!Validate()) + { + State = ActivityState.Failed; + } + else + { + PerformCalculation(); + } + } + + /// + /// Updates the progress text using the parameters in a predefined format. + /// + /// A short description of the current step. + /// The number of the current step. + /// The total numbers of steps. + protected void UpdateProgressText(string currentStepName, int currentStep, int totalSteps) + { + ProgressText = string.Format(Resources.HydraRingActivityBase_UpdateProgressText_Step_0_of_TotalSteps_1_CurrentStepName_2, + currentStep, totalSteps, currentStepName); + } + + /// + /// Performs the calculation. May throw exceptions, which will result in a + /// state for the . + /// + protected abstract void PerformCalculation(); + + /// + /// Performs validation over the input of the . If the input is not valid + /// then false is returned and the problems are logged. + /// + /// true if no validation problems were found, false otherwise. + protected abstract bool Validate(); + } +} \ No newline at end of file Fisheye: Tag 57cf41dc262bf62fdf1dddc550884a2f79163d4e refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Activities/HydraRingActivityBase.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj =================================================================== diff -u -r1ad608d6d74fd2ee54be546f1ea368baf4c5db1d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 1ad608d6d74fd2ee54be546f1ea368baf4c5db1d) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -16,7 +16,7 @@ - + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/CalculatableActivityTest.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/CalculatableActivityTest.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/CalculatableActivityTest.cs (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -0,0 +1,115 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Base.Service; +using NUnit.Framework; +using Ringtoets.HydraRing.Calculation.Activities; + +namespace Ringtoets.HydraRing.Calculation.Test.Activities +{ + [TestFixture] + public class CalculatableActivityTest + { + [Test] + public void Constructor_ReturnsNewInstance() + { + // Call + var activity = new TestCalculatableActivity(); + + // Assert + Assert.IsInstanceOf(activity); + } + + [Test] + public void Run_NotValid_StateFailedCalculatedFalse() + { + // Setup + var activity = new TestCalculatableActivity(); + + // Call + activity.Run(); + + // Assert + Assert.AreEqual(activity.State, ActivityState.Failed); + Assert.IsFalse(activity.Calculated); + } + + [Test] + public void Run_IsValid_StateExecutedCalculatedTrue() + { + // Setup + var activity = new TestCalculatableActivity + { + IsValid = true + }; + + // Call + activity.Run(); + + // Assert + Assert.AreEqual(activity.State, ActivityState.Executed); + Assert.IsTrue(activity.Calculated); + } + + [Test] + public void UpdateProgressText_Always_SetsProgressTextWithFormat() + { + // Setup + var activity = new TestCalculatableActivity(); + const string currentStepName = "Some step name."; + int totalStep = new Random(21).Next(); + int currentStep = new Random(21).Next(); + + // Call + activity.PublicUpdateProgressText(currentStepName, currentStep, totalStep); + + // Assert + Assert.AreEqual($"Stap {currentStep} van {totalStep} | {currentStepName}", activity.ProgressText); + } + } + + public class TestCalculatableActivity : CalculatableActivity + { + public bool Calculated { get; private set; } + + public bool IsValid { private get; set; } + + public void PublicUpdateProgressText(string currentStepName, int currentStep, int totalStep) + { + UpdateProgressText(currentStepName, currentStep, totalStep); + } + + protected override void OnCancel() {} + + protected override void OnFinish() {} + + protected override void PerformCalculation() + { + Calculated = true; + } + + protected override bool Validate() + { + return IsValid; + } + } +} \ No newline at end of file Fisheye: Tag 57cf41dc262bf62fdf1dddc550884a2f79163d4e refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Activities/HydraRingActivityBaseTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj =================================================================== diff -u -r1ad608d6d74fd2ee54be546f1ea368baf4c5db1d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 1ad608d6d74fd2ee54be546f1ea368baf4c5db1d) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -24,7 +24,7 @@ - + Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/StabilityPointStructuresCalculationActivity.cs =================================================================== diff -u -r9cd1f99915772a8d9990c31e281b70dd663b4e2d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/StabilityPointStructuresCalculationActivity.cs (.../StabilityPointStructuresCalculationActivity.cs) (revision 9cd1f99915772a8d9990c31e281b70dd663b4e2d) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/StabilityPointStructuresCalculationActivity.cs (.../StabilityPointStructuresCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.Structures; @@ -31,9 +30,9 @@ namespace Ringtoets.StabilityPointStructures.Service { /// - /// for running a structures stability point calculation. + /// for running a structures stability point calculation. /// - public class StabilityPointStructuresCalculationActivity : HydraRingActivityBase + public class StabilityPointStructuresCalculationActivity : CalculatableActivity { private readonly StructuresCalculation calculation; private readonly StabilityPointStructuresCalculationService calculationService; Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresCalculationActivityTest.cs =================================================================== diff -u -rf7a5d22408a43c70b20a9eb5ee79cb336bacdf9e -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresCalculationActivityTest.cs (.../StabilityPointStructuresCalculationActivityTest.cs) (revision f7a5d22408a43c70b20a9eb5ee79cb336bacdf9e) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresCalculationActivityTest.cs (.../StabilityPointStructuresCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -48,7 +48,7 @@ var activity = new StabilityPointStructuresCalculationActivity(calculation, "", failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.AreEqual($"Uitvoeren van berekening '{calculation.Name}'", activity.Description); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs =================================================================== diff -u -rb9bc80f092532ba74f554ee960161a06b4ddaf91 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs (.../StabilityStoneCoverWaveConditionsCalculationActivity.cs) (revision b9bc80f092532ba74f554ee960161a06b4ddaf91) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverWaveConditionsCalculationActivity.cs (.../StabilityStoneCoverWaveConditionsCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.HydraRing.Calculation.Activities; @@ -30,9 +29,9 @@ namespace Ringtoets.StabilityStoneCover.Service { /// - /// for running a stability stone cover wave conditions calculation. + /// for running a stability stone cover wave conditions calculation. /// - public class StabilityStoneCoverWaveConditionsCalculationActivity : HydraRingActivityBase + public class StabilityStoneCoverWaveConditionsCalculationActivity : CalculatableActivity { private readonly StabilityStoneCoverWaveConditionsCalculation calculation; private readonly string hlcdFilePath; Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationActivityTest.cs =================================================================== diff -u -r76948e8765899b35776102ecd211d3d7575a9e4d -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationActivityTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityTest.cs) (revision 76948e8765899b35776102ecd211d3d7575a9e4d) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/StabilityStoneCoverWaveConditionsCalculationActivityTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -47,7 +47,7 @@ var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, string.Empty, failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Assert.AreEqual($"Golfcondities voor blokken en zuilen berekenen voor '{calculation.Name}'", activity.Description); Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/WaveImpactAsphaltCoverWaveConditionsCalculationActivity.cs =================================================================== diff -u -ref4b3fac5923a625dc7d6d74238039d6c628c198 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/WaveImpactAsphaltCoverWaveConditionsCalculationActivity.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivity.cs) (revision ef4b3fac5923a625dc7d6d74238039d6c628c198) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/WaveImpactAsphaltCoverWaveConditionsCalculationActivity.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivity.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.HydraRing.Calculation.Activities; @@ -30,9 +29,9 @@ namespace Ringtoets.WaveImpactAsphaltCover.Service { /// - /// for running a wave impact asphalt cover wave conditions calculation. + /// for running a wave impact asphalt cover wave conditions calculation. /// - public class WaveImpactAsphaltCoverWaveConditionsCalculationActivity : HydraRingActivityBase + public class WaveImpactAsphaltCoverWaveConditionsCalculationActivity : CalculatableActivity { private readonly WaveImpactAsphaltCoverWaveConditionsCalculation calculation; private readonly string hlcdFilePath; Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityTest.cs =================================================================== diff -u -r43b7b00322555d3a683e41c53ecda3fd135c5c37 -r57cf41dc262bf62fdf1dddc550884a2f79163d4e --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityTest.cs) (revision 43b7b00322555d3a683e41c53ecda3fd135c5c37) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityTest.cs) (revision 57cf41dc262bf62fdf1dddc550884a2f79163d4e) @@ -47,7 +47,7 @@ var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, string.Empty, failureMechanism, assessmentSection); // Assert - Assert.IsInstanceOf(activity); + Assert.IsInstanceOf(activity); Assert.IsNull(activity.ProgressText); Assert.AreEqual(ActivityState.None, activity.State); Assert.AreEqual($"Golfcondities berekenen voor '{calculation.Name}'", activity.Description);