Index: src/Deltares.DSoilModel.Data.Tests/DSoilModelProjectTest.cs =================================================================== diff -u -r391 -r393 --- src/Deltares.DSoilModel.Data.Tests/DSoilModelProjectTest.cs (.../DSoilModelProjectTest.cs) (revision 391) +++ src/Deltares.DSoilModel.Data.Tests/DSoilModelProjectTest.cs (.../DSoilModelProjectTest.cs) (revision 393) @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Drawing; +using System.IO; using System.Linq; using Deltares.DSoilModel.Data; using Deltares.Geographic; @@ -47,15 +48,7 @@ project.SetSoilDefaults(soil); - // defaults are set - Assert.AreEqual(DistributionType.LogNormal, soil.AbovePhreaticLevelStochast.DistributionType); - Assert.AreEqual(0, soil.AbovePhreaticLevelStochast.Shift); - Assert.AreEqual(DistributionType.LogNormal, soil.BelowPhreaticLevelStochast.DistributionType); - Assert.AreEqual(10.0, soil.BelowPhreaticLevelStochast.Shift); - Assert.AreEqual(DistributionType.LogNormal, soil.DiameterD70Stochast.DistributionType); - Assert.AreEqual(10.0, soil.DiameterD70Stochast.Shift); - Assert.AreEqual(DistributionType.LogNormal, soil.PermeabKxStochast.DistributionType); - Assert.AreEqual(0, soil.PermeabKxStochast.Shift); + AssertSoilDefaults(soil); // set non-default values soil = new Soil(); @@ -74,6 +67,49 @@ } [Test] + public void TestSetSoilDefaultsAfterImporting1DProfiles() + { + var project = new DSoilModelProject(); + project.ReadSoilProfiles1DFromFile(Path.Combine(GetTestFilesPath() ,"Delfland", "soilprofiles.csv")); + Assert.AreEqual(9, project.Soils.Soils.Count); + + foreach (var soil in project.Soils.Soils) + { + AssertSoilDefaults(soil); + } + } + + [Test] + public void TestSetSoilDefaultsAfterImportingMaterialsMdb() + { + var project = new DSoilModelProject(); + project.ReadOldProjectFromDatabase(Path.Combine(GetTestFilesPath(), "groot salland.mdb")); + Assert.AreEqual(51, project.Soils.Soils.Count); + + foreach (var soil in project.Soils.Soils) + { + // in this example AbovePhreaticStochast & BelowPhreaticStochast are in the file, but these two are set to default: + Assert.AreEqual(DistributionType.LogNormal, soil.DiameterD70Stochast.DistributionType); + Assert.AreEqual(10.0, soil.DiameterD70Stochast.Shift); + Assert.AreEqual(DistributionType.LogNormal, soil.PermeabKxStochast.DistributionType); + Assert.AreEqual(0, soil.PermeabKxStochast.Shift); + } + } + + private static void AssertSoilDefaults(Soil soil) + { + Assert.AreEqual(DistributionType.LogNormal, soil.AbovePhreaticLevelStochast.DistributionType); + Assert.AreEqual(0, soil.AbovePhreaticLevelStochast.Shift); + Assert.AreEqual(DistributionType.LogNormal, soil.BelowPhreaticLevelStochast.DistributionType); + Assert.AreEqual(10.0, soil.BelowPhreaticLevelStochast.Shift); + Assert.AreEqual(DistributionType.LogNormal, soil.DiameterD70Stochast.DistributionType); + Assert.AreEqual(10.0, soil.DiameterD70Stochast.Shift); + Assert.AreEqual(DistributionType.LogNormal, soil.PermeabKxStochast.DistributionType); + Assert.AreEqual(0, soil.PermeabKxStochast.Shift); + } + + + [Test] public void TestCaseSensitivityOfImportedSoilNames() { var project = new DSoilModelProject(); @@ -814,5 +850,11 @@ return soil; } + + private string GetTestFilesPath() + { + return Path.GetFullPath(@"..\..\Deltares.DSoilModel.Data.Tests\TestFiles"); + } + } }