Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r2951 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 2951) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 3365) @@ -217,16 +217,16 @@ } } - private static void TransferAquiferSoils(Dictionary aquiferDictionary, Input input) + private static void TransferAquiferSoils(Dictionary aquiferDictionary, Input input) { InputAquiferSoil[] aquiferSoils; if (aquiferDictionary != null && aquiferDictionary.Count > 0) { aquiferSoils = new InputAquiferSoil[aquiferDictionary.Count]; int soilIndex = 0; - foreach (KeyValuePair keyValuePair in aquiferDictionary) + foreach (KeyValuePair keyValuePair in aquiferDictionary) { - aquiferSoils[soilIndex] = new InputAquiferSoil() { Soilname = keyValuePair.Key.Name, IsAquifer = keyValuePair.Value }; + aquiferSoils[soilIndex] = new InputAquiferSoil() { Soilname = keyValuePair.Key, IsAquifer = keyValuePair.Value }; soilIndex++; } } Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DesignCalculatorTests.cs =================================================================== diff -u -r2158 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DesignCalculatorTests.cs (.../DesignCalculatorTests.cs) (revision 2158) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DesignCalculatorTests.cs (.../DesignCalculatorTests.cs) (revision 3365) @@ -49,5 +49,22 @@ Assert.AreEqual(null, output.Results.CalculationResults); Assert.AreEqual("Geen segmenten met faalmechanisme StabilityInside aanwezig", output.Results.CalculationMessages[0].Message1); } + + [Test] + [SetUICulture("nl-NL")] + public void TestInputXML() + { + // Based on InputFile.xml as produced by DAM UI in debug mode + Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; + const string fileName = @"TestFiles\InputFile.xml"; + string inputString = File.ReadAllText(fileName); + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + string outputString = engineInterface.Run(); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + // As DGeoSTbaility is no longer available, calculation fails with missing "kernel" (1 error). + Assert.AreEqual(1, output.Results.CalculationMessages.Length); + Assert.IsTrue(output.Results.CalculationMessages[0].Message1.Contains("Gekozen rekenkernel is nog niet beschikbaar")); + } } } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/General/Geometry2DTo1DConverter.cs =================================================================== diff -u -r2899 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/General/Geometry2DTo1DConverter.cs (.../Geometry2DTo1DConverter.cs) (revision 2899) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/General/Geometry2DTo1DConverter.cs (.../Geometry2DTo1DConverter.cs) (revision 3365) @@ -169,9 +169,9 @@ { throw new Geometry2DTo1DConverterException(String.Format("Soil material '{0}' belonging to layer '{1}' not available in soillist", layer.SoilName, layer.Name)); } - if (SoilList.AquiferDictionary.ContainsKey(layer.Soil)) + if (SoilList.AquiferDictionary.ContainsKey(layer.Soil.Name)) { - layer.IsAquifer = SoilList.AquiferDictionary[layer.Soil]; + layer.IsAquifer = SoilList.AquiferDictionary[layer.Soil.Name]; } } var aquifers = soilProfile.GetAquiferLayers(); Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/InputFile.xml =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/InputFile.xml (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/InputFile.xml (revision 3365) @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/TestHelpers/DamEngineDataTestFactory.cs =================================================================== diff -u -r3238 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/TestHelpers/DamEngineDataTestFactory.cs (.../DamEngineDataTestFactory.cs) (revision 3238) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/TestHelpers/DamEngineDataTestFactory.cs (.../DamEngineDataTestFactory.cs) (revision 3365) @@ -193,22 +193,21 @@ ShearStrengthModel = ShearStrengthModel.CPhi }; soilList.Soils.Add(s15); - soilList.AquiferDictionary = new Dictionary(); - soilList.AquiferDictionary.Add(s1, false); - soilList.AquiferDictionary.Add(s2, false); - soilList.AquiferDictionary.Add(s3, true); - soilList.AquiferDictionary.Add(s4, false); - soilList.AquiferDictionary.Add(s5, true); - soilList.AquiferDictionary.Add(s6, false); - soilList.AquiferDictionary.Add(s7, false); - soilList.AquiferDictionary.Add(s8, false); - soilList.AquiferDictionary.Add(s9, false); - soilList.AquiferDictionary.Add(s10, false); - soilList.AquiferDictionary.Add(s11, false); - soilList.AquiferDictionary.Add(s12, false); - soilList.AquiferDictionary.Add(s13, true); - soilList.AquiferDictionary.Add(s14, false); - soilList.AquiferDictionary.Add(s15, false); + soilList.AquiferDictionary.Add(s1.Name, false); + soilList.AquiferDictionary.Add(s2.Name, false); + soilList.AquiferDictionary.Add(s3.Name, true); + soilList.AquiferDictionary.Add(s4.Name, false); + soilList.AquiferDictionary.Add(s5.Name, true); + soilList.AquiferDictionary.Add(s6.Name, false); + soilList.AquiferDictionary.Add(s7.Name, false); + soilList.AquiferDictionary.Add(s8.Name, false); + soilList.AquiferDictionary.Add(s9.Name, false); + soilList.AquiferDictionary.Add(s10.Name, false); + soilList.AquiferDictionary.Add(s11.Name, false); + soilList.AquiferDictionary.Add(s12.Name, false); + soilList.AquiferDictionary.Add(s13.Name, true); + soilList.AquiferDictionary.Add(s14.Name, false); + soilList.AquiferDictionary.Add(s15.Name, false); return soilList; } Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs =================================================================== diff -u -r3222 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs (.../FactoryForDamProjectData.cs) (revision 3222) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs (.../FactoryForDamProjectData.cs) (revision 3365) @@ -199,7 +199,7 @@ for (int i = 0; i < soilList.Soils.Count; i++) { // All even indeces are set to true, all odd indices are set to false - soilList.AquiferDictionary.Add(soilList.Soils[i], (i % 2) == 0); + soilList.AquiferDictionary.Add(soilList.Soils[i].Name, (i % 2) == 0); } } Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r2951 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 2951) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 3365) @@ -210,21 +210,21 @@ List validationMessages = new List(); if (inputAquiferSoils != null) { - soilList.AquiferDictionary = new Dictionary(); + soilList.AquiferDictionary.Clear(); foreach (InputAquiferSoil aquiferSoil in inputAquiferSoils) { var soil = soilList.GetSoilByName(aquiferSoil.Soilname); - if (!soilList.AquiferDictionary.ContainsKey(soil)) + if (!soilList.AquiferDictionary.ContainsKey(soil.Name)) { - soilList.AquiferDictionary.Add(soil, aquiferSoil.IsAquifer); + soilList.AquiferDictionary.Add(soil.Name, aquiferSoil.IsAquifer); } else { // If a soil is (wrongly) in the list more than once, then prefer aquifer true. if (aquiferSoil.IsAquifer) { validationMessages.Add(new LogMessage(LogMessageType.Warning, aquiferSoil, string.Format(Resources.DoubleAquiferSoil, aquiferSoil.Soilname))); - soilList.AquiferDictionary[soil] = true; + soilList.AquiferDictionary[soil.Name] = true; } } } Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj =================================================================== diff -u -r2784 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 2784) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 3365) @@ -87,6 +87,9 @@ PreserveNewest + + PreserveNewest + Always Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilList.cs =================================================================== diff -u -r1974 -r3365 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilList.cs (.../SoilList.cs) (revision 1974) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilList.cs (.../SoilList.cs) (revision 3365) @@ -31,7 +31,7 @@ /// public class SoilList { - private Dictionary aquiferDictionary = new Dictionary(); + private Dictionary aquiferDictionary = new Dictionary(); private List soils; public SoilList() @@ -66,7 +66,7 @@ /// /// The aquifer dictionary. /// - public Dictionary AquiferDictionary + public Dictionary AquiferDictionary { get { @@ -120,9 +120,9 @@ public void Remove(Soil soil) { Soils.Remove(soil); - if (aquiferDictionary.ContainsKey(soil)) + if (aquiferDictionary.ContainsKey(soil.Name)) { - aquiferDictionary.Remove(soil); + aquiferDictionary.Remove(soil.Name); } }