Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj
===================================================================
diff -u -r6750 -r6766
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj (.../Deltares.Dam.IntegrationTests.csproj) (revision 6750)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/Deltares.Dam.IntegrationTests.csproj (.../Deltares.Dam.IntegrationTests.csproj) (revision 6766)
@@ -17,6 +17,7 @@
+
@@ -28,6 +29,477 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/ImportTests.cs
===================================================================
diff -u
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/ImportTests.cs (revision 0)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.IntegrationTests/ImportTests.cs (revision 6766)
@@ -0,0 +1,107 @@
+// Copyright (C) Stichting Deltares 2025. 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 System.Linq;
+using Deltares.Dam.Data;
+using Deltares.Dam.Data.DataPlugins.Configuration;
+using Deltares.Dam.Data.UISupport;
+using Deltares.Dam.Forms;
+using Deltares.Standard;
+using Deltares.Standard.EventPublisher;
+using Deltares.Standard.Language;
+using Deltares.Standard.Logging;
+using NUnit.Framework;
+
+namespace Deltares.Dam.IntegrationTests;
+
+[TestFixture]
+public class ImportTests
+{
+ [Test]
+ public void GivenConfigurationFileWhenCreatingNewProjectThenCorrectDataIsImported()
+ {
+ const string damDataSourceFileName = @"TestData\StabilityOutside1DProfileTest\Actualisatie.defx";
+ const string damProjectFileName = @"TestData\StabilityOutside1DProfileTest\ActualisatieImported.damx";
+ var damProject = new DamProject();
+ damProject.ClearProject();
+ var damNewProjectData = new DAMNewProjectData
+ {
+ DamProjectType = DamProjectType.Design,
+ DamDataSourceFileName = damDataSourceFileName,
+ DamProjectFileName = damProjectFileName,
+ SelectedDikeRingIds = ["970750"],
+ DataSourceProjectionName = "+ellps=WGS84 +no_defs"
+ };
+ damProject.ProjectFileName = damNewProjectData.DamProjectFileName;
+ damProject.DamProjectData.DataSourceEsriProjection = damNewProjectData.DataSourceEsriProjection;
+
+ ImportDamProjectData(damNewProjectData, damProject);
+ // Write all log messages to a file
+ File.WriteAllLines(Path.ChangeExtension(damDataSourceFileName, ".log"),
+ LogManager.Messages.Select(m => m.ToString()));
+ Assert.That(LogManager.Messages.Count, Is.EqualTo(25));
+ }
+
+ ///
+ /// This code has partly been copied from DamPlugin.Import().
+ /// It is better to extract the code there and make it public, so it can be used in the tests.
+ ///
+ ///
+ ///
+ private static void ImportDamProjectData(DAMNewProjectData damNewProjectData, DamProject damProject)
+ {
+ LogManager.Clear();
+ DamProjectType projectType = damNewProjectData.DamProjectType;
+ string fileName = damNewProjectData.DamDataSourceFileName;
+
+ DataSourceContainer dataSourceContainer = DataSourceContainer.Deserialize(fileName);
+ string damProjectFolder = Path.GetDirectoryName(fileName);
+
+ dataSourceContainer.DataSourceEsriProjection ??= damNewProjectData.DataSourceEsriProjection;
+
+ DataEventPublisher.ThreadPublisher = new ThreadPublisher();
+ // ATTENTION: Do not stop DataEventPublisher because it is used to determine the source of the data with DataSourceManager
+ DataSourceManager.StartListening();
+
+ damProject.Import(damProjectFolder, dataSourceContainer, damNewProjectData.SelectedDikeRingIds,
+ damNewProjectData.DamProjectType, null);
+ // Importing data creates a new DamProjectData object so the values set in the dialog have to be reset.
+ damProject.DamProjectData.DamProjectType = projectType;
+ damProject.DamProjectData.DamDataSourceFileName = fileName;
+
+ if (dataSourceContainer.MapSoilProfile2D != null)
+ {
+ // Make sure the 2D-geometrie map is assigned
+ damProject.AssignGeometry2DMapnameIfNotAssigned(Path.Combine(damProjectFolder, dataSourceContainer.MapSoilProfile2D));
+ }
+
+ // If profiles are defined as relative profiles, new absolute profiles will be generated for each location
+ if (dataSourceContainer.IsImportAsRelativeProfiles)
+ {
+ WaterBoardPostProcessRelativeProfiles.CreateAbsoluteProfiles(damProject.DamProjectData.WaterBoard, dataSourceContainer.SoilProfileCharacteristicPointReference);
+ }
+
+ damProject.DamProjectData.DataSources = DataSourceManager.DataSources;
+
+ damProject.SaveXMLProject(damProject.ProjectFileName, damProject);
+ }
+}
\ No newline at end of file