Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/PipingWtiInsideTest.cs =================================================================== diff -u -r4124 -r4129 --- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/PipingWtiInsideTest.cs (.../PipingWtiInsideTest.cs) (revision 4124) +++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/PipingWtiInsideTest.cs (.../PipingWtiInsideTest.cs) (revision 4129) @@ -26,34 +26,28 @@ using Deltares.Dam.Application.Live; using Deltares.Dam.Data; using Deltares.DamLive.TestHelper; -using Deltares.Standard.IO; using NUnit.Framework; namespace Deltares.DamLive.Tests; public class PipingWtiInsideTest { const string projectIntegrationFilename = @"DAMLive.damx"; - const string input1aFilename = @"live.InputTimeSeriesMHW.xml"; - const string output1aFilename = @"live.OutputTimeSeriesMHW.xml"; + const string input1AFilename = @"live.InputTimeSeriesMHW.xml"; + const string output1AFilename = @"live.OutputTimeSeriesMHW.xml"; const string calculationParametersIntegrationFilename = @"live.ParametersFile.xml"; const string testWorkingFolder = @".\damLivePipingWtiWork"; private const string testIntegrationDataFolder = @"..\..\..\data\IntegerationTests\PipingWti"; private List locations; - - private string inputFile; - private string outputFile; - private string projectFile; - private string parameterFile; - + private DamEngineRunner runner; [SetUp] public void SetupFixture() { - IoHelper.RemoveTestWorkingDirectory(testWorkingFolder); // to be sure no test directory exist from previous tests - Directory.CreateDirectory(testWorkingFolder); + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 1); // to be sure no test directory exist from previous tests + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 20); } [TearDown] @@ -79,8 +73,8 @@ public void CalculatePipingInsideWt1ModelUsingTestFilesHasExpectedResultsInOutputFile(int maxCores) { const double cTolerance = 0.0005; - GeneralHelper.SetupIntegrationProject(maxCores, testWorkingFolder, testIntegrationDataFolder, input1aFilename, - output1aFilename, calculationParametersIntegrationFilename, + GeneralHelper.SetupIntegrationProject(maxCores, testWorkingFolder, testIntegrationDataFolder, input1AFilename, + output1AFilename, calculationParametersIntegrationFilename, projectIntegrationFilename, out runner, out locations); //SetupPipingProject(maxCores); runner.Initialize(); Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideBishopGridTest.cs =================================================================== diff -u -r4124 -r4129 --- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideBishopGridTest.cs (.../StabilityInsideBishopGridTest.cs) (revision 4124) +++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideBishopGridTest.cs (.../StabilityInsideBishopGridTest.cs) (revision 4129) @@ -35,26 +35,22 @@ public class StabilityInsideBishopGridTest { const string projectIntegrationFilename = @"DAMLive.damx"; - const string input1aFilename = @"live.InputTimeSeriesMHW.xml"; - const string output1aFilename = @"live.OutputTimeSeriesMHW.xml"; + const string input1AFilename = @"live.InputTimeSeriesMHW.xml"; + const string output1AFilename = @"live.OutputTimeSeriesMHW.xml"; const string calculationParametersIntegrationFilename = @"live.ParametersFile.xml"; const string testWorkingFolder = @".\damLiveBishopGridWork"; private const string testIntegrationDataFolder = @"..\..\..\data\IntegerationTests\StabilityInsideBishopGrid"; private List locations; - private string inputFile; - private string outputFile; - private string projectFile; - private string parameterFile; - private DamEngineRunner runner; [SetUp] public void SetupFixture() { - IoHelper.RemoveTestWorkingDirectory(testWorkingFolder); // to be sure no test directory exist from previous tests - Directory.CreateDirectory(testWorkingFolder); + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 1); // to be sure no test directory exist from previous tests + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 20); + //Directory.CreateDirectory(testWorkingFolder); } [TearDown] @@ -80,8 +76,8 @@ public void CalculateStabilityInsideBishopGridUsingTestFilesHasExpectedResultsInOutputFile(int maxCores) { const double cTolerance = 0.0005; - GeneralHelper.SetupIntegrationProject(maxCores, testWorkingFolder, testIntegrationDataFolder, input1aFilename, - output1aFilename, calculationParametersIntegrationFilename, + GeneralHelper.SetupIntegrationProject(maxCores, testWorkingFolder, testIntegrationDataFolder, input1AFilename, + output1AFilename, calculationParametersIntegrationFilename, projectIntegrationFilename, out runner, out locations); //SetupStabilityProject(maxCores); runner.Initialize(); @@ -91,6 +87,7 @@ Assert.IsNotNull(runner.CalculationParameters); Assert.IsNotNull(runner.CalculationParameters.CalculationModules); Assert.IsNotNull(runner.CalculationParameters.MStabParameters); + runner.StabilityWorkingPath = "D:\test"; runner.Run(); //runner.WriteResultsToFile(outputFile); Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideUpliftVanGridTest.cs =================================================================== diff -u --- DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideUpliftVanGridTest.cs (revision 0) +++ DamClients/DamLive/trunk/src/Deltares.DamLive.Tests/StabilityInsideUpliftVanGridTest.cs (revision 4129) @@ -0,0 +1,145 @@ +// Copyright (C) Stichting Deltares 2023. All rights reserved. +// +// This file is part of the application DAM - Live. +// +// DAM - Live is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero 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 Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero 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.Collections.Generic; +using System.IO; +using System.Linq; +using Deltares.Dam.Application.Live; +using Deltares.Dam.Data; +using Deltares.DamLive.TestHelper; +using NUnit.Framework; + +namespace Deltares.DamLive.Tests; + +[TestFixture] +[Category("Integration")] +public class StabilityInsideUpliftVanGridTest +{ + const string projectIntegrationFilename = @"DAMLive.damx"; + const string input1AFilename = @"live.InputTimeSeriesMHW.xml"; + const string output1AFilename = @"live.OutputTimeSeriesMHW.xml"; + const string calculationParametersIntegrationFilename = @"live.ParametersFile.xml"; + + const string testWorkingFolder = @".\damLiveUpliftVanGridWork"; + private const string testIntegrationDataFolder = @"..\..\..\data\IntegerationTests\StabilityInsideUpliftVanGrid"; + private List locations; + + private DamEngineRunner runner; + + [SetUp] + public void SetupFixture() + { + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 1); // to be sure no test directory exist from previous tests + IoHelper.RemoveTestWorkingDirectory(testWorkingFolder + 20); + } + + [TearDown] + public void TearDownFixture() + { + //IoHelper.RemoveTestWorkingDirectory(testWorkingFolder); + } + + [TearDown] + public void TearDownTest() + { + GeneralHelper.AssertNoErrors(runner); + } + + [SetUp] + public void SetupTest() {} + + [Test] + [Category("Integration")] + [Category("Work_In_Progress")] + [TestCase(1)] + [TestCase(20)] + public void CalculateStabilityInsideUpliftVanGridUsingTestFilesHasExpectedResultsInOutputFile(int maxCores) + { + const double cTolerance = 0.0005; + GeneralHelper.SetupIntegrationProject(maxCores, testWorkingFolder, testIntegrationDataFolder, input1AFilename, + output1AFilename, calculationParametersIntegrationFilename, + projectIntegrationFilename, out runner, out locations); + //SetupStabilityProject(maxCores); + runner.Initialize(); + runner.MaxCalculationCores = maxCores; + Assert.IsNotNull(runner); + Assert.IsNotNull(runner.DamProjectData); + Assert.IsNotNull(runner.CalculationParameters); + Assert.IsNotNull(runner.CalculationParameters.CalculationModules); + Assert.IsNotNull(runner.CalculationParameters.MStabParameters); + + runner.Run(); + //runner.WriteResultsToFile(outputFile); + + GeneralHelper.AssertNoErrors(runner); + + // Assertions + + List series = runner.OutputTimeSeriesCollection.Series; + + var seriesCount = 0; + + string[] validParameterIDs = Enum.GetNames(typeof(TimeSerieParameters)); + foreach (TimeSerie timeSeries in series) + { + Assert.IsTrue(validParameterIDs.Any(n => n == timeSeries.ParameterId)); + Assert.IsTrue(locations.Any(l => l.Name == timeSeries.LocationId)); + // StabilityInside check + if (timeSeries.ParameterId == TimeSerieParameters.StabilityInsideFactor.ToString()) + { + if (timeSeries.LocationId == "Purmer_PU0042+00_K") + { + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + Assert.AreEqual(1.548, firstEntry.Value, cTolerance, "The computed safety factory is not correct"); + } + + if (timeSeries.LocationId == "Purmer_PU0042+00_K_V") + { + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + // Following value was 0.590 in the previous DamLive version, but that has to do with how the + // reference level Su is handled in D-GeoStability 18.1 and D-GeoStability 15.1 + if (maxCores == 1) + { + Assert.AreEqual(1.493, firstEntry.Value, cTolerance, "The computed safety factory is not correct"); + } + else + { + Assert.AreEqual(1.493, firstEntry.Value, cTolerance, "The computed safety factory is not correct"); + } + } + + if (timeSeries.LocationId == "Purmer_PU0110+20_R") + { + TimeSerieEntry firstEntry = timeSeries.Entries.First(); + // Following value was 0.590 in the previous DamLive version, but that has to do with how the + // reference level Su is handled in D-GeoStability 18.1 and D-GeoStability 15.1 + Assert.AreEqual(1.317, firstEntry.Value, cTolerance, "The computed safety factory is not correct"); + } + } + + seriesCount++; + } + + Assert.IsTrue(seriesCount > 0, "No output time series"); + } + +} \ No newline at end of file