Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/TestData/Calamity/PulauTekongCalamity.geometries2D.0/10_10_SingaporeCrossSection.stix
===================================================================
diff -u
Binary files differ
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj
===================================================================
diff -u -r5834 -r6307
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj (.../Deltares.Dam.IntegrationTests.csproj) (revision 5834)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj (.../Deltares.Dam.IntegrationTests.csproj) (revision 6307)
@@ -22,6 +22,9 @@
..\..\..\lib\DSL-Geo\Deltares.Geotechnics.dll
+
+ ..\..\..\lib\DamEngine\Deltares.MacroStability.CSharpWrapper.dll
+
..\..\..\lib\DSL-Core\Deltares.Standard.dll
@@ -49,6 +52,12 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/TestData/Calamity/PulauTekongCalamity.geometries2D.0/8_8_SingaporeCrossSection.stix
===================================================================
diff -u
Binary files differ
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/TestData/Calamity/PulauTekongCalamity.geometries2D.0/Section3_SingaporeCrossSection.stix
===================================================================
diff -u
Binary files differ
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/CalamityTests.cs
===================================================================
diff -u
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/CalamityTests.cs (revision 0)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/CalamityTests.cs (revision 6307)
@@ -0,0 +1,89 @@
+// Copyright (C) Stichting Deltares 2024. All rights reserved.
+//
+// This file is part of the application DAM - UI.
+//
+// DAM - UI is free software: you can redistribute it and/or modify
+// it under the terms of the GNU 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 General Public License for more details.
+//
+// You should have received a copy of the GNU 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 Deltares.Dam.Data;
+using Deltares.Dam.Data.DamEngineIo;
+using Deltares.Dam.TestHelper;
+using Deltares.DamEngine.Interface;
+using Deltares.DamEngine.Io;
+using Deltares.DamEngine.Io.XmlInput;
+using Deltares.DamEngine.Io.XmlOutput;
+using NUnit.Framework;
+
+namespace Deltares.Dam.IntegrationTests
+{
+ ///
+ /// Class for testing Calamity
+ ///
+ [TestFixture]
+ public class CalamityTests
+ {
+ private const double tolerance4Decimals = 0.000051;
+
+ ///
+ /// Input of this test is based on Pulau Tekong Inside input data, but using Calamity instead of DAM Live operational.
+ ///
+ [Test]
+ public void GivenCalamityInputFile_WhenRun_ThenOutputIsCorrect()
+ {
+ string projectFilename = Path.Combine(Directory.GetCurrentDirectory(), @"TestData\Calamity\PulauTekongCalamity.damx");
+ using DamProjectData damProjectData = ProjectLoader.LoadProjectData(projectFilename);
+ Input input = FillXmlInputFromDamUi.CreateInput(damProjectData);
+ string inputXml = DamXmlSerialization.SaveInputAsXmlString(input);
+ var damEngineInterface = new EngineInterface(inputXml);
+ string validationMessages = damEngineInterface.Validate();
+ Assert.That(validationMessages, Is.Null);
+ string outputXml = damEngineInterface.Run();
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputXml);
+ FillDamUiFromXmlOutput.AddOutputToDamProjectData(damProjectData, output);
+
+ Assert.That(output.Results.OperationalOutputTimeSeries, Has.Length.EqualTo(5));
+ Assert.Multiple(() =>
+ {
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntryOutput, Has.Length.EqualTo(3));
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].LocationId, Is.EqualTo("CD CS1 X1"));
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntryOutput[0].Value, Is.EqualTo(1.4078).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntryOutput[1].Value, Is.EqualTo(1.4084).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntryOutput[2].Value, Is.EqualTo(1.4053).Within(tolerance4Decimals));
+
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntryOutput, Has.Length.EqualTo(3));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].LocationId, Is.EqualTo("CD CS2 X3"));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntryOutput[0].Value, Is.EqualTo(0.9985).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntryOutput[1].Value, Is.EqualTo(0.9950).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntryOutput[2].Value, Is.EqualTo(0.9891).Within(tolerance4Decimals));
+
+ Assert.That(output.Results.OperationalOutputTimeSeries[2].Entries.TimeSerieEntryOutput, Has.Length.EqualTo(3));
+ Assert.That(output.Results.OperationalOutputTimeSeries[2].LocationId, Is.EqualTo("SD CS1 3-3"));
+ Assert.That(output.Results.OperationalOutputTimeSeries[3].Entries.TimeSerieEntryOutput, Has.Length.EqualTo(3));
+ Assert.That(output.Results.OperationalOutputTimeSeries[3].LocationId, Is.EqualTo("SD CS2 8-8"));
+ Assert.That(output.Results.OperationalOutputTimeSeries[4].Entries.TimeSerieEntryOutput, Has.Length.EqualTo(3));
+ Assert.That(output.Results.OperationalOutputTimeSeries[4].LocationId, Is.EqualTo("SD CS3 10-10"));
+ for (int i = 2; i < 5; i++)
+ {
+ Assert.That(output.Results.OperationalOutputTimeSeries[i].Entries.TimeSerieEntryOutput[0].Value, Is.EqualTo(double.NaN).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[i].Entries.TimeSerieEntryOutput[1].Value, Is.EqualTo(double.NaN).Within(tolerance4Decimals));
+ Assert.That(output.Results.OperationalOutputTimeSeries[i].Entries.TimeSerieEntryOutput[2].Value, Is.EqualTo(double.NaN).Within(tolerance4Decimals));
+ }
+ });
+ }
+ }
+}
\ No newline at end of file
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/TestData/Calamity/PulauTekongCalamity.geometries2D.0/3_3_SingaporeCrossSection.stix
===================================================================
diff -u
Binary files differ
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/TestData/Calamity/PulauTekongCalamity.geometries2D.0/Section1_SingaporeCrossSection.stix
===================================================================
diff -u
Binary files differ