Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs =================================================================== diff -u -r4477 -r4478 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs (.../GeneralHelper.cs) (revision 4477) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs (.../GeneralHelper.cs) (revision 4478) @@ -57,6 +57,7 @@ public static Output RunAfterInputValidation(EngineInterface engineInterface, bool areResultsExpected = true, string outputXml = "") { + // Validate input Assert.IsNotNull(engineInterface.DamProjectData); string validationMessages = engineInterface.Validate(); string extraValidationMessage = ""; @@ -65,14 +66,19 @@ extraValidationMessage = ", see output xml in debugger"; } Assert.IsNull(validationMessages, "Validation should succeed but does not" + extraValidationMessage); + + // Run calculation string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); if (outputXml != "") { File.WriteAllText("Output.xml", outputString, Encoding.Unicode); } + CheckDependencyOnStiFiles(output); + + // Evaluate results if (!areResultsExpected) { return output; Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs =================================================================== diff -u -r4474 -r4478 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 4474) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 4478) @@ -68,12 +68,9 @@ const string fileName = @"PipingVoorbeeld1_WtiSellmeijerRevisedInputFile.xml"; string inputString = File.ReadAllText(fileName); inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString()); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Assert.IsNotNull(outputString); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); - Assert.IsNotNull(output.Results.CalculationResults, "No results available"); + + Output output = GeneralHelper.RunAfterInputValidation(inputString); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(null, output); SurfaceLine2 redesignedSurfaceLine = actualDamProjectData.DesignCalculations[0].PipingDesignResults.RedesignedSurfaceLine; @@ -107,11 +104,9 @@ // Change Failure mechanism Piping to model Sellmeijer Revised (WBI) const string fileName = @"PipingVoorbeeld1_WtiSellmeijerRevisedDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Assert.IsNotNull(outputString); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + + Output output = GeneralHelper.RunAfterInputValidation(inputString); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(null, output); SurfaceLine2 redesignedSurfaceLine = actualDamProjectData.DesignCalculations[0].PipingDesignResults.RedesignedSurfaceLine; @@ -155,11 +150,9 @@ // Set DTH = 4.5 for location "profiel 1" const string fileName = @"PipingVoorbeeld1_WtiSellmeijerRevisedDesignHeightInputFile.xml"; string inputString = File.ReadAllText(fileName); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Assert.IsNotNull(outputString); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + + Output output = GeneralHelper.RunAfterInputValidation(inputString); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(null, output); SurfaceLine2 redesignedSurfaceLine = actualDamProjectData.DesignCalculations[0].PipingDesignResults.RedesignedSurfaceLine; @@ -196,12 +189,9 @@ // Select all locations const string fileName = @"Rechter Diezedijk_WtiSellmeijerRevisedInputFile.xml"; string inputString = File.ReadAllText(fileName); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Assert.IsNotNull(outputString); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); - + + Output output = GeneralHelper.RunAfterInputValidation(inputString); + // The expected values below where calculated with DamEngine rev.2016, Assert.AreEqual(112, output.Results.CalculationResults.Length); // result 1: safety factor = 90.000 @@ -245,10 +235,9 @@ Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; const string fileName = @"Rechter Diezedijk_WtiSellmeijerRevisedFailedDesignInputFile_1Location.xml"; string inputString = File.ReadAllText(fileName); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + + Output output = GeneralHelper.RunAfterInputValidation(inputString); + Assert.AreEqual(2, output.Results.CalculationResults.Length); // Expected an english message, but this can not be fixed with version 16.2 of the kernel, see MWDAM-1395 Assert.AreEqual("De effectieve spanning mag niet negatief zijn.\r\n", output.Results.CalculationResults[1].PipingDesignResults.ResultMessage); @@ -274,12 +263,8 @@ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used inputString = XmlAdapter.ChangeValueInXml(inputString, "MaxCalculationCores", coreCount.ToString()); - var engineInterface = new EngineInterface(inputString); - Assert.IsNotNull(engineInterface.DamProjectData); - string outputString = engineInterface.Run(); - File.WriteAllText(outputFileName, outputString, Encoding.Unicode); - Assert.IsNotNull(outputString); - return DamXmlSerialization.LoadOutputFromXmlString(outputString); + + return GeneralHelper.RunAfterInputValidation(inputString, true, outputFileName); } [Test]