Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalWtiPipingTests.cs =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalWtiPipingTests.cs (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalWtiPipingTests.cs (revision 6075) @@ -0,0 +1,64 @@ +// 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 Deltares.DamEngine.Io.XmlOutput; +using Deltares.DamEngine.TestHelpers; +using NUnit.Framework; + +namespace Deltares.DamEngine.IntegrationTests.IntegrationTests; + +[TestFixture] +public class OperationalWtiPipingTests +{ + private const double tolerance = 0.00051; + + [Test] + [Category(Categories.Slow)] + public void RunWtiPiping_UsingTestFile_HasExpectedResultsInOutputFile() + { + const string calcDir = "TestOperationalWtiPiping"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + string outputFileName = Path.Combine(calcDir, "Output.xml"); + + Directory.CreateDirectory(calcDir); + // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\IntegrationTests\PipingWti\DAMLive.damx" + const string inputFileName = @"TestFiles\Operational\WtiPipingTests\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, false, outputFileName); + + Assert.That(output.Results.OperationalOutputTimeSeries, Has.Length.EqualTo(8)); + Assert.Multiple(() => + { + Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry, Has.Length.EqualTo(2)); + Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, Is.EqualTo(0.7396).Within(tolerance)); + Assert.That(output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, Is.EqualTo(0.6795).Within(tolerance)); + Assert.That(output.Results.OperationalOutputTimeSeries[7].Entries.TimeSerieEntry[0].Value, Is.NaN); + Assert.That(output.Results.OperationalOutputTimeSeries[7].Entries.TimeSerieEntry[1].Value, Is.NaN); + }); + } +} \ No newline at end of file