Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs =================================================================== diff -u -r1175 -r1221 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 1175) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 1221) @@ -24,13 +24,16 @@ using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.RegionalAssessmentResults; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; using DesignResult = Deltares.DamEngine.Data.General.Results.DesignResult; +using RegionalScenarioResult = Deltares.DamEngine.Data.RegionalAssessmentResults.RegionalScenarioResult; using UpliftSituation = Deltares.DamEngine.Data.General.UpliftSituation; namespace Deltares.DamEngine.Interface.Tests @@ -46,7 +49,8 @@ Output output = FillXmlOutputFromDam.CreateOutput(expectedDamProjectData); DamXmlSerialization.SaveOutputAsXmlFile(outputFilename, output); output = DamXmlSerialization.LoadOutputFromXmlFile(outputFilename); - DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(output); + var inputData = CreateExampleDamProjectData(); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(inputData, output); CompareDamProjectData(actualDamProjectData, expectedDamProjectData); } @@ -57,18 +61,20 @@ Output output = FillXmlOutputFromDam.CreateOutput(expectedDamProjectData); var xmlString = DamXmlSerialization.SaveOutputAsXmlString(output); output = DamXmlSerialization.LoadOutputFromXmlString(xmlString); - DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(output); + var inputData = CreateExampleDamProjectData(); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(inputData, output); CompareDamProjectData(actualDamProjectData, expectedDamProjectData); } private DamProjectData CreateExampleDamProjectData() { - const int resultsCount = 3; + const int designResultsCount = 3; + const int locationResultsCount = 2; var damProjectData = new DamProjectData { DesignCalculations = new List() }; - for (int i = 0; i < resultsCount; i++) + for (int i = 0; i < designResultsCount; i++) { var result = new DesignResult("location " + i, "Scenario " + (i * 2)) { @@ -167,7 +173,53 @@ }; damProjectData.DesignCalculations.Add(result); } - + + damProjectData.Dike = new Dike(); + for (int i = 0; i < locationResultsCount; i++) + { + var location = new Location(); + location.Name = "A" + (i + 1); + location.Segment = new Segment(); + var soilGeometryProbability = new SoilGeometryProbability(); + soilGeometryProbability.SoilProfile1D = new SoilProfile1D(); + soilGeometryProbability.SoilProfile1DName = soilGeometryProbability.SoilProfile1D.Name; + location.Segment.SoilProfileProbabilities.Add(soilGeometryProbability); + damProjectData.Dike.Locations.Add(location); + + var result = new LocationResult(); + result.RegionalScenariosResult = new RegionalScenariosResult(); + result.RegionalScenariosResult.CalculationResult = CalculationResult.NoLicense; + result.RegionalScenariosResult.SafetyFactor = 0.2 * (1 + i); + result.RegionalScenariosResult.RegionalScenarioResults = new List(); + var regionalScenarioResult = new RegionalScenarioResult(); + regionalScenarioResult.CalculationResult = CalculationResult.InvalidInputStructure; + regionalScenarioResult.DikeDrySensitivity = DikeDrySensitivity.Dry; + regionalScenarioResult.HydraulicShortcutType = HydraulicShortcutType.HydraulicShortcut; + regionalScenarioResult.LoadSituation = LoadSituation.Wet; + regionalScenarioResult.ModelOption = MStabModelType.HorizontalBalance; + regionalScenarioResult.SafetyFactor = 0.34 * (i + 1); + regionalScenarioResult.ScenarioType = ScenarioType.Scenario03; + regionalScenarioResult.UpliftType = UpliftType.Uplift; + + regionalScenarioResult.RegionalScenarioProfileResults = new List(); + var regionalScenarioProfileResult = new RegionalScenarioProfileResult(location, soilGeometryProbability); + regionalScenarioProfileResult.BaseFileName = "base " + (i * 3); + regionalScenarioProfileResult.DikeDrySensitivity = DikeDrySensitivity.None; + regionalScenarioProfileResult.FailureMechanismType = FailureMechanismSystemType.Piping; + regionalScenarioProfileResult.HydraulicShortcutType = HydraulicShortcutType.NoHydraulicShortcut; + regionalScenarioProfileResult.LoadSituation = LoadSituation.Dry; + regionalScenarioProfileResult.MstabModelOption = MStabModelType.Fellenius; + regionalScenarioProfileResult.PipingModelOption = PipingModelType.SellmeijerVnk; + regionalScenarioProfileResult.ScenarioType = ScenarioType.Scenario07; + regionalScenarioProfileResult.UpliftType = UpliftType.Uplift; + regionalScenarioResult.RegionalScenarioProfileResults.Add(regionalScenarioProfileResult); + + result.RegionalScenariosResult.RegionalScenarioResults.Add(regionalScenarioResult); + var locationJob = new LocationJob(location); + locationJob.LocationResult = result; + damProjectData.LocationJobs.Add(locationJob); + } + damProjectData.CalculationMessages = new List(); damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 1")); damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 2"));