Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs =================================================================== diff -u -r3763 -r3782 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 3763) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 3782) @@ -59,7 +59,8 @@ RemoveUsedDirectoryAfterTests("TestGiveFeedBackWhenNoProfilesAreAvailable"); RemoveUsedDirectoryAfterTests("TestStabInwardsBishopWithStixFiles"); RemoveUsedDirectoryAfterTests("TestStabInwardsUpliftVanWithStixFiles"); - RemoveUsedDirectoryAfterTests("TestStabInwardsBishopUpliftVanWithStixFiles"); + RemoveUsedDirectoryAfterTests("TestStabInwardsBishopUpliftVanWithUpliftWithStixFiles"); + RemoveUsedDirectoryAfterTests("TestStabInwardsBishopUpliftVanWithoutUpliftWithStixFiles"); } private void RemoveUsedDirectoryAfterTests(string directory) @@ -863,14 +864,14 @@ } [Test, Category("Slow")] - public void TestRunMacroStabilityDeltaDijkBishopUpliftVanWith1DProducesStixFiles() + public void TestRunMacroStabilityDeltaDijkBishopUpliftVanWith1DWithUpliftProducesStixFiles() { // Expected results are taken as is from the first run with the new kernel // This tests use of 1D profiles // Selected location (6-4-1-A-1-F) // Analysis type "No adaption" // Calculation options: Stability Inside - Bishop - const string calcDir = "TestStabInwardsBishopUpliftVanWithStixFiles"; + const string calcDir = "TestStabInwardsBishopUpliftVanWithUpliftWithStixFiles"; if (Directory.Exists(calcDir)) { Directory.Delete(calcDir, true); // delete previous results @@ -895,11 +896,13 @@ var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); // one location is calculated with 3 1D profiles - //Assert.AreEqual(2, output.Results.CalculationResults.Length); + Assert.AreEqual(3, output.Results.CalculationResults.Length); Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[0].LocationName); Assert.AreEqual("6-4-1-A-1-F_1_s", output.Results.CalculationResults[0].ProfileName); Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[1].LocationName); Assert.AreEqual("6-4-1-A-1-F_2_s", output.Results.CalculationResults[1].ProfileName); + Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[2].LocationName); + Assert.AreEqual("6-4-1-A-1-F_3_s", output.Results.CalculationResults[2].ProfileName); var result = output.Results.CalculationResults[0]; // SafetyFactor=1.638 @@ -933,8 +936,93 @@ { Assert.IsTrue(File.Exists(file), file + " does not exists"); } - } + } + + [Test, Category("Slow")] + public void TestRunMacroStabilityDeltaDijkBishopUpliftVanWith1DWithoutUpliftProducesStixFiles() + { + // Expected results are taken as is from the first run with the new kernel + // This tests use of 1D profiles + // Selected location (6-4-1-A-1-F) + // Analysis type "No adaption" + // Calculation options: Stability Inside - Bishop + const string calcDir = "TestStabInwardsBishopUpliftVanWithoutUpliftWithStixFiles"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + Directory.CreateDirectory(calcDir); + + const string fileName = @"TestFiles\DeltaDijkBishopInwards.xml"; + string inputString = File.ReadAllText(fileName); + inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan); + 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"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "UpliftCriterionStability", @"1.0"); + + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + + string outputString = engineInterface.Run(); + + Assert.IsNotNull(outputString); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + + // one location is calculated with 3 1D profiles + Assert.AreEqual(3, output.Results.CalculationResults.Length); + Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[0].LocationName); + Assert.AreEqual("6-4-1-A-1-F_1_s", output.Results.CalculationResults[0].ProfileName); + Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[1].LocationName); + Assert.AreEqual("6-4-1-A-1-F_2_s", output.Results.CalculationResults[1].ProfileName); + + var result = output.Results.CalculationResults[0]; + // SafetyFactor=1.682 + Assert.AreEqual(1.682, result.StabilityDesignResults.SafetyFactor, Tolerance); + + // skip testing some of the results like uplift etc. + + // Calculation Result + Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult)); + + // test safety factor for other profiles + result = output.Results.CalculationResults[1]; + // SafetyFactor=1.644 + Assert.AreEqual(1.644, result.StabilityDesignResults.SafetyFactor, Tolerance); + + // Stix file + var existingFilesList = new List + { +#if DEBUG + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix", + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix", + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_input.stix", +#endif + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix", + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix", + "Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_result.stix" + }; + foreach (var file in existingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file))) + { + Assert.IsTrue(File.Exists(file), file + " does not exists"); + } + var noneExistingFilesList = new List + { +#if DEBUG + "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix", + "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix", +#endif + "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix", + "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix" + }; + foreach (var file in noneExistingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file))) + { + Assert.IsFalse(File.Exists(file), file + " does not exists"); + } + } + private static string GetOutputStringForProject(string analysisType) { const string calcDir = "TestStabInwardsBishop";