Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs =================================================================== diff -u -r1134 -r1135 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1134) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1135) @@ -24,6 +24,7 @@ using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlInput; +using Deltares.DamEngine.TestHelpers; using NUnit.Framework; namespace Deltares.DamEngine.Interface.Tests @@ -49,10 +50,10 @@ const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); + 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\DAM Tutorial Design.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -115,10 +116,10 @@ const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.UpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); + 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\DAM Tutorial Design.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -181,10 +182,10 @@ const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); + 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\DAM Tutorial Design.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -225,10 +226,10 @@ const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile13.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); + 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\DAM Tutorial Design.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -269,10 +270,10 @@ const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile18.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); + 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\DAM Tutorial Design.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -319,10 +320,10 @@ const string fileName = @"TestFiles\DeltaDijkZoneringInwards.xml"; string inputString = File.ReadAllText(fileName); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); + 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\DeltaDijk normal.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -392,10 +393,10 @@ const string fileName = @"TestFiles\DeltaDijkZoneringInwardsZone2.xml"; string inputString = File.ReadAllText(fileName); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); + 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\DeltaDijk normal.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -448,10 +449,10 @@ const string fileName = @"TestFiles\DeltaDijkZoneringInwards.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.UpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); + 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\DeltaDijk normal.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -518,10 +519,10 @@ const string fileName = @"TestFiles\Invoer10.xml"; string inputString = File.ReadAllText(fileName); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\ZoneType.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\ZoneType0.soilmaterials.mdb"); + 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\ZoneType.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\ZoneType0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -567,10 +568,10 @@ const string fileName = @"TestFiles\ErrorInDGeoStabilityCalculation.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.UpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used - inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\"); - inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); + 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\DeltaDijk normal.geometries2D.0\"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); @@ -692,23 +693,7 @@ return result; } - public string ChangeValueInXml(string input, string key, string value) - { - string result = input; - string searchString = key + "=\""; - var startIndex = input.IndexOf(searchString); - var length = searchString.Length; - if (startIndex != -1) - { - // find next double quote - var endIndex = input.Substring(startIndex + length).IndexOf("\""); - string dirString = input.Substring(startIndex + length, endIndex); - string pattern = searchString + dirString; - string replacement = searchString + value; - result = input.Replace(pattern, replacement); - } - return result; - } + } }