Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/CheckLargeResultsSets.cs =================================================================== diff -u -r4462 -r4482 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/CheckLargeResultsSets.cs (.../CheckLargeResultsSets.cs) (revision 4462) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/CheckLargeResultsSets.cs (.../CheckLargeResultsSets.cs) (revision 4482) @@ -26,7 +26,9 @@ using System.Linq; using Deltares.DamEngine.Calculators.DikesOperational; using Deltares.DamEngine.Data.General.TimeSeries; +using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; +using KellermanSoftware.CompareNetObjects; using NUnit.Framework; namespace Deltares.DamEngine.IntegrationTests.IntegrationTests; @@ -387,4 +389,31 @@ } return resultsFound; } + + public static void CheckBasicResultsBasedOnReferenceResultsFile(string resultsFile, DesignResult[] calculationResults) + { + Output output = DamXmlSerialization.LoadOutputFromXmlFile(resultsFile); + Assert.AreEqual(output.Results.CalculationResults.Count(), calculationResults.Count(), "Results Count does not match"); + foreach (DesignResult expectedDesignResult in output.Results.CalculationResults) + { + DesignResult actualDesignResult = calculationResults.SingleOrDefault( + stabilityDesignResults => stabilityDesignResults.BaseFileName.Equals(expectedDesignResult.BaseFileName)); + Assert.IsNotNull(actualDesignResult, $"Design result {expectedDesignResult.BaseFileName} not found"); + var compare = new CompareLogic + { + Config = + { + MaxDifferences = 100 + } + }; + compare.Config.MembersToIgnore = ResultsParametersToIgnore; + ComparisonResult result = compare.Compare(expectedDesignResult, actualDesignResult); + Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SoilModel"); + } + } + + private static readonly List ResultsParametersToIgnore = new List + { + "CalculationSubDir" + }; } \ No newline at end of file