Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionBoundaryCalculationServiceTest.cs =================================================================== diff -u -re42e447f875924e651c5b3359450ae145216c149 -rb002ca3566c04bde5fe85396b6e972c41ba3b9f1 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionBoundaryCalculationServiceTest.cs (.../DuneErosionBoundaryCalculationServiceTest.cs) (revision e42e447f875924e651c5b3359450ae145216c149) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionBoundaryCalculationServiceTest.cs (.../DuneErosionBoundaryCalculationServiceTest.cs) (revision b002ca3566c04bde5fe85396b6e972c41ba3b9f1) @@ -140,6 +140,48 @@ mocks.VerifyAll(); } + [Test] + public void Calculate_CancelCalculationWithValidInput_CancelsCalculator() + {// Setup + const double norm = 1.0 / 200; + const double contribution = 10; + const string ringId = "1"; + var failureMechanism = new DuneErosionFailureMechanism + { + Contribution = contribution + }; + + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + assessmentSection.Stub(a => a.Id).Return(ringId); + assessmentSection.Stub(a => a.GetFailureMechanisms()).Return(new[] + { + failureMechanism + }); + assessmentSection.Stub(a => a.FailureMechanismContribution).Return(new FailureMechanismContribution(new[] + { + failureMechanism + }, 1, norm)); + mocks.ReplayAll(); + + var duneLocation = new DuneLocation(1300001, "test", new Point2D(0, 0), 3, 0, 0, 0.000007); + + using (new HydraRingCalculatorFactoryConfig()) + { + var testCalculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).DunesBoundaryConditionsCalculator; + + var service = new DuneErosionBoundaryCalculationService(); + testCalculator.CalculationFinishedHandler += (s, e) => service.Cancel(); + + // Call + service.Calculate(duneLocation, failureMechanism, assessmentSection, validFilePath); + + // Assert + Assert.IsTrue(testCalculator.IsCanceled); + } + mocks.VerifyAll(); + } + private static void AssertInput(DunesBoundaryConditionsCalculationInput expectedInput, DunesBoundaryConditionsCalculationInput actualInput) { Assert.AreEqual(expectedInput.Section.SectionId, actualInput.Section.SectionId); Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj =================================================================== diff -u -re42e447f875924e651c5b3359450ae145216c149 -rb002ca3566c04bde5fe85396b6e972c41ba3b9f1 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj (.../Ringtoets.DuneErosion.Service.Test.csproj) (revision e42e447f875924e651c5b3359450ae145216c149) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj (.../Ringtoets.DuneErosion.Service.Test.csproj) (revision b002ca3566c04bde5fe85396b6e972c41ba3b9f1) @@ -48,6 +48,10 @@ + + ..\..\..\..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net40\System.Data.SQLite.dll + True + @@ -102,6 +106,13 @@ + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + +