Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs =================================================================== diff -u -r1986 -r1987 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 1986) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 1987) @@ -22,7 +22,10 @@ using System.IO; using NUnit.Framework; using Deltares.MacroStability.Kernel; +using Deltares.DamEngine.Data.General; +using Deltares.DamEngine.TestHelpers; using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; +using KellermanSoftware.CompareNetObjects; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon { @@ -49,6 +52,31 @@ Assert.AreEqual(xmlInput, xmlOutput); } + [Test] + [Category(Categories.WorkInProgress)] + public void GivenDamEngineDataModelWhenSerializingAndDeserializingTheDataModelsAreEqual() + { + // Given DamEngine data (DamProjectData) + DamProjectData expectedDamProjectData = CreateExampleDamProjectData(); + KernelModel expectedKernelModel = FillWtiFromDamEngine.CreateKernelModelFromDamProjectData(expectedDamProjectData); + + // When Serializing and Deserializing + string xmlWti = WtiSerializer.Serialize(expectedKernelModel); + const string fileName = "TestInput.wti"; + string fullFileName = Path.Combine(WtiFilesMap, fileName); + File.WriteAllText(fullFileName, xmlWti); + KernelModel actualKernelModel = WtiDeserializer.Deserialize(xmlWti); + DamProjectData actualDamProjectData = FillDamEngineFromWti.CreateDamProjectDataFromKernelModel(actualKernelModel); + + // Then the data models are equal + CompareDamProjectData(actualDamProjectData, expectedDamProjectData); + } + + private DamProjectData CreateExampleDamProjectData() + { + return new DamProjectData(); + } + [TestCase("ValidateOk.xml")] [TestCase("ValidateError.xml")] public void GivenValidationResultFileWhenDeserializingAndSerializingThenTheStringsAreEqual(string fileNameIn) @@ -67,5 +95,14 @@ // Then the strings are equal Assert.AreEqual(xmlInput, xmlOutput); } + + private static void CompareDamProjectData(DamProjectData actual, DamProjectData expected) + { + + var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; + var result = compare.Compare(expected, actual); + Assert.AreEqual(0, result.Differences.Count, "Differences found read/write Input object"); + + } } }