using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlInput; using Deltares.DamEngine.Io.XmlOutput; using Input = Deltares.DamEngine.Io.XmlInput.Input; using InputDamProjectType = Deltares.DamEngine.Io.XmlInput.InputDamProjectType; using NUnit.Framework; namespace Deltares.DamEngine.Io.Tests { [TestFixture] public class DamXmlSerializationTests { [Test, Ignore("To be finalized")] public void CanReadWriteInputObject() { const string filename = "Input.xml"; Input sourceInput = CreatePopulatedInput(); DamXmlSerialization.SaveInputAsXml(filename, sourceInput); Input destinationInput = DamXmlSerialization.LoadInputFromXml(filename); CompareInput(sourceInput, destinationInput); } private Input CreatePopulatedInput() { Input input = new Input(); input.DamProjectType = InputDamProjectType.Design; return input; } private void CompareInput(Input expected, Input actual) { Assert.AreEqual(expected.DamProjectType, actual.DamProjectType); } public void CanReadWriteOutputObject() { const string filename = "Output.xml"; Output sourceOutput = CreatePopulatedOutput(); DamXmlSerialization.SaveOutputAsXml(filename, sourceOutput); Output destinationOutput = DamXmlSerialization.LoadOutputFromXml(filename); CompareOutput(sourceOutput, destinationOutput); } private Output CreatePopulatedOutput() { Output output = new Output(); output.Results = new OutputResults(); output.Results.CalculationMessages = new Message[3]; output.Results.CalculationMessages[0] = new Message() { MessageType = MessageMessageType.Error, Message1 = "test1" }; output.Results.CalculationMessages[1] = new Message() { MessageType = MessageMessageType.Warning, Message1 = "test2" }; output.Results.CalculationMessages[2] = new Message() { MessageType = MessageMessageType.Info, Message1 = "test3" }; return output; } private void CompareOutput(Output expected, Output actual) { Assert.AreEqual(expected.Results.CalculationMessages.Length, actual.Results.CalculationMessages.Length); } } }