// Copyright (C) Stichting Deltares 2018. All rights reserved. // // This file is part of the Dam Engine. // // The Dam Engine 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.IO; using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; using Deltares.DamEngine.TestHelpers; using NUnit.Framework; namespace Deltares.DamEngine.IntegrationTests.IntegrationTests { [TestFixture] public class RegionalAssessmentCalculatorTests { private const double tolerance = 0.0005; [Test, Category("Slow")] public void TestScenario3And7And8And10SingleCore() { TestScenario3And7And8And10(1); } [Test, Category("MultiCore")] public void TestScenario3And7And8And10MultiCore() { TestScenario3And7And8And10(7); } [Test, Category("Slow")] public void TestScenario1And3And5And6And7And8And9And10And11SingleCore() { TestScenario1And3And5And6And7And8And9And10And11(1); } [Test, Category("MultiCore")] public void TestScenario1And3And5And6And7And8And9And10And11MultiCore() { TestScenario1And3And5And6And7And8And9And10And11(7); } [Test, Category("Slow")] public void TestScenario3And4And7And8And10SingleCore() { TestScenario3And4And7And8And10(1); } [Test, Category("MultiCore")] public void TestScenario3And4And7And8And10MultiCore() { TestScenario3And4And7And8And10(7); } private void TestScenario3And7And8And10(int numberOfCores) { const string calcDir = "TestOutAssessment"; if (Directory.Exists(calcDir)) { Directory.Delete(calcDir, true); // delete previous results } Directory.CreateDirectory(calcDir); const string fileName = @"TestFiles\RegionalAssessment.xml"; string inputString = File.ReadAllText(fileName); 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\RegionalAssessment.soilmaterials.mdb"); var engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); engineInterface.DamProjectData.MaxCalculationCores = numberOfCores; string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); Assert.AreEqual(1, output.Results.CalculationResults.LocationResults.Length); // expected: 18 results overall: 3 Piping Bligh (scenario 10), 3 UpliftVan (scenario03) and 12 Bishop (scenario 7: 3 results, scenario 8: 9 results) // Results are per scenario so expect 4 Assert.AreEqual(4, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult.Length); // scenario03: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults.Length); // scenario07: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults.Length); // scenario08: 9 results Assert.AreEqual(9, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults.Length); // scenario10: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults.Length); // scenario03 Assert.AreEqual("Segment_235_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.261, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.384, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(0.697, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); // scenario07: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults.Length); Assert.AreEqual("Segment_235_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.251, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.452, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(0.576, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); // scenario08: 9 results Assert.AreEqual(9, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults.Length); Assert.AreEqual("Segment_235_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.373, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D4", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.601, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D6", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(0.761, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D7", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(0.389, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D8", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[4].SoilProfileName); Assert.AreEqual(0.369, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[4].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D9", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[5].SoilProfileName); Assert.AreEqual(0.618, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[5].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D10", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[6].SoilProfileName); Assert.AreEqual(0.597, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[6].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D11", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[7].SoilProfileName); Assert.AreEqual(0.779, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[7].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D12", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[8].SoilProfileName); Assert.AreEqual(0.757, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[8].RegionalResult.SafetyFactor, tolerance); // scenario10: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults.Length); Assert.AreEqual("Segment_235_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_235_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); } private void TestScenario1And3And5And6And7And8And9And10And11(int numberOfCores) { const string calcDir = "TestOutAssessment2"; if (Directory.Exists(calcDir)) { Directory.Delete(calcDir, true); // delete previous results } Directory.CreateDirectory(calcDir); const string fileName = @"TestFiles\RegionalAssessment2.xml"; string inputString = File.ReadAllText(fileName); 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, "SoilDatabaseName", @"TestFiles\RegionalAssessment2.soilmaterials.mdb"); var engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); engineInterface.DamProjectData.MaxCalculationCores = numberOfCores; string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); Assert.AreEqual(1, output.Results.CalculationResults.LocationResults.Length); // expected: 14 * Bishop Dry (scenario 6), 16 * Bishop Wet (scenario08) and 6 * Bishop Dry Hydraulic Shortcut (scenario 5) // 2 * UpliftVan Dry (scenario 1), 2 * Horizontal Balance (scenario 9), 2 * Piping Dry (scenario 11), // 2 * UpliftVan Wet (scenario 3), 4 * scenario 7, 2 * Piping Wet (scenario 10) // Results are per scenario so expect 9 scenarios Assert.AreEqual(9, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult.Length); // scenario06: 14 results Assert.AreEqual(14, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults.Length); Assert.AreEqual(5, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.607, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.559, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(1.607, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D6", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(1.470, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D7", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[4].SoilProfileName); Assert.AreEqual(1.559, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[4].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D8", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[5].SoilProfileName); Assert.AreEqual(1.459, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[5].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D9", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[6].SoilProfileName); Assert.AreEqual(1.607, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[6].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D10", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[7].SoilProfileName); Assert.AreEqual(1.511, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[7].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D11", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[8].SoilProfileName); Assert.AreEqual(1.559, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[8].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D12", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[9].SoilProfileName); Assert.AreEqual(1.502, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[9].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D17", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[10].SoilProfileName); Assert.AreEqual(1.607, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[10].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D18", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[11].SoilProfileName); Assert.AreEqual(1.470, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[11].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D19", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[12].SoilProfileName); Assert.AreEqual(1.559, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[12].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D20", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[13].SoilProfileName); Assert.AreEqual(1.459, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[13].RegionalResult.SafetyFactor, tolerance); // scenario08: 16 results Assert.AreEqual(16, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults.Length); Assert.AreEqual(7, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.984, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.824, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(0.977, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D4", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(0.821, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[4].SoilProfileName); Assert.AreEqual(0.940, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[4].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D6", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[5].SoilProfileName); Assert.AreEqual(0.807, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[5].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D7", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[6].SoilProfileName); Assert.AreEqual(0.932, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[6].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D8", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[7].SoilProfileName); Assert.AreEqual(0.804, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[7].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D9", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[8].SoilProfileName); Assert.AreEqual(1.043, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[8].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D10", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[9].SoilProfileName); Assert.AreEqual(0.850, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[9].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D11", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[10].SoilProfileName); Assert.AreEqual(1.034, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[10].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D12", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[11].SoilProfileName); Assert.AreEqual(0.848, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[11].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D17", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[12].SoilProfileName); Assert.AreEqual(0.940, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[12].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D18", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[13].SoilProfileName); Assert.AreEqual(0.807, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[13].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D19", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[14].SoilProfileName); Assert.AreEqual(0.932, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[14].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D20", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[15].SoilProfileName); Assert.AreEqual(0.804, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[15].RegionalResult.SafetyFactor, tolerance); // scenario05: 6 results Assert.AreEqual(6, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults.Length); Assert.AreEqual(4, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.834, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D4", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.873, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(1.122, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D14", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(0.972, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[4].SoilProfileName); Assert.AreEqual(1.178, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[4].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D16", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[5].SoilProfileName); Assert.AreEqual(1.015, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[5].RegionalResult.SafetyFactor, tolerance); //scenario01: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults.Length); Assert.AreEqual(0, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.379, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.472, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario09: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults.Length); Assert.AreEqual(8, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(8, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].RegionalResult.CalculationResult, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(2.819, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario11: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults.Length); Assert.AreEqual(10, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[5].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario03: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults.Length); Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.562, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.547, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[6].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario07: 4 results Assert.AreEqual(4, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults.Length); Assert.AreEqual(6, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(0.668, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D14", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(0.692, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(0.661, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D16", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(0.677, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[7].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); // scenario10: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults.Length); Assert.AreEqual(9, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_13005_1D13", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_13005_1D15", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(90.00, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[8].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); } private void TestScenario3And4And7And8And10(int numberOfCores) { const string calcDir = "TestOutAssessment3"; if (Directory.Exists(calcDir)) { Directory.Delete(calcDir, true); // delete previous results } Directory.CreateDirectory(calcDir); const string fileName = @"TestFiles\RegionalAssessment3.xml"; string inputString = File.ReadAllText(fileName); 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\RegionalAssessment3.soilmaterials.mdb"); var engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); engineInterface.DamProjectData.MaxCalculationCores = numberOfCores; string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); Assert.AreEqual(1, output.Results.CalculationResults.LocationResults.Length); // expected: 14 results overall: 2 * scenario 3, 2 * scenario 7, 3 * scenario 10, 1 * scenario 4, 6 * scenario08 // Results are per scenario so expect 5 Assert.AreEqual(5, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult.Length); // scenario03: 3 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults.Length); Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_238_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.178, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.178, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[0].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario07: 2 results Assert.AreEqual(2, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults.Length); Assert.AreEqual(6, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_238_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.246, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.246, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[1].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); // scenario10: 3 results Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults.Length); Assert.AreEqual(9, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_238_1D1", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.576, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.377, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D5", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(1.816, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[2].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); // scenario04: 1 result Assert.AreEqual(1, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults.Length); Assert.AreEqual(3, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_238_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.178, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[3].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); // scenario08: 6 results Assert.AreEqual(6, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults.Length); Assert.AreEqual(7, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].ScenarioType); Assert.AreEqual("Segment_238_1D2", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].SoilProfileName); Assert.AreEqual(1.235, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[0].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D3", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[1].SoilProfileName); Assert.AreEqual(1.166, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[1].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D4", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[2].SoilProfileName); Assert.AreEqual(1.163, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[2].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D6", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[3].SoilProfileName); Assert.AreEqual(1.264, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[3].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D7", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[4].SoilProfileName); Assert.AreEqual(1.166, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[4].RegionalResult.SafetyFactor, tolerance); Assert.AreEqual("Segment_238_1D8", output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[5].SoilProfileName); Assert.AreEqual(1.163, output.Results.CalculationResults.LocationResults[0].RegionalScenariosResult.RegionalScenarioResult[4].RegionalScenarioProfileResults[5].RegionalResult.SafetyFactor, tolerance); } } }