Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalIntegrationTests.cs =================================================================== diff -u -r4000 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalIntegrationTests.cs (.../OperationalIntegrationTests.cs) (revision 4000) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalIntegrationTests.cs (.../OperationalIntegrationTests.cs) (revision 4052) @@ -27,89 +27,88 @@ using Deltares.DamEngine.TestHelpers; using NUnit.Framework; -namespace Deltares.DamEngine.IntegrationTests.IntegrationTests +namespace Deltares.DamEngine.IntegrationTests.IntegrationTests; + +/// +/// These tests were based on DamLiveIntegrationTest.Run_UsingTestFiles_HasExpectedResultsInOutputFile() +/// +[TestFixture] +class OperationalIntegrationTests { - /// - /// These tests were based on DamLiveIntegrationTest.Run_UsingTestFiles_HasExpectedResultsInOutputFile() - /// - [TestFixture] - class OperationalIntegrationTests - { - private const double tolerance = 0.0005; + private const double tolerance = 0.0005; - [Test] - [Ignore("")] - [Category(Categories.WorkInProgress)] - public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() + [Test] + [Ignore("")] + [Category(Categories.WorkInProgress)] + public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() + { + const string calcDir = "TestOperationalIntegration"; + if (Directory.Exists(calcDir)) { - const string calcDir = "TestOperationalIntegration"; - if (Directory.Exists(calcDir)) - { - Directory.Delete(calcDir, true); // delete previous results - } + Directory.Delete(calcDir, true); // delete previous results + } - Directory.CreateDirectory(calcDir); + Directory.CreateDirectory(calcDir); - // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx" - const string inputFileName = @"TestFiles\OperationalSet2.xml"; - const string outputFileName = @"TestFiles\OperationalSet2.output.xml"; - string inputString = File.ReadAllText(inputFileName); - inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\output.Geometries\"); - inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\output0.soilmaterials.mdb"); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - File.WriteAllText(outputFileName, outputString, Encoding.Unicode); - Assert.IsNotNull(outputString); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); - Assert.AreEqual(1.226, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance); - Assert.AreEqual(1.244, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance); - Assert.AreEqual(1.311, output.Results.OperationalOutputTimeSeries[2].Entries.TimeSerieEntry[0].Value, tolerance); - } + // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx" + const string inputFileName = @"TestFiles\OperationalSet2.xml"; + const string outputFileName = @"TestFiles\OperationalSet2.output.xml"; + string inputString = File.ReadAllText(inputFileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used + inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\output.Geometries\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\output0.soilmaterials.mdb"); + var engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + string outputString = engineInterface.Run(); + File.WriteAllText(outputFileName, outputString, Encoding.Unicode); + Assert.IsNotNull(outputString); + Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.AreEqual(1.226, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance); + Assert.AreEqual(1.244, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance); + Assert.AreEqual(1.311, output.Results.OperationalOutputTimeSeries[2].Entries.TimeSerieEntry[0].Value, tolerance); + } - [Test] - // This test runs the same project as Run_UsingTestFiles_HasExpectedResultsInOutputFile - // except that it runs it with both single core and multi core. - // The output of both runs must be the same - public void CompareResultFromMultiCoreRunWithSingleCoreRun() - { - var calcDir = "TestOperationalIntegrationSingleCore"; - var outputFileName = @"OperationalSet2SingleCore.output.xml"; - Output output = RunTestProjectCores(calcDir, outputFileName, 1); - string outputSingleCore = DamXmlSerialization.SaveOutputAsXmlString(output); + [Test] + // This test runs the same project as Run_UsingTestFiles_HasExpectedResultsInOutputFile + // except that it runs it with both single core and multi core. + // The output of both runs must be the same + public void CompareResultFromMultiCoreRunWithSingleCoreRun() + { + var calcDir = "TestOperationalIntegrationSingleCore"; + var outputFileName = @"OperationalSet2SingleCore.output.xml"; + Output output = RunTestProjectCores(calcDir, outputFileName, 1); + string outputSingleCore = DamXmlSerialization.SaveOutputAsXmlString(output); - calcDir = "TestOperationalIntegrationMultiCore"; - outputFileName = @"OperationalSet2MultiCore.output.xml"; - output = RunTestProjectCores(calcDir, outputFileName, 4); - string outputMultiCore = DamXmlSerialization.SaveOutputAsXmlString(output); + calcDir = "TestOperationalIntegrationMultiCore"; + outputFileName = @"OperationalSet2MultiCore.output.xml"; + output = RunTestProjectCores(calcDir, outputFileName, 4); + string outputMultiCore = DamXmlSerialization.SaveOutputAsXmlString(output); - Assert.AreEqual(outputSingleCore, outputMultiCore); - } + Assert.AreEqual(outputSingleCore, outputMultiCore); + } - private Output RunTestProjectCores(string calcDir, string outputFileName, int coreCount) + private Output RunTestProjectCores(string calcDir, string outputFileName, int coreCount) + { + if (Directory.Exists(calcDir)) { - if (Directory.Exists(calcDir)) - { - Directory.Delete(calcDir, true); // delete previous results - } + Directory.Delete(calcDir, true); // delete previous results + } - Directory.CreateDirectory(calcDir); + Directory.CreateDirectory(calcDir); - const string inputFileName = @"OperationalSet2.xml"; - string inputString = File.ReadAllText(inputFileName); - inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\output.Geometries\"); - inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\output0.soilmaterials.mdb"); - inputString = XmlAdapter.ChangeValueInXml(inputString, "MaxCalculationCores", coreCount.ToString()); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - File.WriteAllText(outputFileName, outputString, Encoding.Unicode); - Assert.IsNotNull(outputString); - return DamXmlSerialization.LoadOutputFromXmlString(outputString); - } + const string inputFileName = @"OperationalSet2.xml"; + string inputString = File.ReadAllText(inputFileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used + inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\output.Geometries\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\output0.soilmaterials.mdb"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "MaxCalculationCores", coreCount.ToString()); + var engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + string outputString = engineInterface.Run(); + File.WriteAllText(outputFileName, outputString, Encoding.Unicode); + Assert.IsNotNull(outputString); + return DamXmlSerialization.LoadOutputFromXmlString(outputString); } } \ No newline at end of file