Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MultiCoreMacroStabilityTests.cs =================================================================== diff -u -r1476 -r1478 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MultiCoreMacroStabilityTests.cs (.../MultiCoreMacroStabilityTests.cs) (revision 1476) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MultiCoreMacroStabilityTests.cs (.../MultiCoreMacroStabilityTests.cs) (revision 1478) @@ -49,7 +49,7 @@ // Based on ".data\DamEngineTestProjects\DAM Tutorial Design\DAM Tutorial Design.damx" // with Dam Classic rev.1059 // Select locations DWP_1 to DWP_12 - const int multiCoreCount = 4; + const int multiCoreCount = 2; const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFileMultipleLocations.xml"; const string fileNameOutputPrefix = @"TestFiles\MacroStabilityTutorialDesignMultipleLocations"; string inputString = File.ReadAllText(fileName); @@ -61,20 +61,32 @@ // Calculate one core string calcDir = String.Format("TestStabInwards{0}_{1}Core", analysisType.ToString(), 1); - inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - if (Directory.Exists(calcDir)) + string outputFilename = DetermineOutputFilename(fileNameOutputPrefix, mStabModelType.ToString(), analysisType.ToString(), 1); + string outputString; + EngineInterface engineInterface; + if (File.Exists(outputFilename)) { - Directory.Delete(calcDir, true); // delete previous results + // This is to speed up local testing; after the first run the file will be read from disk. + // If something in the calculation results changes, the file has to be manually deleted + // It will then be generated again in the else block of this statement + outputString = File.ReadAllText(outputFilename); } - Directory.CreateDirectory(calcDir); - Debug.WriteLine("Perform single core calculation Macrostability"); - EngineInterface engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Assert.IsNotNull(outputString); + else + { + inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + Directory.CreateDirectory(calcDir); + Debug.WriteLine("Perform single core calculation Macrostability"); + engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + outputString = engineInterface.Run(); + Assert.IsNotNull(outputString); + File.WriteAllText(outputFilename, outputString, Encoding.Unicode); + } var outputOneCore = DamXmlSerialization.LoadOutputFromXmlString(outputString); - string outputFilename = DetermineOutputFilename(fileNameOutputPrefix, mStabModelType.ToString(), analysisType.ToString(), 1); - File.WriteAllText(outputFilename, outputString, Encoding.Unicode); // Calculate multicore Debug.WriteLine("Perform multicore calculation with {0} cores Macrostability", multiCoreCount);