Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs =================================================================== diff -u -r2970 -r3002 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 2970) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 3002) @@ -29,8 +29,7 @@ using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; -using Deltares.DamEngine.Data.Standard.Calculation; -using Deltares.DamEngine.TestHelpers; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.TestHelpers.Factories; using Deltares.MacroStability.CSharpWrapper.Output; using KellermanSoftware.CompareNetObjects; @@ -64,17 +63,11 @@ //ToDo fill this var expectedKernelOutput = CreateKernelOutputForTest(testNumber); - var fillEngineFromMacroStabilityWrapperOutput = new FillEngineFromMacroStabilityWrapperOutput(); - var dd = fillEngineFromMacroStabilityWrapperOutput.FillEngineDataWithResults(expectedKernelOutput); - var kernelOutput = FillMacroStabilityWrapperOutputFromEngine.FillMacroStabilityWrapperOutput(dd, fillEngineFromMacroStabilityWrapperOutput.LogMessages); + List logMessages; + var dd = FillEngineFromMacroStabilityWrapperOutput.FillEngineDataWithResults(expectedKernelOutput, out logMessages); + var kernelOutput = FillMacroStabilityWrapperOutputFromEngine.FillMacroStabilityWrapperOutput(dd, logMessages); var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; - compare.Config.MembersToInclude = new List() - { - //"XEnd", - //"XStart", - //"Pressure" - }; ComparisonResult result; result = compare.Compare(expectedKernelOutput, kernelOutput); Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel Output"); @@ -86,7 +79,7 @@ // Given DamEngine data (DamProjectData) DamProjectData expectedDamProjectData = CreateExampleDamProjectData(); Data.Geometry.Waternet expectedWaternet = CreateExampleWaternet(); - UpliftVanCalculationGrid expectedUpliftVanCalculationGrid = CreateExampleUpliftVanCalculationGrid(); + //UpliftVanCalculationGrid expectedUpliftVanCalculationGrid = CreateExampleUpliftVanCalculationGrid(); Location expectedLocation = expectedDamProjectData.Dike.Locations[0]; SoilList expectedSoilList = expectedDamProjectData.Dike.SoilList; @@ -101,7 +94,7 @@ }; var fillMacroStabilityWrapperInputFromEngine = new FillMacroStabilityWrapperInputFromEngine { - UpliftVanCalculationGrid = expectedUpliftVanCalculationGrid, + //UpliftVanCalculationGrid = expectedUpliftVanCalculationGrid, TrafficLoad = expectedTrafficLoad }; var damKernelInput = new DamKernelInput @@ -123,11 +116,16 @@ CompareSoilProfile2D(expectedSoilProfile2D, fillEngineFromMacroStabilityWrapperInput.SoilProfile2D); CompareSurfaceLine(expectedSurfaceLine2D, fillEngineFromMacroStabilityWrapperInput.SurfaceLine2); CompareTrafficLoad(expectedTrafficLoad, fillEngineFromMacroStabilityWrapperInput.TrafficLoad); - CompareUpliftVanCalculationGrid(expectedUpliftVanCalculationGrid, fillEngineFromMacroStabilityWrapperInput.UpliftVanCalculationGrid); + var expectedUpliftVanCalculationGridSettings = expectedParametersMStab.MStabParameters.SlipCircleDefinition; + CompareUpliftVanCalculationGridSettings(expectedUpliftVanCalculationGridSettings, + fillEngineFromMacroStabilityWrapperInput.SlipCircleDefinition); + //CompareUpliftVanCalculationGrid(expectedUpliftVanCalculationGrid, fillEngineFromMacroStabilityWrapperInput.UpliftVanCalculationGrid); CompareWaternet(expectedWaternet, fillEngineFromMacroStabilityWrapperInput.Waternet); //Todo : add and or implement comparer per item as these are added to the code } + + private static UpliftVanCalculationGrid CreateExampleUpliftVanCalculationGrid() { var random = new Random(21); @@ -221,6 +219,16 @@ Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel Traffic Load"); } + private void CompareUpliftVanCalculationGridSettings(SlipCircleDefinition expectedSlipCircleDefinition, + SlipCircleDefinition actualSlipCircleDefinition) + { + Assert.AreEqual(expectedSlipCircleDefinition.GridSizeDetermination, actualSlipCircleDefinition.GridSizeDetermination); + Assert.AreEqual(expectedSlipCircleDefinition.UpliftVanTangentLinesDefinition, actualSlipCircleDefinition.UpliftVanTangentLinesDefinition); + // Note: do not test UpliftVanTangentLinesDistance as there is no way to be sure of equal values as determination to and from involves rounding. + //Assert.AreEqual(expectedSlipCircleDefinition.UpliftVanTangentLinesDistance, actualSlipCircleDefinition.UpliftVanTangentLinesDistance); + + } + private void CompareUpliftVanCalculationGrid(UpliftVanCalculationGrid expectedSlipPlaneUpliftVan, UpliftVanCalculationGrid actualSlipPlaneUpliftVan) { @@ -325,7 +333,7 @@ Assert.AreEqual(expectedSoils.Soils.Count, actualSoils.Soils.Count, "Soil Count does not match"); foreach (Soil expectedSoil in expectedSoils.Soils) { - var actualSoil = actualSoils.Soils.First(soil => soil.Name.Equals(expectedSoil.Name)); + var actualSoil = actualSoils.Soils.SingleOrDefault(soil => soil.Name.Equals(expectedSoil.Name)); Assert.IsNotNull(actualSoil, string.Format("Soil {0} not found", expectedSoil.Name)); var compare = new CompareLogic {Config = {MaxDifferences = 100}}; compare.Config.MembersToIgnore = SoilParametersToIgnore;