Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalStabilityProfile1DTests.cs =================================================================== diff -u -r5592 -r5597 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalStabilityProfile1DTests.cs (.../OperationalStabilityProfile1DTests.cs) (revision 5592) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalStabilityProfile1DTests.cs (.../OperationalStabilityProfile1DTests.cs) (revision 5597) @@ -20,8 +20,10 @@ // All rights reserved. using System.IO; +using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; using Deltares.DamEngine.TestHelpers; +using KellermanSoftware.CompareNetObjects; using NUnit.Framework; namespace Deltares.DamEngine.IntegrationTests.IntegrationTests; @@ -35,24 +37,52 @@ // Based on the DamLive test Deltares.DamLive.Tests.StabilityInsideBishopGridTest // "Deltares.DamLive.Tests\TestData\IntegrationTests\StabilityInsideBishopGrid\DAMLive.damx" // with DamLive rev.4860 - const string projectPath = "StabilityInsideProfile1DBishopGrid"; + const string baseName = "CalculateStabilityInsideBishopGrid1"; + const string projectPath = baseName; const string calcDir = "DAMLive.Calc"; const string testFilesLocation = @".\TestFiles\Operational\Profile1DTests\"; - const string stabilityInsideBishopGrid = @"CalculateStabilityInsideBishopGrid1InputFile.xml"; + const string inputFilename = baseName + "InputFile.xml"; + const string outputFilename = baseName + "OutputFile.xml"; if (Directory.Exists(calcDir)) { Directory.Delete(calcDir, true); // delete previous results } - string inputFileName = testFilesLocation + stabilityInsideBishopGrid; - string inputString = File.ReadAllText(inputFileName); + // Load expected output + string expectedOutputFileName = testFilesLocation + outputFilename; + Output expectedOutput = DamXmlSerialization.LoadOutputFromXmlFile(expectedOutputFileName); + + // Given + // Load input + string inputString = File.ReadAllText(testFilesLocation + inputFilename); inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", projectPath); // Current directory will be used inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used - const string outputFilename = "OutputFileStabilityInsideProfile1DBishopGrid.xml"; - Output output = GeneralHelper.RunAfterInputValidation(inputString, true, outputFilename); + // When + // Run calculation + Output actualOutput = GeneralHelper.RunAfterInputValidation(inputString, true, outputFilename); - Assert.Multiple(() => { Assert.That(output, Is.Not.Null); } + // Then + // Compare output + Assert.Multiple(() => + { + Assert.That(actualOutput, Is.Not.Null); + Assert.That(expectedOutput, Is.Not.Null); + } ); + CompareOutput(expectedOutput, actualOutput); } + + private void CompareOutput(Output expected, Output actual) + { + var compare = new CompareLogic + { + Config = + { + MaxDifferences = 100 + } + }; + ComparisonResult result = compare.Compare(expected, actual); + Assert.That(result.Differences.Count, Is.EqualTo(0), "Differences found read/write Output object"); + } } \ No newline at end of file