Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillWtiKernelData.cs =================================================================== diff -u -r2003 -r2009 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillWtiKernelData.cs (.../FillWtiKernelData.cs) (revision 2003) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillWtiKernelData.cs (.../FillWtiKernelData.cs) (revision 2009) @@ -26,6 +26,7 @@ using Deltares.MacroStability.Kernel; using Deltares.MacroStability.Preprocessing; using Location = Deltares.MacroStability.WaternetCreator.Location; +using Soil = Deltares.MacroStability.Geometry.Soil; using SoilLayer2D = Deltares.DamEngine.Data.Geotechnics.SoilLayer2D; namespace Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo @@ -52,9 +53,12 @@ kernelModel.PreprocessingModel = new PreprocessingModel(); TransferWtiStabilityModel(FailureMechanismParametersMStab, kernelModel.StabilityModel); TransferSoils(SoilProfile2D, kernelModel.StabilityModel.SoilModel.Soils); - kernelModel.StabilityModel.SoilProfile = new SoilProfile2D(); + kernelModel.StabilityModel.SoilProfile = new MacroStability.Geometry.SoilProfile2D(); TransferSoilProfile(SoilProfile2D, kernelModel.StabilityModel.SoilProfile); - TransferSurfaceLine(); // TODO + kernelModel.PreprocessingModel.LastStage.SurfaceLine = new SurfaceLine2(); + TransferSurfaceLine(SurfaceLine2, kernelModel.PreprocessingModel.LastStage.SurfaceLine); // TODO + kernelModel.PreprocessingModel.ConstructionStages.Add(new PreprocessingConstructionStage()); + kernelModel.PreprocessingModel.LastStage.Locations.Add(new Location()); TransferLocation(Location, kernelModel.PreprocessingModel.LastStage.Locations); // TODO TransferPreconsolidationStresses(); // TODO TransferUniformLoads(); // TODO @@ -68,8 +72,13 @@ return kernelModel; } - private void TransferSoilProfile(DamEngine.Data.Geotechnics.SoilProfile2D damSoilProfile2D, SoilProfile2D soilProfile2D) + private void TransferSurfaceLine(Data.Geotechnics.SurfaceLine2 surfaceLine2, SurfaceLine2 surfaceLine) { + // TODO: to be implemented + } + + private void TransferSoilProfile(Data.Geotechnics.SoilProfile2D damSoilProfile2D, SoilProfile2D soilProfile2D) + { // Add points foreach (var damPoint in damSoilProfile2D.Geometry.Points) { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs =================================================================== diff -u -r2004 -r2009 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 2004) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 2009) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.IO; using NUnit.Framework; using Deltares.MacroStability.Kernel; @@ -27,6 +28,8 @@ using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.TestHelpers.Factories; +using Deltares.MacroStability.Data; +using Deltares.MacroStability.Standard; using KellermanSoftware.CompareNetObjects; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon @@ -99,7 +102,7 @@ [TestCase("Benchmark 1-01b.wti")] [TestCase("Benchmark 2-04a.wti")] - [Category(Categories.WorkInProgress)] + //[Category(Categories.WorkInProgress)] public void GivenWtiFileWhenFillingToDamEngineDataAndWritingBackToKernelDataThenTheKernelModelsAreEqual(string fileNameIn) { // Given Wti file @@ -111,7 +114,6 @@ FillDamEngineFromWti fillDamEngineFromWti = new FillDamEngineFromWti(); fillDamEngineFromWti.FillDamProjectDataFromKernelModel(expectedKernelModel); - // And writing back to kernel data FillWtiKernelData fillWtiKernelData = new FillWtiKernelData() { @@ -127,10 +129,27 @@ File.WriteAllText(fullFileNameOut, xmlOutput); // Then the kernel models are equal - // Assert.AreEqual(xmlInput, xmlOutput); + CompareStabilityModel(expectedKernelModel.StabilityModel, actualKernelModel.StabilityModel); + return; + //Enable asserts when code is implemented + var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; + compare.Config.MembersToIgnore = new List + { + }; + var result = compare.Compare(expectedKernelModel.StabilityModel.SoilModel, actualKernelModel.StabilityModel.SoilModel); + Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SoilModel"); + result = compare.Compare(expectedKernelModel.StabilityModel.SoilProfile, actualKernelModel.StabilityModel.SoilProfile); + Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SoilProfile"); } + private void CompareStabilityModel(StabilityModel expectedStabilityModel, StabilityModel actualStabilityModel) + { + Assert.AreEqual(expectedStabilityModel.SearchAlgorithm, actualStabilityModel.SearchAlgorithm); + Assert.AreEqual(expectedStabilityModel.ModelOption, actualStabilityModel.ModelOption); + Assert.AreEqual(expectedStabilityModel.GridOrientation, actualStabilityModel.GridOrientation); + } + [TestCase("ValidateOk.xml")] [TestCase("ValidateError.xml")] public void GivenValidationResultFileWhenDeserializingAndSerializingThenTheStringsAreEqual(string fileNameIn) @@ -142,7 +161,7 @@ string xmlInput = File.ReadAllText(fullFileNameIn); string fileNameOut = fileNameIn + ".out"; string fullFileNameOut = Path.Combine(WtiFilesMap, fileNameOut); - var validationResults = WtiDeserializer.DeserializeValidation(xmlInput); + IValidationResult[] validationResults = WtiDeserializer.DeserializeValidation(xmlInput); string xmlOutput = WtiSerializer.SerializeValidation(validationResults); File.WriteAllText(fullFileNameOut, xmlOutput);