Index: DamClients/DamLive/trunk/src/Deltares.Dam.Application.Live/DamEngineRunner.cs
===================================================================
diff -u -r1826 -r1832
--- DamClients/DamLive/trunk/src/Deltares.Dam.Application.Live/DamEngineRunner.cs (.../DamEngineRunner.cs) (revision 1826)
+++ DamClients/DamLive/trunk/src/Deltares.Dam.Application.Live/DamEngineRunner.cs (.../DamEngineRunner.cs) (revision 1832)
@@ -257,7 +257,7 @@
}
if (CalculationParameters.CalculationModules.StabilityOutside)
{
- RunStability(FailureMechanismSystemType.StabilityInside);
+ RunStability(FailureMechanismSystemType.StabilityOutside);
}
if (CalculationParameters.CalculationModules.Overtopping)
{
Index: DamClients/DamLive/trunk/data/Projects/Pulau Tekong/live.InputTimeSeries - novalues.xml
===================================================================
diff -u
--- DamClients/DamLive/trunk/data/Projects/Pulau Tekong/live.InputTimeSeries - novalues.xml (revision 0)
+++ DamClients/DamLive/trunk/data/Projects/Pulau Tekong/live.InputTimeSeries - novalues.xml (revision 1832)
@@ -0,0 +1,368 @@
+
+
+ 0.0
+
+
+ instantaneous
+ EWS sealevel 1
+ Waterpressure
+
+
+
+ -999.0
+ EWS seaside CS-1 3-3
+ m
+
+
+
+
+
+ instantaneous
+ EWS polderlevel 1
+ Waterpressure
+
+
+
+ -999.0
+ EWS polder CS-1 3-3
+ m
+
+
+
+
+
+ instantaneous
+ EWS sealevel 2
+ Waterpressure
+
+
+
+ -999.0
+ EWS seaside CS-2 8-8
+ m
+
+
+
+
+
+ instantaneous
+ EWS polderlevel 2
+ Waterpressure
+
+
+
+ -999.0
+ EWS polder CS-2 8-8
+ m
+
+
+
+
+
+ instantaneous
+ EWS sealevel 3
+ Waterpressure
+
+
+
+ -999.0
+ EWS seaside CS-3 10-10
+ m
+
+
+
+
+
+ instantaneous
+ EWS polderlevel 3
+ Waterpressure
+
+
+
+ -999.0
+ EWS polder CS-3 10-10
+ m
+
+
+
+
+
+ instantaneous
+ EWS cutoff drainlevel 1
+ Waterpressure
+
+
+
+ -999.0
+ EWS cutoff drainlevel 1
+ m
+
+
+
+
+
+ instantaneous
+ EWS polderlevel 4
+ Waterpressure
+
+
+
+ -999.0
+ EWS polderlevel 4
+ m
+
+
+
+
+
+ instantaneous
+ EWS cutoff drainlevel 2
+ Waterpressure
+
+
+
+ -999.0
+ EWS cutoff drainlevel 2
+ m
+
+
+
+
+
+ instantaneous
+ EWS polderlevel 5
+ Waterpressure
+
+
+
+ -999.0
+ EWS polderlevel 5
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 1-1
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS1-1
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 1-2
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS1-2
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 1-3
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS1-3
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 1-4
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS1-4
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 2-1
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS2-1
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 2-2
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS2-2
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 2-3
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS2-3
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 2-4
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS2-4
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 3-1
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS3-1
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 3-2
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS3-2
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 3-3
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS3-3
+ m
+
+
+
+
+
+ instantaneous
+ SD CS 3-4
+ Waterpressure
+
+
+
+ -999.0
+ Seadike CS3-4
+ m
+
+
+
+
+
+ instantaneous
+ CD CS 1-1
+ Waterpressure
+
+
+
+ -999.0
+ COdike CS1-1
+ m
+
+
+
+
+
+ instantaneous
+ CD CS 1-2
+ Waterpressure
+
+
+
+ -999.0
+ COdike CS1-2
+ m
+
+
+
+
+
+ instantaneous
+ CD CS 2-1
+ Waterpressure
+
+
+
+ -999.0
+ COdike CS2-1
+ m
+
+
+
+
+
+ instantaneous
+ CD CS 2-2
+ Waterpressure
+
+
+
+ -999.0
+ COdike CS2-2
+ m
+
+
+
+
\ No newline at end of file
Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLivePulauTekong.cs
===================================================================
diff -u -r1828 -r1832
--- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLivePulauTekong.cs (.../DamLivePulauTekong.cs) (revision 1828)
+++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLivePulauTekong.cs (.../DamLivePulauTekongTest.cs) (revision 1832)
@@ -37,9 +37,11 @@
{
#region Test Setup
+ private const double missingValue = -999.0;
const string projectStabilityFilename = @"PulauTekong.damx";
- const string input1aFilename = @"live.InputTimeSeries.xml";
- const string output1aFilename = @"live.OutputTimeSeries.xml";
+ const string inputFilenameWithValues = @"live.InputTimeSeries.xml";
+ const string inputFilenameWithNoValues = @"live.InputTimeSeries - novalues.xml";
+ const string outputFilename = @"live.OutputTimeSeries.xml";
const string calculationParametersStabilityFilename = @"live.ParametersFile.xml";
const string testWorkingFolder = @".\damLivePulauTekongWork";
@@ -78,7 +80,7 @@
///
/// Sets up the stability project.
///
- private void SetupStabilityProject()
+ private void SetupStabilityProject(string inputFilename)
{
var actualTestPath = Path.GetFullPath(testWorkingFolder);
@@ -87,8 +89,8 @@
DirectoryHelper.CopyRecursive(actualTestPath, testStablityDataFolder);
//inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.1Step.xml");
- inputFile = Path.Combine(actualTestPath, input1aFilename);
- outputFile = Path.Combine(actualTestPath, output1aFilename);
+ inputFile = Path.Combine(actualTestPath, inputFilename);
+ outputFile = Path.Combine(actualTestPath, outputFilename);
parameterFile = Path.Combine(actualTestPath, calculationParametersStabilityFilename);
projectFile = Path.Combine(actualTestPath, projectStabilityFilename);
@@ -162,10 +164,10 @@
///
[Test]
[Category("Integration")]
- public void CalculateStabilityUsingTestFilesHasExpectedResultsInOutputFile()
+ public void CalculateStabilityOutsideUsingTestFilesHasExpectedResultsInOutputFile()
{
const double cTolerance = 0.0005;
- SetupStabilityProject();
+ SetupStabilityProject(inputFilenameWithValues);
runner.Initialize();
Assert.IsNotNull(runner);
@@ -175,7 +177,6 @@
Assert.IsNotNull(runner.CalculationParameters.MStabParameters);
runner.Run();
- //runner.WriteResultsToFile(outputFile);
AssertNoErrors();
@@ -184,7 +185,7 @@
var series = runner.OutputTimeSeriesCollection.Series;
int seriesCount = 0;
-
+ int calculatedLocationCount = 0;
var validParameterIDs = Enum.GetNames(typeof(TimeSerieParameters));
foreach (var timeSeries in series)
{
@@ -193,13 +194,16 @@
// StabilityOutside check
if (timeSeries.ParameterId == TimeSerieParameters.StabilityOutsideFactor.ToString())
{
+
if (timeSeries.LocationId == "CD CS1 X1")
{
+ calculatedLocationCount++;
var firstEntry = timeSeries.Entries.First();
Assert.AreEqual(2.486106, firstEntry.Value, cTolerance, "The computed safety factory is not correct");
}
if (timeSeries.LocationId == "CD CS2 X3")
{
+ calculatedLocationCount++;
var firstEntry = timeSeries.Entries.First();
Assert.AreEqual(2.114159, firstEntry.Value, cTolerance, "The computed safety factory is not correct");
}
@@ -209,7 +213,61 @@
}
Assert.IsTrue(seriesCount > 0, "No output time series");
+ Assert.IsTrue(calculatedLocationCount == 2, "Not all locations have output for stability outside");
}
+ [Test]
+ [Category("Integration")]
+ public void CalculateStabilityOutsideUsingTestFilesWithNoValuesHasOutputFileWithNoValues()
+ {
+ const double cTolerance = 0.0005;
+ SetupStabilityProject(inputFilenameWithNoValues);
+ runner.Initialize();
+
+ Assert.IsNotNull(runner);
+ Assert.IsNotNull(runner.DamProjectData);
+ Assert.IsNotNull(runner.CalculationParameters);
+ Assert.IsNotNull(runner.CalculationParameters.CalculationModules);
+ Assert.IsNotNull(runner.CalculationParameters.MStabParameters);
+
+ runner.Run();
+
+ AssertNoErrors();
+
+ // Assertions
+
+ var series = runner.OutputTimeSeriesCollection.Series;
+
+ int seriesCount = 0;
+ int calculatedLocationCount = 0;
+ var validParameterIDs = Enum.GetNames(typeof(TimeSerieParameters));
+ foreach (var timeSeries in series)
+ {
+ Assert.IsTrue(validParameterIDs.Any(n => n == timeSeries.ParameterId));
+ Assert.IsTrue(locations.Any(l => l.Name == timeSeries.LocationId));
+ // StabilityOutside check
+ if (timeSeries.ParameterId == TimeSerieParameters.StabilityOutsideFactor.ToString())
+ {
+ if (timeSeries.LocationId == "CD CS1 X1")
+ {
+ calculatedLocationCount++;
+ var firstEntry = timeSeries.Entries.First();
+ Assert.AreEqual(missingValue, firstEntry.Value, cTolerance, "The computed safety factory is not correct");
+ }
+ if (timeSeries.LocationId == "CD CS2 X3")
+ {
+ calculatedLocationCount++;
+ var firstEntry = timeSeries.Entries.First();
+ Assert.AreEqual(missingValue, firstEntry.Value, cTolerance, "The computed safety factory is not correct");
+ }
+ }
+
+ seriesCount++;
+ }
+
+ Assert.IsTrue(seriesCount > 0, "No output time series");
+ Assert.IsTrue(calculatedLocationCount == 2, "Not all locations have output for stability outside");
+ }
+
}
}
Fisheye: Tag 1832 refers to a dead (removed) revision in file `DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLivePulauTekong.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/Deltares.DamLive.Tests.csproj
===================================================================
diff -u -r1807 -r1832
--- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/Deltares.DamLive.Tests.csproj (.../Deltares.DamLive.Tests.csproj) (revision 1807)
+++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/Deltares.DamLive.Tests.csproj (.../Deltares.DamLive.Tests.csproj) (revision 1832)
@@ -55,7 +55,7 @@
-
+
Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveGrebbedijkTest.cs
===================================================================
diff -u -r1828 -r1832
--- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveGrebbedijkTest.cs (.../DamLiveGrebbedijkTest.cs) (revision 1828)
+++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/DamLiveGrebbedijkTest.cs (.../DamLiveGrebbedijkTest.cs) (revision 1832)
@@ -86,7 +86,6 @@
DirectoryHelper.CopyRecursive(actualTestPath, testStablityDataFolder);
- //inputFile = Path.Combine(actualTestPath, "live.FEWS.InputFile.1Step.xml");
inputFile = Path.Combine(actualTestPath, input1aFilename);
outputFile = Path.Combine(actualTestPath, output1aFilename);
parameterFile = Path.Combine(actualTestPath, calculationParametersStabilityFilename);
@@ -212,6 +211,5 @@
Assert.IsTrue(seriesCount > 0, "No output time series");
}
-
}
}