Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/StochasticSoilProfile.cs
===================================================================
diff -u -r5e70f173b3839314912e086b6c1c784b975ee646 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/StochasticSoilProfile.cs (.../StochasticSoilProfile.cs) (revision 5e70f173b3839314912e086b6c1c784b975ee646)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/StochasticSoilProfile.cs (.../StochasticSoilProfile.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -63,6 +63,17 @@
public PipingSoilProfile SoilProfile { get; set; }
///
+ /// Updates the probability of the
+ /// by adding .
+ ///
+ /// The amount to increase the
+ /// with.
+ public void AddProbability(double probability)
+ {
+ Probability += probability;
+ }
+
+ ///
/// Updates the with the properties
/// from .
///
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs
===================================================================
diff -u -r0df7cded06f5afbac08b97e025242ba55c90ec57 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 0df7cded06f5afbac08b97e025242ba55c90ec57)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -320,7 +320,7 @@
"sp1d.SP1D_ID AS {20} " +
"FROM Mechanism AS m " +
"JOIN Segment AS segment USING(ME_ID) " +
- "JOIN StochasticSoilProfile ssp USING(SSM_ID) " +
+ "JOIN (SELECT SSM_ID, SP1D_ID, SP2D_ID FROM StochasticSoilProfile GROUP BY SSM_ID, SP1D_ID, SP2D_ID) ssp USING(SSM_ID) " +
"JOIN SoilProfile1D sp1d USING (SP1D_ID) " +
"JOIN (" +
subQueryGetNumberOfLayerProfile1D +
@@ -381,7 +381,7 @@
"sp2d.SP2D_ID as {20} " +
"FROM Mechanism AS m " +
"JOIN Segment AS segment USING(ME_ID) " +
- "JOIN StochasticSoilProfile ssp USING(SSM_ID) " +
+ "JOIN (SELECT SSM_ID, SP1D_ID, SP2D_ID FROM StochasticSoilProfile GROUP BY SSM_ID, SP1D_ID, SP2D_ID) ssp USING(SSM_ID) " +
"JOIN SoilProfile2D sp2d USING (SP2D_ID) " +
"JOIN (" +
subQueryGetNumberOfLayerProfile2D +
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/StochasticSoilProfileReader.cs
===================================================================
diff -u -rd73c509c93f18a87da76086c871eca2a2c903e12 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/StochasticSoilProfileReader.cs (.../StochasticSoilProfileReader.cs) (revision d73c509c93f18a87da76086c871eca2a2c903e12)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/StochasticSoilProfileReader.cs (.../StochasticSoilProfileReader.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -198,7 +198,7 @@
private StochasticSoilProfile ReadStochasticSoilProfileProbability()
{
var valueProbability = dataReader[StochasticSoilProfileDatabaseColumns.Probability];
- var probability = (valueProbability.Equals(DBNull.Value)) ? 0 : Convert.ToDouble(valueProbability);
+ var probability = valueProbability.Equals(DBNull.Value) ? 0 : Convert.ToDouble(valueProbability);
var soilProfile1DId = ReadSoilProfile1DId(probability);
if (soilProfile1DId != null)
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelImporter.cs
===================================================================
diff -u -r0970881ada96a68e26a4453b25b3d7b6bd64479d -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision 0970881ada96a68e26a4453b25b3d7b6bd64479d)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -92,6 +92,7 @@
}
AddSoilProfilesToStochasticSoilModels(importSoilProfileResult.ImportedItems, importStochasticSoilModelResult.ImportedItems);
+ MergeStochasticSoilProfiles(importStochasticSoilModelResult.ImportedItems);
CheckIfAllProfilesAreUsed(importSoilProfileResult.ImportedItems, importStochasticSoilModelResult.ImportedItems);
if (Canceled)
{
@@ -117,27 +118,27 @@
{
if (!stochasticSoilModel.StochasticSoilProfiles.Any())
{
- log.WarnFormat(Resources.PipingSoilProfilesImporter_ValidateStochasticSoilModel_No_profiles_found_in_stochastic_soil_model_0,
+ log.WarnFormat(Resources.StochasticSoilModelImporter_ValidateStochasticSoilModel_No_profiles_found_in_stochastic_soil_model_0,
stochasticSoilModel.Name);
return false;
}
if (stochasticSoilModel.StochasticSoilProfiles.Any(ssp => ssp.SoilProfile == null))
{
- log.WarnFormat(Resources.PipingSoilProfilesImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochastic_soil_profile_without_profile,
+ log.WarnFormat(Resources.StochasticSoilModelImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochastic_soil_profile_without_profile,
stochasticSoilModel.Name);
return false;
}
if (!IsSumOfAllProbabilitiesEqualToOne(stochasticSoilModel))
{
- log.WarnFormat(Resources.PipingSoilProfilesImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_stochastic_soil_model_0_is_not_correct,
+ log.WarnFormat(Resources.StochasticSoilModelImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_stochastic_soil_model_0_is_not_correct,
stochasticSoilModel.Name);
}
return true;
}
protected override void LogImportCanceledMessage()
{
- log.Info(Resources.PipingSoilProfilesImporter_Import_Import_canceled);
+ log.Info(Resources.StochasticSoilModelImporter_Import_Import_canceled);
}
private IEnumerable UpdatedInstances { get; set; }
@@ -180,12 +181,35 @@
}
}
+ private void MergeStochasticSoilProfiles(ICollection stochasticSoilModels)
+ {
+ foreach (var stochasticSoilModel in stochasticSoilModels)
+ {
+ var profiles = stochasticSoilModel.StochasticSoilProfiles.OrderBy(sp => sp.SoilProfileId).ToArray();
+ for (int i = 1; i < profiles.Length; i++)
+ {
+ var previousProfile = profiles[i - 1];
+ var currentProfile = profiles[i];
+ if (currentProfile.SoilProfileId == previousProfile.SoilProfileId &&
+ currentProfile.SoilProfileType == previousProfile.SoilProfileType)
+ {
+ log.Warn(string.Format(Resources.StochasticSoilModelImporter_MergeStochasticSoilProfiles_Multiple_SoilProfile_0_used_in_StochasticSoilModel_1_Probabilities_added_,
+ previousProfile.SoilProfile.Name,
+ stochasticSoilModel.Name));
+
+ previousProfile.AddProbability(currentProfile.Probability);
+ stochasticSoilModel.StochasticSoilProfiles.Remove(currentProfile);
+ }
+ }
+ }
+ }
+
private void CheckIfAllProfilesAreUsed(ICollection soilProfiles, ICollection stochasticSoilModels)
{
- NotifyProgress(Resources.PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles, 1, 1);
+ NotifyProgress(Resources.StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles, 1, 1);
foreach (var soilProfile in soilProfiles.Where(soilProfile => !PipingSoilProfileIsUsed(soilProfile, stochasticSoilModels)))
{
- log.WarnFormat(Resources.PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in_any_stochastic_soil_model, soilProfile.Name);
+ log.WarnFormat(Resources.StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in_any_stochastic_soil_model, soilProfile.Name);
}
}
@@ -196,7 +220,7 @@
private void HandleException(Exception e)
{
- var message = string.Format(Resources.PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped,
+ var message = string.Format(Resources.StochasticSoilModelImporter_CriticalErrorMessage_0_File_Skipped,
e.Message);
log.Error(message);
}
@@ -205,7 +229,7 @@
private ReadResult ReadStochasticSoilModels()
{
- NotifyProgress(Resources.PipingSoilProfilesImporter_Reading_database, 1, 1);
+ NotifyProgress(Resources.StochasticSoilModelImporter_Reading_database, 1, 1);
try
{
using (var stochasticSoilModelReader = new StochasticSoilModelReader(FilePath))
@@ -234,12 +258,12 @@
}
try
{
- NotifyProgress(Resources.PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Reading_stochastic_soil_models_from_database, currentStep++, totalNumberOfSteps);
+ NotifyProgress(Resources.StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Reading_stochastic_soil_models_from_database, currentStep++, totalNumberOfSteps);
soilModels.Add(stochasticSoilModelReader.ReadStochasticSoilModel());
}
catch (StochasticSoilProfileReadException e)
{
- var message = string.Format(Resources.PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_soil_model_skipped, e.Message);
+ var message = string.Format(Resources.StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_soil_model_skipped, e.Message);
log.Error(message);
}
}
@@ -255,7 +279,7 @@
private ReadResult ReadSoilProfiles()
{
- NotifyProgress(Resources.PipingSoilProfilesImporter_Reading_database, 1, 1);
+ NotifyProgress(Resources.StochasticSoilModelImporter_Reading_database, 1, 1);
try
{
using (var soilProfileReader = new PipingSoilProfileReader(FilePath))
@@ -284,18 +308,18 @@
}
try
{
- NotifyProgress(Resources.PipingSoilProfilesImporter_ReadingSoilProfiles, currentStep++, totalNumberOfSteps);
+ NotifyProgress(Resources.StochasticSoilModelImporter_ReadingSoilProfiles, currentStep++, totalNumberOfSteps);
profiles.Add(soilProfileReader.ReadProfile());
}
catch (PipingSoilProfileReadException e)
{
- var message = string.Format(Resources.PipingSoilProfilesImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skipped,
+ var message = string.Format(Resources.StochasticSoilModelImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skipped,
e.Message);
log.Error(message);
}
catch (CriticalFileReadException e)
{
- var message = string.Format(Resources.PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped,
+ var message = string.Format(Resources.StochasticSoilModelImporter_CriticalErrorMessage_0_File_Skipped,
FilePath, e.Message);
log.Error(message);
return new ReadResult(true);
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceData.cs
===================================================================
diff -u -r673bf2f4f4de6006444aae3a10183f9442eb0f23 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceData.cs (.../StochasticSoilModelReplaceData.cs) (revision 673bf2f4f4de6006444aae3a10183f9442eb0f23)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceData.cs (.../StochasticSoilModelReplaceData.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -53,7 +53,7 @@
var stochasticSoilModel = targetCollection.FirstOrDefault(ssm => ssm.Id == readStochasticSoilModel.Id);
if (stochasticSoilModel != null)
{
- log.WarnFormat(Properties.Resources.PipingSoilProfilesImporter_AddImportedDataToModel_Stochastisch_soil_model_0_already_exists, stochasticSoilModel.Name);
+ log.WarnFormat(Properties.Resources.StochasticSoilModelImporter_AddImportedDataToModel_Stochastisch_soil_model_0_already_exists, stochasticSoilModel.Name);
}
modelsToAdd.Add(readStochasticSoilModel);
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs
===================================================================
diff -u -r06d2a1e1525e818b3e71c4bcd61778e1ef4b2df7 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 06d2a1e1525e818b3e71c4bcd61778e1ef4b2df7)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -128,134 +128,6 @@
}
///
- /// Looks up a localized string similar to Het stochastische ondergrondmodel '{0}' bestaat al in het toetsspoor..
- ///
- public static string PipingSoilProfilesImporter_AddImportedDataToModel_Stochastisch_soil_model_0_already_exists {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_AddImportedDataToModel_Stochastisch_soil_model_0_alrea" +
- "dy_exists", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to De uitgelezen ondergrondschematisatie '{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 {
- return ResourceManager.GetString("PipingSoilProfilesImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in" +
- "_any_stochastic_soil_model", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Controleren van ondergrondschematisaties..
- ///
- 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..
- ///
- public static string PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to {0} Dit stochastische ondergrondmodel wordt overgeslagen..
- ///
- public static string PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_soil_model_skipped {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_so" +
- "il_model_skipped", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Inlezen van de stochastische ondergrondmodellen..
- ///
- public static string PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Reading_stochastic_soil_models_from_database {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_GetStochasticSoilModelReadResult_Reading_stochastic_so" +
- "il_models_from_database", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Stochastische ondergrondmodellen importeren afgebroken. Geen data ingelezen..
- ///
- public static string PipingSoilProfilesImporter_Import_Import_canceled {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_Import_Import_canceled", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Inlezen van de D-Soil Model database..
- ///
- public static string PipingSoilProfilesImporter_Reading_database {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_Reading_database", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Inlezen van de ondergrondschematisatie uit de D-Soil Model database..
- ///
- public static string PipingSoilProfilesImporter_ReadingSoilProfiles {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_ReadingSoilProfiles", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to {0}
- ///Deze ondergrondschematisatie wordt overgeslagen..
- ///
- public static string PipingSoilProfilesImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skipped {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skipp" +
- "ed", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Er zijn geen ondergrondschematisaties gevonden in het stochastische ondergrondmodel '{0}'. Dit model wordt overgeslagen..
- ///
- public static string PipingSoilProfilesImporter_ValidateStochasticSoilModel_No_profiles_found_in_stochastic_soil_model_0 {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_ValidateStochasticSoilModel_No_profiles_found_in_stoch" +
- "astic_soil_model_0", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Het stochastische ondergrondmodel '{0}' heeft een ongespecificeerde ondergrondschematisatie. Dit model wordt overgeslagen..
- ///
- public static string PipingSoilProfilesImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochastic_soil_profile_without_profile {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochasti" +
- "c_soil_profile_without_profile", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to De som van de kansen van voorkomen in het stochastich ondergrondmodel '{0}' is niet gelijk aan 100%..
- ///
- public static string PipingSoilProfilesImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_stochastic_soil_model_0_is_not_correct {
- get {
- return ResourceManager.GetString("PipingSoilProfilesImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_st" +
- "ochastic_soil_model_0_is_not_correct", resourceCulture);
- }
- }
-
- ///
/// Looks up a localized string similar to Karakteristieke punten gevonden zonder bijbehorende profielschematisatie voor locatie '{0}'..
///
public static string PipingSurfaceLinesCsvImporter_AddImportedDataToModel_Characteristic_points_found_for_unknown_SurfaceLine_0_ {
@@ -500,5 +372,143 @@
return ResourceManager.GetString("Soil_file_name", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized string similar to Het stochastische ondergrondmodel '{0}' bestaat al in het toetsspoor..
+ ///
+ public static string StochasticSoilModelImporter_AddImportedDataToModel_Stochastisch_soil_model_0_already_exists {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_AddImportedDataToModel_Stochastisch_soil_model_0_alre" +
+ "ady_exists", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De uitgelezen ondergrondschematisatie '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen..
+ ///
+ public static string StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_in_any_stochastic_soil_model {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_SoilProfile_0_is_not_used_i" +
+ "n_any_stochastic_soil_model", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Controleren van ondergrondschematisaties..
+ ///
+ public static string StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profiles {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_CheckIfAllProfilesAreUsed_Start_checking_soil_profile" +
+ "s", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to {0}
+ ///Het bestand wordt overgeslagen..
+ ///
+ public static string StochasticSoilModelImporter_CriticalErrorMessage_0_File_Skipped {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_CriticalErrorMessage_0_File_Skipped", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to {0} Dit stochastische ondergrondmodel wordt overgeslagen..
+ ///
+ public static string StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_soil_model_skipped {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Error_0_stochastic_s" +
+ "oil_model_skipped", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Inlezen van de stochastische ondergrondmodellen..
+ ///
+ public static string StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Reading_stochastic_soil_models_from_database {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_GetStochasticSoilModelReadResult_Reading_stochastic_s" +
+ "oil_models_from_database", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Stochastische ondergrondmodellen importeren afgebroken. Geen data ingelezen..
+ ///
+ public static string StochasticSoilModelImporter_Import_Import_canceled {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_Import_Import_canceled", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ondergrondschematisatie '{0}' is meerdere keren gevonden in ondergrondmodel '{1}'. Kansen van voorkomen worden opgeteld..
+ ///
+ public static string StochasticSoilModelImporter_MergeStochasticSoilProfiles_Multiple_SoilProfile_0_used_in_StochasticSoilModel_1_Probabilities_added_ {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_MergeStochasticSoilProfiles_Multiple_SoilProfile_0_us" +
+ "ed_in_StochasticSoilModel_1_Probabilities_added.", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Inlezen van de D-Soil Model database..
+ ///
+ public static string StochasticSoilModelImporter_Reading_database {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_Reading_database", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Inlezen van de ondergrondschematisatie uit de D-Soil Model database..
+ ///
+ public static string StochasticSoilModelImporter_ReadingSoilProfiles {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_ReadingSoilProfiles", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to {0}
+ ///Deze ondergrondschematisatie wordt overgeslagen..
+ ///
+ public static string StochasticSoilModelImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skipped {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_ReadSoilProfiles_ParseErrorMessage_0_SoilProfile_skip" +
+ "ped", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er zijn geen ondergrondschematisaties gevonden in het stochastische ondergrondmodel '{0}'. Dit model wordt overgeslagen..
+ ///
+ public static string StochasticSoilModelImporter_ValidateStochasticSoilModel_No_profiles_found_in_stochastic_soil_model_0 {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_ValidateStochasticSoilModel_No_profiles_found_in_stoc" +
+ "hastic_soil_model_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het stochastische ondergrondmodel '{0}' heeft een ongespecificeerde ondergrondschematisatie. Dit model wordt overgeslagen..
+ ///
+ public static string StochasticSoilModelImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochastic_soil_profile_without_profile {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_ValidateStochasticSoilModel_SoilModel_0_with_stochast" +
+ "ic_soil_profile_without_profile", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De som van de kansen van voorkomen in het stochastich ondergrondmodel '{0}' is niet gelijk aan 100%..
+ ///
+ public static string StochasticSoilModelImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_stochastic_soil_model_0_is_not_correct {
+ get {
+ return ResourceManager.GetString("StochasticSoilModelImporter_ValidateStochasticSoilModel_Sum_of_probabilities_of_s" +
+ "tochastic_soil_model_0_is_not_correct", resourceCulture);
+ }
+ }
}
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx
===================================================================
diff -u -r06d2a1e1525e818b3e71c4bcd61778e1ef4b2df7 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 06d2a1e1525e818b3e71c4bcd61778e1ef4b2df7)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -134,21 +134,21 @@
{0}
Deze profielschematisatie wordt overgeslagen.
-
+
Stochastische ondergrondmodellen importeren afgebroken. Geen data ingelezen.
-
+
Inlezen van de D-Soil Model database.
-
+
{0}
Het bestand wordt overgeslagen.
-
+
{0}
Deze ondergrondschematisatie wordt overgeslagen.
-
+
Inlezen van de ondergrondschematisatie uit de D-Soil Model database.
@@ -197,25 +197,25 @@
Inlezen van het profielschematisatiesbestand.
-
+
Het stochastische ondergrondmodel '{0}' bestaat al in het toetsspoor.
-
+
De uitgelezen ondergrondschematisatie '{0}' wordt niet gebruikt in een van de stochastische ondergrondmodellen.
-
+
Er zijn geen ondergrondschematisaties gevonden in het stochastische ondergrondmodel '{0}'. Dit model wordt overgeslagen.
-
+
Inlezen van de stochastische ondergrondmodellen.
-
+
De som van de kansen van voorkomen in het stochastich ondergrondmodel '{0}' is niet gelijk aan 100%.
-
+
{0} Dit stochastische ondergrondmodel wordt overgeslagen.
-
+
Controleren van ondergrondschematisaties.
@@ -227,7 +227,7 @@
Klaar met het inlezen van karakteristieke punten uit bestand '{0}'.
-
+
Het stochastische ondergrondmodel '{0}' heeft een ongespecificeerde ondergrondschematisatie. Dit model wordt overgeslagen.
@@ -252,4 +252,7 @@
Selecteer de nieuwe locatie van het geïmporteerde bestand
+
+ Ondergrondschematisatie '{0}' is meerdere keren gevonden in ondergrondmodel '{1}'. Kansen van voorkomen worden opgeteld.
+
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/StochasticSoilProfileTest.cs
===================================================================
diff -u -r5e70f173b3839314912e086b6c1c784b975ee646 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/StochasticSoilProfileTest.cs (.../StochasticSoilProfileTest.cs) (revision 5e70f173b3839314912e086b6c1c784b975ee646)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/StochasticSoilProfileTest.cs (.../StochasticSoilProfileTest.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -45,6 +45,26 @@
}
[Test]
+ [TestCase(0)]
+ [TestCase(2.3)]
+ [TestCase(0.55)]
+ [TestCase(double.NaN)]
+ [TestCase(double.MaxValue)]
+ [TestCase(double.MinValue)]
+ public void AddProbability_DifferentValues_ProbabilityIncreasedAsExpected(double probabilityToAdd)
+ {
+ // Setup
+ var startProbability = new Random(21).NextDouble();
+ var profile = new StochasticSoilProfile(startProbability, SoilProfileType.SoilProfile1D, -1);
+
+ // Call
+ profile.AddProbability(probabilityToAdd);
+
+ // Assert
+ Assert.AreEqual(startProbability + probabilityToAdd, profile.Probability);
+ }
+
+ [Test]
public void Update_WithNullProfile_ThrowsArgumentNullException()
{
// Setup
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/PipingSoilProfilesReader/multipleStochasticSoilProfileForSameProfile.soil
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelImporterTest.cs
===================================================================
diff -u -rc6aafdb993afe50d270dc5531523c4163f9bd2c8 -r4e4ced94d27f939fc77f364201840814dc542af1
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision c6aafdb993afe50d270dc5531523c4163f9bd2c8)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision 4e4ced94d27f939fc77f364201840814dc542af1)
@@ -104,7 +104,7 @@
messages =>
{
string[] messageArray = messages.ToArray();
- var message = string.Format(Resources.PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped, string.Empty);
+ var message = $"{string.Empty} \r\nHet bestand wordt overgeslagen.";
StringAssert.EndsWith(message, messageArray[0]);
});
Assert.AreEqual(1, progress);
@@ -135,7 +135,7 @@
messages =>
{
string[] messageArray = messages.ToArray();
- var message = string.Format(Resources.PipingSoilProfilesImporter_CriticalErrorMessage_0_File_Skipped, string.Empty);
+ var message = $"{string.Empty} \r\nHet bestand wordt overgeslagen.";
StringAssert.EndsWith(message, messageArray[0]);
});
Assert.AreEqual(1, progress);
@@ -569,6 +569,32 @@
}
[Test]
+ public void Import_ModelWithTwoStochasticSoilProfileForSameProfile_ProbabilitiesAddedAndLog()
+ {
+ // Setup
+ string pathToFile = Path.Combine(testDataPath, "multipleStochasticSoilProfileForSameProfile.soil");
+
+ var failureMechanism = new PipingFailureMechanism();
+ var importer = new StochasticSoilModelImporter(failureMechanism.StochasticSoilModels, pathToFile, new StochasticSoilModelReplaceData());
+ importer.SetProgressChanged(IncrementProgress);
+
+ var importResult = false;
+
+ // Call
+ Action importAction = () => importResult = importer.Import();
+
+ // Assert
+ TestHelper.AssertLogMessageIsGenerated(importAction, "Ondergrondschematisatie 'Profile' is meerdere keren gevonden in ondergrondmodel 'StochasticSoilModelName'. Kansen van voorkomen worden opgeteld.", 1);
+ Assert.IsTrue(importResult);
+ StochasticSoilModelCollection importedModels = failureMechanism.StochasticSoilModels;
+ Assert.AreEqual(pathToFile, importedModels.SourcePath);
+ Assert.AreEqual(1, importedModels.Count);
+ var firstModel = importedModels.First();
+ Assert.AreEqual(1, firstModel.StochasticSoilProfiles.Count);
+ Assert.AreEqual(1.0, firstModel.StochasticSoilProfiles[0].Probability);
+ }
+
+ [Test]
public void Import_ModelWithOneStochasticSoilProfile2DWithoutLayerPropertiesSet_ImportModelToCollection()
{
// Setup