// Copyright (C) Stichting Deltares 2026. 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.Collections.Generic; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards; using Deltares.DamEngine.Calculators.KernelWrappers.WtiPipingBligh; using Deltares.DamEngine.Calculators.KernelWrappers.WtiPipingSellmeijerRevised; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Standard.Logging; using NUnit.Framework; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.Common; [TestFixture] public class KernelWrapperHelperTests { [Test] [SetUICulture("nl-NL")] public void TestAddKernelOutputMessageToLogMessages_Macrostability() { var soilGeometryProbability = new SoilGeometryProbability { SoilProfileType = SoilProfileType.ProfileType2D, SoilProfile2DName = "BBB" }; var kernelDataOutput = new MacroStabilityOutput(); var message = new LogMessage { Message = "Warning during calculation", MessageType = LogMessageType.Warning }; kernelDataOutput.Message = message; var logMessages = new List(); KernelWrapperHelper.AddKernelOutputMessageToLogMessages("AAA", soilGeometryProbability, "CCC", kernelDataOutput, logMessages); Assert.That(logMessages, Has.Count.EqualTo(1)); Assert.Multiple(() => { Assert.That(logMessages[0].MessageType, Is.EqualTo(LogMessageType.Warning)); Assert.That(logMessages[0].Message, Is.EqualTo("Locatie 'AAA', ondergrond scenario 'BBB', " + "ontwerp scenario 'CCC': Warning during calculation")); }); } [Test] [SetUICulture("nl-NL")] public void TestAddKernelOutputMessageToLogMessages_PipingBligh() { var soilGeometryProbability = new SoilGeometryProbability { SoilProfileType = SoilProfileType.ProfileType2D, SoilProfile2DName = "BBB" }; var kernelDataOutput = new WtiPipingBlighOutput(); var message = new LogMessage { Message = "Warning during calculation", MessageType = LogMessageType.Warning }; kernelDataOutput.Message = message; var logMessages = new List(); KernelWrapperHelper.AddKernelOutputMessageToLogMessages("AAA", soilGeometryProbability, "CCC", kernelDataOutput, logMessages); Assert.That(logMessages, Has.Count.EqualTo(1)); Assert.Multiple(() => { Assert.That(logMessages[0].MessageType, Is.EqualTo(LogMessageType.Warning)); Assert.That(logMessages[0].Message, Is.EqualTo("Locatie 'AAA', ondergrond scenario 'BBB', " + "ontwerp scenario 'CCC': Warning during calculation")); }); } [Test] [SetUICulture("en-EN")] public void TestAddKernelOutputMessageToLogMessages_PipingSellmeijer() { var soilGeometryProbability = new SoilGeometryProbability { SoilProfileType = SoilProfileType.ProfileType1D, SoilProfile1DName = "BBB" }; var kernelDataOutput = new WtiPipingSellmeijerRevisedOutput(); var message = new LogMessage { Message = "Warning during calculation", MessageType = LogMessageType.Warning }; kernelDataOutput.Message = message; var logMessages = new List(); KernelWrapperHelper.AddKernelOutputMessageToLogMessages("AAA", soilGeometryProbability, "CCC", kernelDataOutput, logMessages); Assert.That(logMessages, Has.Count.EqualTo(1)); Assert.Multiple(() => { Assert.That(logMessages[0].MessageType, Is.EqualTo(LogMessageType.Warning)); Assert.That(logMessages[0].Message, Is.EqualTo("Location 'AAA', subsoil scenario 'BBB', " + "design scenario 'CCC': Warning during calculation")); }); } }