Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml =================================================================== diff -u -r3249 -r3296 --- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 3249) +++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 3296) @@ -38,10 +38,10 @@ - - - - + + + + @@ -58,14 +58,14 @@ - - - - - - - - + + + + + + + + Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs =================================================================== diff -u -r3291 -r3296 --- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3291) +++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3296) @@ -193,7 +193,7 @@ } } - public void Validate(bool IsOperational) + public void Validate(bool isOperational) { if (Locations == null || Locations.Count < 1) { @@ -211,16 +211,21 @@ throw new SurfaceLineException(validationResults[0].Text); } } - - if (location.Scenarios.Count < 1) - { - throw new DikeException("Location " + location.Name + " has no scenarios, at least one scenario is required."); - } - if (IsOperational && location.Scenarios.Count > 1) + if (isOperational) { - throw new DikeException(string.Format( - "For Operational (DamLive), location {0} has {1} scenarios but only one is allowed!", location.Name, location.Scenarios.Count)); + if (location.Scenarios.Count < 1) + { + throw new DikeException("Location " + location.Name + + " has no scenarios, at least one scenario is required."); + } + + if (location.Scenarios.Count > 1) + { + throw new DikeException(string.Format( + "For Operational (DamLive), location {0} has {1} scenarios but only one is allowed!", + location.Name, location.Scenarios.Count)); + } } } } Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs =================================================================== diff -u -r3293 -r3296 --- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3293) +++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3296) @@ -22,7 +22,9 @@ using System; using System.IO; using System.Text; +using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; +using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; @@ -40,7 +42,6 @@ private const double tolerance = 0.0005; [Test] - [Category(Categories.WorkInProgress)] public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() { const string calcDir = "TestOperationalGrebbedijk"; @@ -64,18 +65,30 @@ inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); + foreach (var dikeLocation in engineInterface.DamProjectData.Dike.Locations) + { + var scenario = new DesignScenario(); + scenario.RiverLevel = dikeLocation.SurfaceLine.CharacteristicPoints + .GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).Z + 1.5; + scenario.PolderLevel = dikeLocation.SurfaceLine.CharacteristicPoints + .GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder).Z - 0.6; + scenario.HeadPl3 = 1; + scenario.HeadPl4 = scenario.PolderLevel; + scenario.RequiredSafetyFactorStabilityInnerSlope = 1.2; + dikeLocation.Scenarios.Add(scenario); + } string result = engineInterface.Validate(); - // Assert.IsTrue(result == null, "Validation must succeed but does not, see validation output xml in debugger"); + Assert.IsTrue(result == null, "Validation must succeed but does not, see validation output xml in debugger"); string outputString = engineInterface.Run(); File.WriteAllText(outputFileName, outputString, Encoding.Unicode); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); - Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance); - Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance); + Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance); + Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance); // Following values were 0.590 in the previous DamLive version, but that has to do with how the // reference level Su is handled in D-GeoStability 18.1 and D-GeoStability 15.1 - Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance); - Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance); + Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance); + Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance); }