Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs =================================================================== diff -u -r4036 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 4036) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 4052) @@ -28,139 +28,138 @@ using NUnit.Framework; using Location = Deltares.DamEngine.Data.General.Location; -namespace Deltares.DamEngine.Interface.Tests +namespace Deltares.DamEngine.Interface.Tests; + +[TestFixture] +public class FillDamFromXmlInputTests { - [TestFixture] - public class FillDamFromXmlInputTests + [Test] + public void CanWriteAndReadDamProjectDataToXml() { - [Test] - public void CanWriteAndReadDamProjectDataToXml() - { - const string inputFilename = "InputFile.xml"; - DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); + const string inputFilename = "InputFile.xml"; + DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); - // Write input file - Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); - DamXmlSerialization.SaveInputAsXmlFile(inputFilename, input); + // Write input file + Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); + DamXmlSerialization.SaveInputAsXmlFile(inputFilename, input); - // Init static that is to be loaded with not expected value - DamProjectCalculationSpecification.SelectedAnalysisType = FactoryForDamProjectData.NotExpectedAnalysisType; + // Init static that is to be loaded with not expected value + DamProjectCalculationSpecification.SelectedAnalysisType = FactoryForDamProjectData.NotExpectedAnalysisType; - // Load input file - input = DamXmlSerialization.LoadInputFromXmlFile(inputFilename); - DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); - CompareDamProjectData(actualDamProjectData, expectedDamProjectData); - } + // Load input file + input = DamXmlSerialization.LoadInputFromXmlFile(inputFilename); + DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); + CompareDamProjectData(actualDamProjectData, expectedDamProjectData); + } - [Test] - public void CanWriteAndReadDamProjectDataToXmlString() - { - DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); + [Test] + public void CanWriteAndReadDamProjectDataToXmlString() + { + DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); - // Write input string - string xmlString; - Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); - xmlString = DamXmlSerialization.SaveInputAsXmlString(input); + // Write input string + string xmlString; + Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); + xmlString = DamXmlSerialization.SaveInputAsXmlString(input); - // Init static that is to be loaded with not expected value - DamProjectCalculationSpecification.SelectedAnalysisType = FactoryForDamProjectData.NotExpectedAnalysisType; + // Init static that is to be loaded with not expected value + DamProjectCalculationSpecification.SelectedAnalysisType = FactoryForDamProjectData.NotExpectedAnalysisType; - // Load input string - input = DamXmlSerialization.LoadInputFromXmlString(xmlString); - DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); - CompareDamProjectData(actualDamProjectData, expectedDamProjectData); - } + // Load input string + input = DamXmlSerialization.LoadInputFromXmlString(xmlString); + DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); + CompareDamProjectData(actualDamProjectData, expectedDamProjectData); + } - [Test] - public void CanAquiferListBeHandledOk() - { - const string inputFileName = @"TestFiles\AquiferListInputFile.xml"; - Input input = DamXmlSerialization.LoadInputFromXmlFile(inputFileName); - Assert.AreEqual(28, input.AquiferSoils.Length); - DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); - Assert.AreEqual(11, actualDamProjectData.Dike.SoilList.AquiferDictionary.Count); - Assert.AreEqual(7, actualDamProjectData.CalculationMessages.Count); - } + [Test] + public void CanAquiferListBeHandledOk() + { + const string inputFileName = @"TestFiles\AquiferListInputFile.xml"; + Input input = DamXmlSerialization.LoadInputFromXmlFile(inputFileName); + Assert.AreEqual(28, input.AquiferSoils.Length); + DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); + Assert.AreEqual(11, actualDamProjectData.Dike.SoilList.AquiferDictionary.Count); + Assert.AreEqual(7, actualDamProjectData.CalculationMessages.Count); + } - [Test] - [TestCase("location_12_2_1D1")] // Between "location_12" and "_2_1D1" there are 2 illegal characters (1F hex) - public void GivenDataSetContainingIllegalCharactersWhenWritingXmlThenRaiseExceptionWithClearMessage(string id) - { - // Given DataSet Containing Illegal Characters - DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); - Location location = expectedDamProjectData.Dike.Locations[0]; - location.Name = id; + [Test] + [TestCase("location_12_2_1D1")] // Between "location_12" and "_2_1D1" there are 2 illegal characters (1F hex) + public void GivenDataSetContainingIllegalCharactersWhenWritingXmlThenRaiseExceptionWithClearMessage(string id) + { + // Given DataSet Containing Illegal Characters + DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); + Location location = expectedDamProjectData.Dike.Locations[0]; + location.Name = id; - // When Writing Xml - // Then Raise Exception With Clear Message() - Assert.That(() => FillXmlInputFromDam.CreateInput(expectedDamProjectData), Throws.InstanceOf().With.Message.EqualTo("Location has an invalid name location_12_2_1D1")); - } + // When Writing Xml + // Then Raise Exception With Clear Message() + Assert.That(() => FillXmlInputFromDam.CreateInput(expectedDamProjectData), Throws.InstanceOf().With.Message.EqualTo("Location has an invalid name location_12_2_1D1")); + } - [Test] - [TestCase("ABCDEFGHIJLMNOPQRSTUVWXYZ")] - [TestCase("A")] - [TestCase("Z")] - [TestCase("K")] - [TestCase("JUSTATEST")] - [TestCase("abcdefghijklmnopqrstuvwxyz")] - [TestCase("a")] - [TestCase("z")] - [TestCase("k")] - [TestCase("justatest")] - [TestCase("01234567879")] - [TestCase("0")] - [TestCase("9")] - [TestCase("5")] - [TestCase("!#$%&()*+,-./")] - [TestCase(":;<=>?@")] - [TestCase(@"[\]^_`")] - [TestCase("{|}~")] - [TestCase("!")] - public void GivenDataSetContainingIdWithLegalCharactersWhenWritingXmlThenSucceeds(string id) - { - // Given DataSet Containing Illegal Characters - DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); - Location location = expectedDamProjectData.Dike.Locations[0]; - location.Name = id; + [Test] + [TestCase("ABCDEFGHIJLMNOPQRSTUVWXYZ")] + [TestCase("A")] + [TestCase("Z")] + [TestCase("K")] + [TestCase("JUSTATEST")] + [TestCase("abcdefghijklmnopqrstuvwxyz")] + [TestCase("a")] + [TestCase("z")] + [TestCase("k")] + [TestCase("justatest")] + [TestCase("01234567879")] + [TestCase("0")] + [TestCase("9")] + [TestCase("5")] + [TestCase("!#$%&()*+,-./")] + [TestCase(":;<=>?@")] + [TestCase(@"[\]^_`")] + [TestCase("{|}~")] + [TestCase("!")] + public void GivenDataSetContainingIdWithLegalCharactersWhenWritingXmlThenSucceeds(string id) + { + // Given DataSet Containing Illegal Characters + DamProjectData expectedDamProjectData = FactoryForDamProjectData.CreateExampleDamProjectData(); + Location location = expectedDamProjectData.Dike.Locations[0]; + location.Name = id; - // When Writing Xml - string xmlString; - Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); - xmlString = DamXmlSerialization.SaveInputAsXmlString(input); + // When Writing Xml + string xmlString; + Input input = FillXmlInputFromDam.CreateInput(expectedDamProjectData); + xmlString = DamXmlSerialization.SaveInputAsXmlString(input); - // Then Raise Exception With Clear Message() - input = DamXmlSerialization.LoadInputFromXmlString(xmlString); - DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); - CompareDamProjectData(actualDamProjectData, expectedDamProjectData); - } + // Then Raise Exception With Clear Message() + input = DamXmlSerialization.LoadInputFromXmlString(xmlString); + DamProjectData actualDamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); + CompareDamProjectData(actualDamProjectData, expectedDamProjectData); + } - private void CompareDamProjectData(DamProjectData actual, DamProjectData expected) - { - Assert.AreEqual(FactoryForDamProjectData.ExpectedAnalysisType, DamProjectCalculationSpecification.SelectedAnalysisType); + private void CompareDamProjectData(DamProjectData actual, DamProjectData expected) + { + Assert.AreEqual(FactoryForDamProjectData.ExpectedAnalysisType, DamProjectCalculationSpecification.SelectedAnalysisType); - var compare = new CompareLogic + var compare = new CompareLogic + { + Config = { - Config = - { - MaxDifferences = 100 - } - }; - compare.Config.MembersToIgnore = new List - { - "Points", - "MinGeometryPointsX", - "MinGeometryPointsZ", - "MaxGeometryPointsX", - "MaxGeometryPointsZ", - "CurveList", - "Curves", - "Surfaces", - "SurfaceLine", - "Loops" - }; // TODO i.m.o the serializing of the geometry should be improved, so these ignores are not needed anymore - ComparisonResult result = compare.Compare(expected, actual); - Assert.AreEqual(0, result.Differences.Count, - "Differences found read/write Input object:" + result.DifferencesString); - } + MaxDifferences = 100 + } + }; + compare.Config.MembersToIgnore = new List + { + "Points", + "MinGeometryPointsX", + "MinGeometryPointsZ", + "MaxGeometryPointsX", + "MaxGeometryPointsZ", + "CurveList", + "Curves", + "Surfaces", + "SurfaceLine", + "Loops" + }; // TODO i.m.o the serializing of the geometry should be improved, so these ignores are not needed anymore + ComparisonResult result = compare.Compare(expected, actual); + Assert.AreEqual(0, result.Differences.Count, + "Differences found read/write Input object:" + result.DifferencesString); } } \ No newline at end of file