Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs
===================================================================
diff -u -r8b53cc5e5753875d94f76359c6916ef6da38fe3c -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs (.../DikeAssessmentSectionEntityPersistorTest.cs) (revision 8b53cc5e5753875d94f76359c6916ef6da38fe3c)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs (.../DikeAssessmentSectionEntityPersistorTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -1,4 +1,25 @@
-using System;
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets 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;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
@@ -106,7 +127,7 @@
{
new HydraulicLocationEntity
{
- Name = hydraulicDatabaseLocationName, DesignWaterLevel = hydraulicDatabaseLocationDesignWaterLevel, HydraulicLocationEntityId = hydraulicDatabaseLocationStorageId,
+ Name = hydraulicDatabaseLocationName, DesignWaterLevel = hydraulicDatabaseLocationDesignWaterLevel, HydraulicLocationEntityId = hydraulicDatabaseLocationStorageId,
LocationId = hydraulicDatabaseLocationLocationId, LocationX = hydraulicDatabaseLocationX, LocationY = hydraulicDatabaseLocationY,
},
new HydraulicLocationEntity
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs
===================================================================
diff -u -rd242e89e13ef602facae6a1ef91660242bcef340 -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs (.../DikesPipingFailureMechanismEntityPersistorTest.cs) (revision d242e89e13ef602facae6a1ef91660242bcef340)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs (.../DikesPipingFailureMechanismEntityPersistorTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -1,4 +1,25 @@
-using System;
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets 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;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs
===================================================================
diff -u -re4c1ee9fe5170ccf7794006d572461d3f88e7740 -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision e4c1ee9fe5170ccf7794006d572461d3f88e7740)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -83,7 +83,7 @@
{
get
{
- return StochasticSoilModels.SelectMany(ssm => ssm.StochasticSoilProfiles.Select(ssp => ssp.SoilProfile)).ToList();
+ return StochasticSoilModels.SelectMany(ssm => ssm.StochasticSoilProfiles.Select(ssp => ssp.SoilProfile)).Distinct().ToList();
}
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs
===================================================================
diff -u -r045bb1ffbe520f780522bd6b4f6afe06c096d34c -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 045bb1ffbe520f780522bd6b4f6afe06c096d34c)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -324,7 +324,7 @@
"JOIN SoilLayer2D as l USING(SP2D_ID)",
"LEFT JOIN {11}",
"LEFT JOIN {12}",
- "WHERE m.ME_Name = @ME_Name",
+ "WHERE m.{13} = @{13}",
"ORDER BY ProfileName;"),
SoilProfileDatabaseColumns.Dimension,
SoilProfileDatabaseColumns.ProfileName,
@@ -338,7 +338,8 @@
SoilProfileDatabaseColumns.SoilProfileId,
layer2DCountQuery,
materialPropertiesQuery,
- layer2DPropertiesQuery);
+ layer2DPropertiesQuery,
+ MechanismDatabaseColumns.MechanismName);
dataReader = CreateDataReader(countQuery + query2D + query1D, new SQLiteParameter
{
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs
===================================================================
diff -u -r0c4e4faf0839d9ad90af4ff556357fc27c1f333a -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs (.../PipingSoilProfilesImporter.cs) (revision 0c4e4faf0839d9ad90af4ff556357fc27c1f333a)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs (.../PipingSoilProfilesImporter.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -118,6 +118,12 @@
CheckIfAllProfilesAreUsed(importSoilProfileResult.ImportedItems, importStochasticSoilModelResult.ImportedItems);
+ if (ImportIsCancelled)
+ {
+ HandleUserCancellingImport();
+ return false;
+ }
+
AddImportedDataToModel(surfaceLinesContext, importStochasticSoilModelResult.ImportedItems);
return true;
}
@@ -139,6 +145,7 @@
private void CheckIfAllProfilesAreUsed(ICollection soilProfiles, ICollection stochasticSoilModels)
{
+ NotifyProgress(RingtoetsPluginResources.PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles, 1, 1);
foreach (var soilProfile in soilProfiles.Where(soilProfile => !PipingSoilProfileIsUsed(soilProfile, stochasticSoilModels)))
{
log.WarnFormat(RingtoetsPluginResources.PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in_any_stochastic_soil_model, soilProfile.Name);
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs
===================================================================
diff -u -r0c4e4faf0839d9ad90af4ff556357fc27c1f333a -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0c4e4faf0839d9ad90af4ff556357fc27c1f333a)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -80,7 +80,7 @@
}
///
- /// Looks up a localized string similar to Geïmporteerde data toevoegen aan faalmechanisme.
+ /// Looks up a localized string similar to Geïmporteerde data toevoegen aan faalmechanisme..
///
public static string PipingSoilProfilesImporter_Adding_imported_data_to_model {
get {
@@ -89,7 +89,7 @@
}
///
- /// Looks up a localized string similar to Het uitgelezen profiel '{0}' niet wordt niet gebruikt in een van de stochastische ondergrondmodellen..
+ /// Looks up a localized string similar to Het uitgelezen profiel '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen..
///
public static string PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in_any_stochastic_soil_model {
get {
@@ -99,6 +99,16 @@
}
///
+ /// Looks up a localized string similar to Controleren van ondergrondprofielen..
+ ///
+ public static string PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles {
+ get {
+ return ResourceManager.GetString("PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles" +
+ "", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to {0}
///Het bestand wordt overgeslagen..
///
@@ -147,7 +157,7 @@
}
///
- /// Looks up a localized string similar to Inlezen van de D-Soil Model database.
+ /// Looks up a localized string similar to Inlezen van de D-Soil Model database..
///
public static string PipingSoilProfilesImporter_Reading_database {
get {
@@ -156,7 +166,7 @@
}
///
- /// Looks up a localized string similar to Inlezen van de ondergrondschematisering uit de D-Soil Model database.
+ /// Looks up a localized string similar to Inlezen van de ondergrondschematisering uit de D-Soil Model database..
///
public static string PipingSoilProfilesImporter_ReadingSoilProfiles {
get {
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx
===================================================================
diff -u -r0c4e4faf0839d9ad90af4ff556357fc27c1f333a -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 0c4e4faf0839d9ad90af4ff556357fc27c1f333a)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -141,13 +141,13 @@
Deze profielmeting wordt overgeslagen.
- Geïmporteerde data toevoegen aan faalmechanisme
+ Geïmporteerde data toevoegen aan faalmechanisme.
Ondergrondschematiseringen importeren afgebroken. Geen data ingelezen.
- Inlezen van de D-Soil Model database
+ Inlezen van de D-Soil Model database.
{0}
@@ -158,7 +158,7 @@
Deze ondergrondschematisering wordt overgeslagen.
- Inlezen van de ondergrondschematisering uit de D-Soil Model database
+ Inlezen van de ondergrondschematisering uit de D-Soil Model database.
Profielmeting {0} bevat aaneengesloten dubbele geometrie punten, welke zijn genegeerd.
@@ -216,7 +216,7 @@
Het stochastisch ondergrondmodel '{0}' bestaat al in het faalmechanisme.
- Het uitgelezen profiel '{0}' niet wordt niet gebruikt in een van de stochastische ondergrondmodellen.
+ Het uitgelezen profiel '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen.
Er is geen referentielijn beschikbaar. Geen data ingelezen.
@@ -233,4 +233,7 @@
{0} Dit stochastisch ondergrondmodel wordt overgeslagen.
+
+ Controleren van ondergrondprofielen.
+
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs
===================================================================
diff -u -r17651988db014bcbf2059c03ba0aef438f79bec4 -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 17651988db014bcbf2059c03ba0aef438f79bec4)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -3,6 +3,7 @@
using NUnit.Framework;
using Rhino.Mocks;
using Ringtoets.Common.Data;
+using Ringtoets.Piping.KernelWrapper.TestUtil;
using Ringtoets.Piping.Primitives;
namespace Ringtoets.Piping.Data.Test
@@ -193,5 +194,41 @@
// Assert
CollectionAssert.DoesNotContain(failureMechanism.CalculationsGroup.Children, folder);
}
+
+ [Test]
+ public void SoilProfiles_StochasticSoilModelsWithDuplicateProfiles_ReturnsDistinctProfiles()
+ {
+ // Setup
+ var failureMechanism = new PipingFailureMechanism();
+ PipingSoilProfile profile = new TestPipingSoilProfile();
+ StochasticSoilProfile stochasticProfile = new StochasticSoilProfile(0, SoilProfileType.SoilProfile1D, 0)
+ {
+ SoilProfile = profile
+ };
+ failureMechanism.StochasticSoilModels.AddRange(new[]
+ {
+ new StochasticSoilModel(0, string.Empty, string.Empty)
+ {
+ StochasticSoilProfiles =
+ {
+ stochasticProfile
+ }
+ },
+ new StochasticSoilModel(0, string.Empty, string.Empty)
+ {
+ StochasticSoilProfiles =
+ {
+ stochasticProfile
+ }
+ }
+ });
+
+ // Call
+ var profiles = failureMechanism.SoilProfiles;
+
+ // Assert
+ Assert.AreEqual(1, profiles.Count);
+ Assert.AreSame(profile, profiles.First());
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/PipingSoilProfileReaderTest.cs
===================================================================
diff -u -r045bb1ffbe520f780522bd6b4f6afe06c096d34c -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/PipingSoilProfileReaderTest.cs (.../PipingSoilProfileReaderTest.cs) (revision 045bb1ffbe520f780522bd6b4f6afe06c096d34c)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/PipingSoilProfileReaderTest.cs (.../PipingSoilProfileReaderTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -189,7 +189,7 @@
}
[Test]
- public void ReadProfile_DatabaseWith1DAndOrphan1D_ReturnOneProfile()
+ public void ReadProfile_DatabaseWith1DAnd1DSoilProfileWithoutSoilLayers_ReturnOneProfile()
{
// Setup
var testFile = "1dprofileWithEmpty1d.soil";
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSoilProfilesImporterTest.cs
===================================================================
diff -u -r0c4e4faf0839d9ad90af4ff556357fc27c1f333a -r220a073b3d2066d57af048325e3ba37bb1340d0d
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSoilProfilesImporterTest.cs (.../PipingSoilProfilesImporterTest.cs) (revision 0c4e4faf0839d9ad90af4ff556357fc27c1f333a)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/PipingSoilProfilesImporterTest.cs (.../PipingSoilProfilesImporterTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.IO;
using System.Linq;
using Core.Common.Base;
@@ -149,7 +150,6 @@
var failureMechanism = new PipingFailureMechanism();
mockRepository.ReplayAll();
- var expectedMessage = "Er is geen referentielijn beschikbaar. Geen data ingelezen.";
var context = new StochasticSoilModelContext(failureMechanism, assessmentSection);
context.Attach(observer);
@@ -166,6 +166,7 @@
Action call = () => importResult = importer.Import(context, invalidFilePath);
// Assert
+ var expectedMessage = "Er is geen referentielijn beschikbaar. Geen data ingelezen.";
TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1);
Assert.IsFalse(importResult);
CollectionAssert.IsEmpty(context.FailureMechanism.StochasticSoilModels);
@@ -186,9 +187,10 @@
assessmentSection.ReferenceLine = new ReferenceLine();
mockRepository.ReplayAll();
+ var progressChangeNotifications = new List();
var importer = new PipingSoilProfilesImporter
{
- ProgressChanged = IncrementProgress
+ ProgressChanged = (description, step, steps) => { progressChangeNotifications.Add(new ProgressNotification(description, step, steps)); }
};
var context = new StochasticSoilModelContext(pipingFailureMechanism, assessmentSection);
@@ -199,8 +201,37 @@
// Assert
Assert.IsTrue(importResult);
- Assert.AreEqual(34, progress);
+ var expectedProfiles = 26;
+ var expectedModels = 3;
+ var expectedProgressMessages = new List
+ {
+ new ProgressNotification("Inlezen van de D-Soil Model database.", 1, 1)
+ };
+ for (var i = 1; i <= expectedProfiles; i++)
+ {
+ expectedProgressMessages.Add(new ProgressNotification("Inlezen van de ondergrondschematisering uit de D-Soil Model database.", i, expectedProfiles));
+ }
+ expectedProgressMessages.Add(new ProgressNotification("Inlezen van de D-Soil Model database.", 1, 1));
+ for (var i = 1; i <= expectedModels; i++)
+ {
+ expectedProgressMessages.Add(new ProgressNotification("Inlezen van de stochastische ondergrondmodellen.", i, expectedModels));
+ }
+ expectedProgressMessages.Add(new ProgressNotification("Controleren van ondergrondprofielen.", 1, 1));
+ for (var i = 1; i <= expectedModels; i++)
+ {
+ expectedProgressMessages.Add(new ProgressNotification("Geïmporteerde data toevoegen aan faalmechanisme.", i, expectedModels));
+ }
+ Assert.AreEqual(expectedProgressMessages.Count, progressChangeNotifications.Count);
+ for (var i = 0; i < expectedProgressMessages.Count; i++)
+ {
+ var notification = expectedProgressMessages[i];
+ var actualNotification = progressChangeNotifications[i];
+ Assert.AreEqual(notification.Text, actualNotification.Text);
+ Assert.AreEqual(notification.CurrentStep, actualNotification.CurrentStep);
+ Assert.AreEqual(notification.TotalSteps, actualNotification.TotalSteps);
+ }
+
mockRepository.VerifyAll();
}
@@ -228,17 +259,18 @@
// Precondition
importer.Import(context, validFilePath);
var names = context.FailureMechanism.StochasticSoilModels.Select(ssm => ssm.Name);
- var expectedLogMessages = names.Select(name => string.Format("Het stochastisch ondergrondmodel '{0}' bestaat al in het faalmechanisme.", name)).ToList();
- expectedLogMessages.Add(String.Format("Het uitgelezen profiel '{0}' niet wordt niet gebruikt in een van de stochastische ondergrondmodellen.", "Segment_36005_1D2"));
- expectedLogMessages.Add(String.Format("Het uitgelezen profiel '{0}' niet wordt niet gebruikt in een van de stochastische ondergrondmodellen.", "Segment_36005_1D3"));
// Call
Action call = () => importResult = importer.Import(context, validFilePath);
- TestHelper.AssertLogMessagesAreGenerated(call, expectedLogMessages, expectedLogMessages.Count);
// Assert
+ var expectedLogMessages = names.Select(name => string.Format("Het stochastisch ondergrondmodel '{0}' bestaat al in het faalmechanisme.", name)).ToList();
+ expectedLogMessages.Add(String.Format("Het uitgelezen profiel '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen.", "Segment_36005_1D2"));
+ expectedLogMessages.Add(String.Format("Het uitgelezen profiel '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen.", "Segment_36005_1D3"));
+ TestHelper.AssertLogMessagesAreGenerated(call, expectedLogMessages, expectedLogMessages.Count);
+
Assert.IsTrue(importResult);
- Assert.AreEqual(34*2, progress);
+ Assert.AreEqual(35*2, progress);
mockRepository.VerifyAll();
}
@@ -319,7 +351,7 @@
// Assert
Assert.IsTrue(importResult);
- Assert.AreEqual(35, progress);
+ Assert.AreEqual(36, progress);
}
[Test]
@@ -382,6 +414,10 @@
var importResult = false;
+ // Call
+ Action call = () => importResult = importer.Import(context, corruptPath);
+
+ // Assert
var internalErrorMessage = new FileReaderErrorMessageBuilder(corruptPath)
.WithSubject("ondergrondschematisering 'Profile'")
.Build(string.Format(RingtoetsIOResources.PipingSoilProfileReader_Profile_has_invalid_value_on_Column_0_,
@@ -392,16 +428,11 @@
internalErrorMessage),
string.Format("Er zijn geen profielen gevonden in het stochastich ondersgrondmodel '{0}', deze wordt overgeslagen.", "Name")
};
-
- // Call
- Action call = () => importResult = importer.Import(context, corruptPath);
-
- // Assert
TestHelper.AssertLogMessagesAreGenerated(call, expectedLogMessages, 2);
Assert.IsTrue(importResult);
Assert.AreEqual(0, context.FailureMechanism.StochasticSoilModels.Count);
- Assert.AreEqual(6, progress);
+ Assert.AreEqual(7, progress);
mockRepository.VerifyAll(); // Ensure there are no calls to UpdateObserver
}
@@ -455,14 +486,14 @@
ProgressChanged = IncrementProgress
};
- var expectedLogMessage = String.Format("Fout bij het lezen van bestand '{0}': Het stochastisch ondergrondprofiel bevat geen geldige waarde." +
- " Dit stochastisch ondergrondmodel wordt overgeslagen.", validFilePath);
var importResult = false;
// Call
Action call = () => importResult = importer.Import(context, validFilePath);
// Assert
+ var expectedLogMessage = String.Format("Fout bij het lezen van bestand '{0}': Het stochastisch ondergrondprofiel bevat geen geldige waarde." +
+ " Dit stochastisch ondergrondmodel wordt overgeslagen.", validFilePath);
TestHelper.AssertLogMessageIsGenerated(call, expectedLogMessage, 1);
Assert.AreEqual(0, failureMechanism.StochasticSoilModels.Count);
Assert.IsTrue(importResult);
@@ -490,18 +521,17 @@
ProgressChanged = IncrementProgress
};
- var expectedLogMessages = new[]
- {
- "Het uitgelezen profiel 'Profile' niet wordt niet gebruikt in een van de stochastische ondergrondmodellen.",
- "De som van de kans van voorkomen in het stochastich ondergrondmodel 'Name' is niet gelijk aan 100%."
- };
-
var importResult = false;
// Call
Action call = () => importResult = importer.Import(context, validFilePath);
// Assert
+ var expectedLogMessages = new[]
+ {
+ "Het uitgelezen profiel 'Profile' wordt niet gebruikt in een van de stochastische ondergrondmodellen.",
+ "De som van de kans van voorkomen in het stochastich ondergrondmodel 'Name' is niet gelijk aan 100%."
+ };
TestHelper.AssertLogMessagesAreGenerated(call, expectedLogMessages, 2);
Assert.AreEqual(1, failureMechanism.StochasticSoilModels.Count);
Assert.IsTrue(importResult);
@@ -513,5 +543,19 @@
{
progress++;
}
+
+ private class ProgressNotification
+ {
+ public ProgressNotification(string description, int currentStep, int totalSteps)
+ {
+ Text = description;
+ CurrentStep = currentStep;
+ TotalSteps = totalSteps;
+ }
+
+ public string Text { get; private set; }
+ public int CurrentStep { get; private set; }
+ public int TotalSteps { get; private set; }
+ }
}
}
\ No newline at end of file