Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInput.cs =================================================================== diff -u -r1901 -r1909 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInput.cs (.../DamWbiMacroStabilityInput.cs) (revision 1901) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInput.cs (.../DamWbiMacroStabilityInput.cs) (revision 1909) @@ -4,7 +4,8 @@ { public class DamWbiMacroStabilityInput : IKernelDataInput { - //ToDo Not clear yet what input must be provided. TmpWbiMacroIn is used for test, replace later by actual input. + //ToDo MWDAM-1353: Not clear yet what input must be provided. TmpWbiMacroIn is used for test, replace later by actual input. + //probably something like FailureMechanismParametersMStab public double TmpWbiMacroIn { get; set; } } } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r1901 -r1909 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1901) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1909) @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Data; +using System.Xml.Linq; using Deltares.DamEngine.Calculators.DikesDesign; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; @@ -31,27 +32,42 @@ { var macroStabilityInput = new DamWbiMacroStabilityInput(); kernelDataInput = macroStabilityInput; - - // ToDo: Not clear yet what must be done in Prepare. Temporary test code added. - // start of temporary test code - if (damKernelInput.RiverLevelHigh > 1) - { - macroStabilityInput.TmpWbiMacroIn = 1.234; - } - else - { - macroStabilityInput.TmpWbiMacroIn = 0.234; - } - // end of temporary test code - var macroStabilityOutput = new DamWbiMacroStabilityOutput { CalculationResult = CalculationResult.NoRun }; kernelDataOutput = macroStabilityOutput; + try + { + // ToDo MWDAM-1353: Not clear yet what parts are required for input. Temporary test code added. + // start of temporary test code + if (damKernelInput.RiverLevelHigh > 1) + { + macroStabilityInput.TmpWbiMacroIn = 1.234; + } + else + { + macroStabilityInput.TmpWbiMacroIn = 0.234; + } - return PrepareResult.NotRelevant; + // end of temporary test code + var calculator = CreateWbiStabilityCalculator(kernelDataInput); + var xmlInput = CreateXmlInput(macroStabilityInput); + calculator.InitializeForDeterministic(xmlInput); + return PrepareResult.Successful; + } + catch + { + return PrepareResult.Failed; + } } + + private string CreateXmlInput(DamWbiMacroStabilityInput macroStabilityInput) + { + string xmlInput = ""; + //ToDo in MWDAM-1353 + return xmlInput; + } /// /// Validates the specified kernel data input. Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs =================================================================== diff -u -r1901 -r1909 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs (.../DamWbiMacroStabilityInwardsKernelWrapperTests.cs) (revision 1901) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs (.../DamWbiMacroStabilityInwardsKernelWrapperTests.cs) (revision 1909) @@ -28,17 +28,29 @@ IKernelDataOutput kernelDataOutput; var kernelInput = new DamKernelInput(); - // ToDo: Not clear yet what must be done in Prepare. Temporary test code added. + // ToDo MWDAM-1353: Not clear yet what must be done in Prepare and XML input not written yet. Temporary test code added. // start of temporary test code kernelInput.RiverLevelHigh = 0.5; - kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput); + var prepareResult1 = kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput); + // test preparing the input DamWbiMacroStabilityInput damMacroStabilityInput1 = (DamWbiMacroStabilityInput)kernelDataInput; Assert.AreEqual(0.234, damMacroStabilityInput1.TmpWbiMacroIn, diff); + // test result of the InitializeForDeterministic, currently failing because the xml input is not written yet + Assert.AreEqual(PrepareResult.Failed, prepareResult1); + // test preparing the output + DamWbiMacroStabilityOutput damMacroStabilityOutput1 = (DamWbiMacroStabilityOutput)kernelDataOutput; + Assert.AreEqual(CalculationResult.NoRun, damMacroStabilityOutput1.CalculationResult); kernelInput.RiverLevelHigh = 1.5; - kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput); + var prepareResult2 = kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput); + // test preparing the input DamWbiMacroStabilityInput damMacroStabilityInput2 = (DamWbiMacroStabilityInput)kernelDataInput; Assert.AreEqual(1.234, damMacroStabilityInput2.TmpWbiMacroIn, diff); + // test result of the InitializeForDeterministic, currently failing because the xml input is not written yet + Assert.AreEqual(PrepareResult.Failed, prepareResult2); + // test preparing the output + DamWbiMacroStabilityOutput damMacroStabilityOutput2 = (DamWbiMacroStabilityOutput)kernelDataOutput; + Assert.AreEqual(CalculationResult.NoRun, damMacroStabilityOutput2.CalculationResult); // end of temporary test code }