using Deltares.Dam.TestHelper; using Deltares.Geotechnics; using Deltares.Geotechnics.Soils; namespace Deltares.Dam.Tests { using Deltares.Dam.Data; using NUnit.Framework; [TestFixture] public class StabilityCalculationTest { private StabilityCalculation calculation = null; private Dike dike = null; private Location location = null; private SoilProfile1D soilProfile = null; private const string DatabaseName = @"TestData\soilmaterials.mdb"; private const string DikeName = "Dike13"; private readonly MStabParameters parameters = new MStabParameters(); [SetUp] public void Setup() { calculation = new StabilityCalculation(); dike = FactoryForStabilityTests.CreateDike(); location = dike.Locations[0]; location.SoildatabaseName = DatabaseName; location.SoilList = location.SoilbaseDB.CreateSoilList(); soilProfile = location.Segment.SoilProfileProbabilities[0].SoilProfile; } [TearDown] public void TearDown() { dike.Dispose(); } [Test] public void TestWetNone() { var specification = calculation.GetSpecification(DikeName, DatabaseName, location, new SoilGeometry(soilProfile, null), MStabModelType.Bishop, LoadSituation.Wet, DikeDrySensitivity.None, HydraulicShortcutType.NoHydraulicShortcut, parameters); Assert.AreEqual(false, specification.FailureMechanismeParamatersMStab.MStabParameters.GeometryCreationOptions.IsDrySituation); } [Test] public void TestWetDry() { var specification = calculation.GetSpecification(DikeName, DatabaseName, location, new SoilGeometry(soilProfile, null), MStabModelType.Bishop, LoadSituation.Wet, DikeDrySensitivity.Dry, HydraulicShortcutType.NoHydraulicShortcut, parameters); Assert.AreEqual(false, specification.FailureMechanismeParamatersMStab.MStabParameters.GeometryCreationOptions.IsDrySituation); } [Test] public void TestDryNone() { var specification = calculation.GetSpecification(DikeName, DatabaseName, location, new SoilGeometry(soilProfile, null), MStabModelType.Bishop, LoadSituation.Dry, DikeDrySensitivity.None, HydraulicShortcutType.NoHydraulicShortcut, parameters); Assert.AreEqual(false, specification.FailureMechanismeParamatersMStab.MStabParameters.GeometryCreationOptions.IsDrySituation); } [Test] public void TestDryDry() { var specification = calculation.GetSpecification(DikeName, DatabaseName, location, new SoilGeometry(soilProfile, null), MStabModelType.Bishop, LoadSituation.Dry, DikeDrySensitivity.Dry, HydraulicShortcutType.NoHydraulicShortcut, parameters); Assert.AreEqual(true, specification.FailureMechanismeParamatersMStab.MStabParameters.GeometryCreationOptions.IsDrySituation); } } }