Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj
===================================================================
diff -u -r5519 -r5590
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 5519)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 5590)
@@ -224,6 +224,9 @@
PreserveNewest
+
+ PreserveNewest
+
Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalHHNKTests.cs
===================================================================
diff -u
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalHHNKTests.cs (revision 0)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalHHNKTests.cs (revision 5590)
@@ -0,0 +1,100 @@
+// Copyright (C) Stichting Deltares 2024. All rights reserved.
+//
+// This file is part of the Dam Engine.
+//
+// The Dam Engine is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.IO;
+using System.Linq;
+using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Interface;
+using Deltares.DamEngine.Io;
+using Deltares.DamEngine.Io.XmlOutput;
+using Deltares.DamEngine.TestHelpers;
+using NUnit.Framework;
+
+namespace Deltares.DamEngine.IntegrationTests.IntegrationTests;
+
+[TestFixture]
+public class OperationalHHNKTests
+{
+ private const double tolerance = 0.00051;
+
+ [Test]
+ [Category(Categories.WorkInProgress)]
+ public void Run_UsingTestFile_HasExpectedResultsInOutputFile()
+ {
+ const string calcDir = "TestOperationalHHNKPurmer";
+ if (Directory.Exists(calcDir))
+ {
+ Directory.Delete(calcDir, true); // delete previous results
+ }
+
+ Directory.CreateDirectory(calcDir);
+ // Based on "DamLive\trunk\data\HHNK Purmer\DAMLive.damx"
+ const string inputFileName = @"TestFiles\Operational\HHNKPurmer\Input.xml";
+ string inputString = File.ReadAllText(inputFileName);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+
+ Output output = GeneralHelper.RunAfterInputValidation(inputString);
+
+ Assert.That(output.Results.OperationalOutputTimeSeries, Has.Length.EqualTo(8));
+ Assert.Multiple(() =>
+ {
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry, Has.Length.EqualTo(1));
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, Is.EqualTo(0.8555).Within(tolerance));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry, Has.Length.EqualTo(1));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, Is.EqualTo(0.839).Within(tolerance));
+ });
+ }
+
+ [TestCase(PipingModelType.Wti2017)]
+ [TestCase(PipingModelType.Bligh)]
+ [Category(Categories.WorkInProgress)]
+ public void Run_UsingTestFile_WithSupportedPipingModelFailsBecauseNoRelevantSegments(PipingModelType pipingModel)
+ {
+ const string calcDir = "TestOperationalHHNKPurmer";
+ if (Directory.Exists(calcDir))
+ {
+ Directory.Delete(calcDir, true); // delete previous results
+ }
+
+ Directory.CreateDirectory(calcDir);
+ // Based on "DamLive\trunk\data\HHNK Purmer\DAMLive.damx"
+ const string inputFileName = @"TestFiles\Operational\HHNKPurmer\Input.xml";
+ string inputString = File.ReadAllText(inputFileName);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+ var engineInterface = new EngineInterface(inputString);
+ Assert.That(engineInterface.DamProjectData, Is.Not.Null);
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.Piping;
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel;
+
+ Output output = GeneralHelper.RunAfterInputValidation(engineInterface, false);
+
+ Assert.That(output.Results.CalculationMessages.Length, Is.EqualTo(2));
+ Assert.Multiple(() =>
+ {
+ Assert.That(output.Results.CalculationMessages[0].MessageType, Is.EqualTo(MessageMessageType.Info));
+ Assert.That(output.Results.CalculationMessages[0].Message1, Is.EqualTo("There are 8 locations with sensor data"));
+ Assert.That(output.Results.CalculationMessages[1].MessageType, Is.EqualTo(MessageMessageType.Error));
+ Assert.That(output.Results.CalculationMessages[1].Message1, Is.EqualTo("No segments with failure mechanism Piping present"));
+ });
+ }
+}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/Operational/HHNKPurmer/Input.xml
===================================================================
diff -u
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/Operational/HHNKPurmer/Input.xml (revision 0)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/Operational/HHNKPurmer/Input.xml (revision 5590)
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file