Fisheye: Tag 1226447b1a4b2e83dff18412e7f5a9cfa5b44f53 refers to a dead (removed) revision in file `Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/DuneErosionBoundaryCalculationActivityIntegrationTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/DuneLocationCalculationActivityIntegrationTest.cs
===================================================================
diff -u
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/DuneLocationCalculationActivityIntegrationTest.cs (revision 0)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/DuneLocationCalculationActivityIntegrationTest.cs (revision 1226447b1a4b2e83dff18412e7f5a9cfa5b44f53)
@@ -0,0 +1,158 @@
+// 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 System.IO;
+using System.Linq;
+using Core.Common.Base.Service;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Service.TestUtil;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.DuneErosion.Data.TestUtil;
+using Ringtoets.DuneErosion.Service;
+using Ringtoets.HydraRing.Calculation.Calculator.Factory;
+using Ringtoets.HydraRing.Calculation.TestUtil.Calculator;
+
+namespace Ringtoets.DuneErosion.Integration.Test
+{
+ [TestFixture]
+ public class DuneLocationCalculationActivityIntegrationTest
+ {
+ private static readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Integration.Service, "HydraRingCalculation");
+ private static readonly string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite");
+ private static readonly string validPreprocessorDirectory = TestHelper.GetScratchPadPath();
+
+ [Test]
+ public void Run_ValidCalculation_PerformCalculationAndLogStartAndEnd()
+ {
+ // Setup
+ var mockRepository = new MockRepository();
+ var calculatorFactory = mockRepository.StrictMock();
+ calculatorFactory.Expect(cf => cf.CreateDunesBoundaryConditionsCalculator(testDataPath, validPreprocessorDirectory))
+ .Return(new TestDunesBoundaryConditionsCalculator());
+ mockRepository.ReplayAll();
+
+ var duneLocation = new TestDuneLocation("A dune location name");
+ var duneLocationCalculation = new DuneLocationCalculation(duneLocation);
+ var activity = new DuneLocationCalculationActivity(duneLocationCalculation,
+ validFilePath,
+ validPreprocessorDirectory,
+ 1.0 / 30000);
+
+ using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
+ {
+ // Call
+ Action call = () => activity.Run();
+
+ // Assert
+ TestHelper.AssertLogMessages(call,
+ messages =>
+ {
+ string[] msgs = messages.ToArray();
+ Assert.AreEqual(7, msgs.Length);
+
+ Assert.AreEqual($"Hydraulische randvoorwaarden berekenen voor locatie '{duneLocation.Name}' is gestart.", msgs[0]);
+ CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]);
+ CalculationServiceTestHelper.AssertValidationEndMessage(msgs[2]);
+ CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[3]);
+ Assert.AreEqual($"Hydraulische randvoorwaarden berekening voor locatie '{duneLocation.Name}' is niet geconvergeerd.", msgs[4]);
+ StringAssert.StartsWith("Hydraulische randvoorwaarden berekening is uitgevoerd op de tijdelijke locatie", msgs[5]);
+ CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[6]);
+ });
+ Assert.AreEqual(ActivityState.Executed, activity.State);
+ }
+
+ mockRepository.VerifyAll();
+ }
+
+ [Test]
+ [TestCaseSource(typeof(HydraRingCalculatorTestCaseProvider), nameof(HydraRingCalculatorTestCaseProvider.GetCalculatorFailingConditions), new object[]
+ {
+ nameof(Run_InvalidCalculationAndRan_PerformCalculationAndActivityStateFailed)
+ })]
+ public void Run_InvalidCalculationAndRan_PerformCalculationAndActivityStateFailed(bool endInFailure,
+ string lastErrorFileContent)
+ {
+ // Setup
+ var calculator = new TestDunesBoundaryConditionsCalculator
+ {
+ EndInFailure = endInFailure,
+ LastErrorFileContent = lastErrorFileContent
+ };
+
+ var mockRepository = new MockRepository();
+ var calculatorFactory = mockRepository.StrictMock();
+ calculatorFactory.Expect(cf => cf.CreateDunesBoundaryConditionsCalculator(testDataPath, validPreprocessorDirectory))
+ .Return(calculator);
+ mockRepository.ReplayAll();
+
+ var duneLocationCalculation = new DuneLocationCalculation(new TestDuneLocation());
+ var activity = new DuneLocationCalculationActivity(duneLocationCalculation,
+ validFilePath,
+ validPreprocessorDirectory,
+ 1.0 / 30000);
+
+ using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
+ {
+ // Call
+ activity.Run();
+
+ // Assert
+ Assert.AreEqual(ActivityState.Failed, activity.State);
+ }
+
+ mockRepository.VerifyAll();
+ }
+
+ [Test]
+ public void Run_CalculationAlreadyPerformed_CalculationNotPerformedAndActivityStateSkipped()
+ {
+ // Setup
+ var mockRepository = new MockRepository();
+ var calculatorFactory = mockRepository.StrictMock();
+ mockRepository.ReplayAll();
+
+ var initialOutput = new TestDuneLocationCalculationOutput();
+ var duneLocationCalculation = new DuneLocationCalculation(new TestDuneLocation())
+ {
+ Output = initialOutput
+ };
+ var activity = new DuneLocationCalculationActivity(duneLocationCalculation,
+ validFilePath,
+ validPreprocessorDirectory,
+ 1.0 / 30000);
+
+ using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
+ {
+ // Call
+ activity.Run();
+
+ // Assert
+ Assert.AreEqual(ActivityState.Skipped, activity.State);
+ Assert.AreSame(initialOutput, duneLocationCalculation.Output);
+ }
+
+ mockRepository.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/Ringtoets.DuneErosion.Integration.Test.csproj
===================================================================
diff -u -r8b8e62bfddfca997d2ed5df4a0c9c72648f1b5b4 -r1226447b1a4b2e83dff18412e7f5a9cfa5b44f53
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/Ringtoets.DuneErosion.Integration.Test.csproj (.../Ringtoets.DuneErosion.Integration.Test.csproj) (revision 8b8e62bfddfca997d2ed5df4a0c9c72648f1b5b4)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Integration.Test/Ringtoets.DuneErosion.Integration.Test.csproj (.../Ringtoets.DuneErosion.Integration.Test.csproj) (revision 1226447b1a4b2e83dff18412e7f5a9cfa5b44f53)
@@ -24,7 +24,7 @@
-
+
Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs
===================================================================
diff -u -rb4ef5ef0339a13b0996d567c6d4347c4441a62cc -r1226447b1a4b2e83dff18412e7f5a9cfa5b44f53
--- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision b4ef5ef0339a13b0996d567c6d4347c4441a62cc)
+++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 1226447b1a4b2e83dff18412e7f5a9cfa5b44f53)
@@ -57,7 +57,7 @@
Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition);
AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection);
AssertHydraulicBoundaryOutput(assessmentSection, true);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, true);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, true);
}
[Test]
@@ -74,7 +74,7 @@
Assert.AreEqual(composition, assessmentSection.Composition);
AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection);
AssertHydraulicBoundaryOutput(assessmentSection, true);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, true);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, true);
}
[Test]
@@ -87,7 +87,7 @@
Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition);
AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection);
AssertHydraulicBoundaryOutput(assessmentSection, false);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, false);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, false);
}
[Test]
@@ -104,7 +104,7 @@
Assert.AreEqual(composition, assessmentSection.Composition);
AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection);
AssertHydraulicBoundaryOutput(assessmentSection, false);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, false);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, false);
}
[Test]
@@ -118,7 +118,7 @@
AssertFailureMechanismsHaveAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection);
Assert.False(assessmentSection.GetFailureMechanisms().SelectMany(fm => fm.Calculations).All(calc => calc.HasOutput));
AssertHydraulicBoundaryOutput(assessmentSection, true);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, true);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, true);
}
[Test]
@@ -136,7 +136,7 @@
AssertFailureMechanismsHaveAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection);
Assert.False(assessmentSection.GetFailureMechanisms().SelectMany(fm => fm.Calculations).All(calc => calc.HasOutput));
AssertHydraulicBoundaryOutput(assessmentSection, true);
- AssertDuneLocationCalculationOutputs(assessmentSection.DuneErosion, true);
+ AssertDuneLocationCalculationOutput(assessmentSection.DuneErosion, true);
}
[Test]
@@ -646,7 +646,7 @@
#region Dune Erosion
- private static void AssertDuneLocationCalculationOutputs(DuneErosionFailureMechanism failureMechanism, bool hasOutput)
+ private static void AssertDuneLocationCalculationOutput(DuneErosionFailureMechanism failureMechanism, bool hasOutput)
{
CollectionAssert.IsNotEmpty(failureMechanism.DuneLocations);