// 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; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.Geotechnics; using NUnit.Framework; namespace Deltares.DamEngine.Data.Tests.Design; [TestFixture] public class DesignScenarioTests { [Test] public void SetRedesignedSurfaceLine_WhenNoSoilProfileIsSet_ThenExceptionIsThrown() { // Arrange var designScenario = new DesignScenario(); // Act & Assert var ex = Assert.Throws(() => designScenario.SetRedesignedSurfaceLine(null, null, new SurfaceLine2())); Assert.That(ex?.Message, Is.EqualTo("Both soilProfile1D and soilProfile2D are null.")); } [Test] public void SetRedesignedSurfaceLine_WhenSoilProfile1DIsAssigned_ThenSurfaceLineIsSet() { // Arrange var designScenario = new DesignScenario(); // Set surface line to soil profile 1D var soilProfile1D = new SoilProfile1D(); var surfaceLine = new SurfaceLine2(); designScenario.SetRedesignedSurfaceLine(soilProfile1D, null, surfaceLine); Assert.That(designScenario.GetMostRecentSurfaceLine(soilProfile1D, null), Is.EqualTo(surfaceLine)); } [Test] public void SetRedesignedSurfaceLine_WhenSoilProfile2DIsAssigned_ThenSurfaceLineIsSet() { // Arrange var designScenario = new DesignScenario(); // Set surface line to soil profile 1D var soilProfile2D = new SoilProfile2D(); var surfaceLine = new SurfaceLine2(); designScenario.SetRedesignedSurfaceLine(null, soilProfile2D, surfaceLine); Assert.That(designScenario.GetMostRecentSurfaceLine(null, soilProfile2D), Is.EqualTo(surfaceLine)); } }