Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs
===================================================================
diff -u -r4047 -r4070
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 4047)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 4070)
@@ -50,315 +50,11 @@
public void Setup()
{
if (!Directory.Exists(importFolder))
- Directory.CreateDirectory(importFolder);
- }
-
- ///
- /// Create csv file with segments containing 1d soilprofiles
- ///
- ///
- private static void CreateSegmentsFor1DProfilesFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
{
- writer.WriteLine("segment_id;soilprofile_id;probability;calculation_type");
- writer.WriteLine("1;1DP1;80;Stability");
- writer.WriteLine("1;1DP2;20;Stability");
- writer.WriteLine("1;1DP2;100;Piping");
- writer.WriteLine("2;1DP2;100;Stability");
- writer.WriteLine("2;1DP1;100;Piping");
+ Directory.CreateDirectory(importFolder);
}
}
- ///
- /// Create csv file with segments containing 2d geometries
- ///
- ///
- private static void CreateSegmentsFor2DGeometriesFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("segment_id;soilgeometry2D_name;probability;calculation_type");
- writer.WriteLine("1;GeomA;80;Stability");
- writer.WriteLine("2;GeomB;20;Piping");
- }
- }
-
- ///
- /// Create csv file with segments containing error header
- ///
- ///
- private static void CreateSegmentsFileWithIllegalHeader(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("segment_id;soilgeometry2D_name;soilprofile_id;probability;calculation_type");
- writer.WriteLine("1;GeomA;80;Stability");
- writer.WriteLine("1;GeomB;20;Stability");
- }
- }
-
-
- private static void CreateSoilProfilesFileWithObsoleteColumns(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("soilprofile_id;top_level;soil_name;soiltype");
- writer.WriteLine("1DP1;10;HW-OBO;zand");
- writer.WriteLine("1DP1;-0.6;HW-DUN;veen");
- writer.WriteLine("1DP1;-1.8;HW-DUOzand;veen");
- writer.WriteLine("1DP1;-2.8;HW-HVN;zand");
- writer.WriteLine("1DP1;-4;HW-HVN;zand");
- writer.WriteLine("1DP1;-5;Alg-zand (0-30);zand");
- writer.WriteLine("1DP2;10;HW-OBO;zand");
- writer.WriteLine("1DP2;-0.7;HW-DUN;veen");
- writer.WriteLine("1DP2;-1.5;HW-DUOzand;veen");
- writer.WriteLine("1DP2;-2.4;HW-HVN;zand");
- writer.WriteLine("1DP2;-4.3;HW-HVN;zand");
- writer.WriteLine("1DP2;-5.3;Alg-zand (0-30);zand");
- }
- }
-
- private static void CreateSoilProfilesFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("soilprofile_id;top_level;soil_name");
- writer.WriteLine("1DP1;10;HW-OBO");
- writer.WriteLine("1DP1;-0.6;HW-DUN");
- writer.WriteLine("1DP1;-1.8;HW-DUOzand");
- writer.WriteLine("1DP1;-2.8;HW-HVN");
- writer.WriteLine("1DP1;-4;HW-HVN");
- writer.WriteLine("1DP1;-5;Alg-zand (0-30)");
- writer.WriteLine("1DP2;10;HW-OBO");
- writer.WriteLine("1DP2;-0.7;HW-DUN");
- writer.WriteLine("1DP2;-1.5;HW-DUOzand");
- writer.WriteLine("1DP2;-2.4;HW-HVN");
- writer.WriteLine("1DP2;-4.3;HW-HVN");
- writer.WriteLine("1DP2;-5.3;Alg-zand (0-30)");
- }
- }
-
- private static void CreateSoilProfilesFileWithIllegalHeader(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("soilprofile_id;soil_name");
- writer.WriteLine("1DP1;10;HW-OBO");
- }
- }
-
- private static void CreateSoilProfilesFileWithIllegalHeaderField(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine("soilprofile_id;soil_name;aaa;bbb;");
- writer.WriteLine("1DP1;10;HW-OBO");
- }
- }
-
- private static void CreateCharacteristicPointsFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "Profielnaam;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
- writer.WriteLine(
- "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
- }
- }
-
- private static void CreateCharacteristicPointsFileWithLocationId(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "LocationId;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
- writer.WriteLine(
- "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
- }
- }
-
- private static void CreateCharacteristicPointsFileWithIllegalHeader(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "Profielnaam;X_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek_sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
- writer.WriteLine(
- "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
- }
- }
-
- private static void CreateSurfaceLinesFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "Profielnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
- writer.WriteLine(
- "D1;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
- writer.WriteLine(
- "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
- }
- }
-
- private static void CreateSurfaceLinesFileWithLocationId(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "LocationId;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
- writer.WriteLine(
- "D1;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
- writer.WriteLine(
- "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
- }
- }
-
- private static void CreateSurfaceLinesFileWithIllegalValues(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "Profielnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
- writer.WriteLine(
- "D1;;AS63.310;Bw0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.0as00;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
- writer.WriteLine(
- "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
- }
- }
-
- private static void CreateSurfaceLinesFileWithIllegalHeaders(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "Proflnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
- writer.WriteLine(
- "D1;;AS63.310;Bw0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.0as00;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
- writer.WriteLine(
- "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
- }
- }
-
- private static void CreateLocationsFileWithObsoleteColumn(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;surfaceline_id;segment_id;geo_x;geo_y;x_soilgeometry2D_origin;Pl1_id;polderlevel;polderlevellow;head_pl2;head_pl3;head_pl4;Grass_quality;Direction;Ophoogmateriaaldijk;Ophoogmateriaalberm;Sheetpile_x;Sheetpile_y;Sheetpile_z;Sheetpile_length;use_original_plline_assignments;PenetrationLength;TrafficLoad;minimal_circle_depth;dempingsfactor_pl3;dempingsfactor_pl4;PLLineCreationMethod;level_reduction_inside;level_reduction_outside;layer_height_distribution;layer_height_deviation;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability;Materiaaltypedijk;bp_tp;bp_hbp;bp_lbp;Baggerdiepte;distance_to_entry_point;PLLineOffsetBelowDikeTopAtRiver;PLLineOffsetBelowDikeTopAtPolder;PLLineOffsetBelowShoulderBaseInside;PLLineOffsetBelowDikeToeAtPolder;PLLineOffsetDryBelowDikeTopAtRiver;PLLineOffsetDryBelowDikeTopAtPolder;PLLineOffsetDryBelowShoulderBaseInside;PLLineOffsetDryBelowDikeToeAtPolder;StabilityShoulderGrowSlope;StabilityShoulderGrowDeltaX;StabilitySlopeAdaptionDeltaX;detrimentfactor;dike_table_height;SlopeDampingPiezometricHeightPolderSide;StabilityDesignMethod;SlopeAdaptionStartCotangent;SlopeAdaptionEndCotangent;SlopeAdaptionStepCotangent; UseNewDikeTopWidth; NewDikeTopWidth;UseNewDikeSlopeInside;NewDikeSlopeInside;UseNewDikeSlopeOutside;NewDikeSlopeOutside;UseNewShoulderTopSlope;NewShoulderTopSlope;UseNewShoulderBaseSlope;NewShoulderBaseSlope;UseNewMaxHeightShoulderAsFraction;NewMaxHeightShoulderAsFraction;UseNewMinDistanceDikeToeStartDitch;NewMinDistanceDikeToeStartDitch;UseNewDitchDefinition;NewWidthDitchBottom;newSlopeAngleDitch;NewDepthDitch;ZoneType;ForbiddenZoneFactor;ZoneAreaRestSlopeCrestWidth;PLLineOffsetBelowDikeCrestMiddle;PLLineOffsetFactorBelowShoulderCrest;UsePLLineOffsetDryBelowDikeCrestMiddle;PLLineOffsetDryBelowDikeCrestMiddle;UsePLLineOffsetDryFactorBelowShoulderCrest;PLLineOffsetDryFactorBelowShoulderCrest;IntrusionVerticalWaterPressure;TL_DegreeOfConsolidation;water_height;water_height_low;water_height_decimerings_hoogte;max_waterheight");
- writer.WriteLine(
- "16-1-1-C-3-Z;16-1-1-C-3-Z;1043;124330;441312;1;16-1-1-C-3-Z;0.9;0.2;13.056;0.9;0.8;1;1;klei;klei2;1;2;3;12;TRUE;1.3;10;1.5;30;40;ExpertKnowledgeRRD;1;2;Uniform;0.1;1.2;1.3;1.4;0.01;0.02;0.03;1.1;1.2;klei;1.0;1.1;1.2;2.0;2.1;0.5;0.6;0.1;0.2;0.6;1.6;0.2;0.3;2.0;0.2;0.5;0.9;3.5;0.01;OptimizedSlopeAndShoulderAdaption;3.0;6.0;0.5;TRUE;1.8;TRUE;1.9;TRUE;2.9;TRUE;2.8;TRUE;2.7;TRUE;0.6;TRUE;2.6;TRUE;1.1;1.2;1.3;NoZones;0.5;1.6;1.0;0.1;TRUE;1.1;FALSE;0.11;Standard;10.1;1.2;1.3;1.4;1.5");
- writer.WriteLine(
- "25-2-2-A-1-A;25-2-2-A-1-A;106;66586;424173;2;25-2-2-A-1-A;-0.25;-0.25;0.8727;-0.25;-0.25;1;1;klei;klei2;1;2;3;12;FALSE;1.3;10;1.5;30;40;ExpertKnowledgeRRD;1;2;Uniform;0.1;1.2;1.3;1.4;0.01;0.02;0.03;1.1;1.2;klei;1.0;1.1;1.2;2.0;2.1;0.5;0.6;0.1;0.2;0.6;1.6;0.2;0.3;2.0;0.2;0.5;0.9;3.5;0.2;SlopeAdaptionBeforeShoulderAdaption;4.5;6.5;0.25;FALSE;0.8;FALSE;0.9;FALSE;1.9;FALSE;1.8;FALSE;1.7;FALSE;0.7;FALSE;1.6;FALSE;1.4;1.5;1.6;ForbiddenZone;0.9;2.1; 1.1;0.11;FALSE; 1.0;TRUE;0.1;SemiTimeDependent;55.5;2.2;2.3;2.4;2.5");
- }
- }
-
- private static void CreateScenariosFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
- writer.WriteLine(
- "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
- writer.WriteLine(
- "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
- }
- }
-
- private static void CreateScenariosFileWithOffsetData(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability;PLLineOffsetBelowDikeTopAtRiver;PLLineOffsetBelowDikeTopAtPolder;PLLineOffsetBelowShoulderBaseInside;PLLineOffsetBelowDikeToeAtPolder;UsePLLineOffsetBelowDikeCrestMiddle;PLLineOffsetBelowDikeCrestMiddle;UsePLLineOffsetFactorBelowShoulderCrest;PLLineOffsetFactorBelowShoulderCrest;head_pl3;head_pl4");
- writer.WriteLine(
- "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000;1.1;2.2;3.3;4.4;TRUE;5.5;FALSE;6.6;7.7;8.8");
- writer.WriteLine(
- "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000;0.1;0.2;0.3;0.4;FALSE;0.5;TRUE;0.6;0.7;0.8");
- }
- }
-
- private static void CreateScenariosWithHeadPl3AndHeadPl4File(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;head_pl3;head_pl4");
- writer.WriteLine(
- "D1;1;0.001;0.002");
- writer.WriteLine(
- "D2;1;0.003;0.004");
- }
- }
-
- private static void CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;HeadPl3;HeadPl4");
- writer.WriteLine(
- "D1;1;0.011;0.012");
- writer.WriteLine(
- "D2;1;0.013;0.014");
- }
- }
-
- private static void CreateScenariosWithPolderLevelFile(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;polderlevel;");
- writer.WriteLine(
- "D1;1;0.001;");
- writer.WriteLine(
- "D2;1;0.003;");
- }
- }
-
- private static void CreateScenariosWithHeadPL2File(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;head_pl2;");
- writer.WriteLine(
- "D1;1;0.001;");
- writer.WriteLine(
- "D2;1;0.003;");
- }
- }
-
- private void CreateScenariosFileWithIllegalHeader(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
- writer.WriteLine(
- "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
- writer.WriteLine(
- "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
- }
- }
-
- private void CreateScenariosFileWithIllegalValues(string filePath)
- {
- using (var writer = File.CreateText(filePath))
- {
- writer.WriteLine(
- "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
- writer.WriteLine(
- "D1;1;0.000;0.680;21.110;0.000;1.120;aa;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
- writer.WriteLine(
- "D2;1;0.000;1.680;dd;22.110;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
- }
- }
-
[Test]
public void SegmentImporterThrowsArgumentExceptionWhenFileNameIsEmpty()
{
@@ -377,9 +73,12 @@
const string importFile = "segments.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSegmentsFor1DProfilesFile(testFilePath);
- CsvImporterSegments csvImporterSegments = new CsvImporterSegments(testFilePath);
+ var csvImporterSegments = new CsvImporterSegments(testFilePath);
IList segmentRecords = csvImporterSegments.ImportedItems;
Assert.AreEqual("1", segmentRecords[0].SegmentId);
@@ -402,9 +101,12 @@
const string importFile = "segments.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSegmentsFor2DGeometriesFile(testFilePath);
- CsvImporterSegments csvImporterSegments = new CsvImporterSegments(testFilePath);
+ var csvImporterSegments = new CsvImporterSegments(testFilePath);
IList segmentRecords = csvImporterSegments.ImportedItems;
Assert.AreEqual("1", segmentRecords[0].SegmentId);
@@ -424,7 +126,10 @@
const string importFile = "segments.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSegmentsFileWithIllegalHeader(testFilePath);
Assert.That(() => new CsvImporterSegments(testFilePath), Throws.InstanceOf());
}
@@ -435,9 +140,12 @@
const string importFile = "soilprofiles.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSoilProfilesFileWithObsoleteColumns(testFilePath);
- CsvImporterSoilProfiles csvImporterSoilProfiles = new CsvImporterSoilProfiles(testFilePath);
+ var csvImporterSoilProfiles = new CsvImporterSoilProfiles(testFilePath);
IList soilProfileRecords = csvImporterSoilProfiles.ImportedItems;
Assert.AreEqual("1DP1", soilProfileRecords[0].SoilProfileId);
@@ -459,9 +167,12 @@
const string importFile = "soilprofiles.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSoilProfilesFile(testFilePath);
- CsvImporterSoilProfiles csvImporterSoilProfiles = new CsvImporterSoilProfiles(testFilePath);
+ var csvImporterSoilProfiles = new CsvImporterSoilProfiles(testFilePath);
IList soilProfileRecords = csvImporterSoilProfiles.ImportedItems;
Assert.AreEqual("1DP1", soilProfileRecords[0].SoilProfileId);
@@ -483,7 +194,10 @@
const string importFile = "soilprofiles.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSoilProfilesFileWithIllegalHeader(testFilePath);
Assert.That(() => new CsvImporterSoilProfiles(testFilePath), Throws.InstanceOf());
}
@@ -494,7 +208,10 @@
const string importFile = "soilprofiles.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSoilProfilesFileWithIllegalHeaderField(testFilePath);
Assert.That(() => new CsvImporterSoilProfiles(testFilePath), Throws.InstanceOf());
}
@@ -505,105 +222,44 @@
const string importFile = "characteristicpoints.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateCharacteristicPointsFile(testFilePath);
- CsvImporterCharacteristicPoints csvImporterCharacteristicPoints = new CsvImporterCharacteristicPoints(testFilePath);
+ var csvImporterCharacteristicPoints = new CsvImporterCharacteristicPoints(testFilePath);
IList characteristicPointsRecords = csvImporterCharacteristicPoints.ImportedItems;
CheckCharacteristicPoints(characteristicPointsRecords);
}
-
+
[Test]
public void CharacteristicPointsWithLocationIdImporterCorrectFileTest()
{
const string importFile = "characteristicpoints.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateCharacteristicPointsFileWithLocationId(testFilePath);
- CsvImporterCharacteristicPoints csvImporterCharacteristicPoints = new CsvImporterCharacteristicPoints(testFilePath);
+ var csvImporterCharacteristicPoints = new CsvImporterCharacteristicPoints(testFilePath);
IList characteristicPointsRecords = csvImporterCharacteristicPoints.ImportedItems;
CheckCharacteristicPoints(characteristicPointsRecords);
}
- private static void CheckCharacteristicPoints(IList characteristicPointsRecords)
- {
- Assert.AreEqual("D1", characteristicPointsRecords[0].SurfaceLineId);
- Assert.AreEqual(1, characteristicPointsRecords[0].Volgnummer);
-
- Assert.AreEqual(117.94, characteristicPointsRecords[0].Points[0].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[0].Y);
- Assert.AreEqual(0.12, characteristicPointsRecords[0].Points[0].Z);
-
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].X);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].Y);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].Z);
-
- Assert.AreEqual(73.99, characteristicPointsRecords[0].Points[2].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[2].Y);
- Assert.AreEqual(-1.0, characteristicPointsRecords[0].Points[2].Z);
-
- Assert.AreEqual(72.55, characteristicPointsRecords[0].Points[3].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[3].Y);
- Assert.AreEqual(-1.46, characteristicPointsRecords[0].Points[3].Z);
-
- Assert.AreEqual(67.9, characteristicPointsRecords[0].Points[4].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[4].Y);
- Assert.AreEqual(1.07, characteristicPointsRecords[0].Points[4].Z);
-
- Assert.AreEqual(63.31, characteristicPointsRecords[0].Points[5].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[5].Y);
- Assert.AreEqual(1.36, characteristicPointsRecords[0].Points[5].Z);
-
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].X);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].Y);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].Z);
-
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].X);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].Y);
- Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].Z);
-
- Assert.AreEqual(55.17, characteristicPointsRecords[0].Points[8].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[8].Y);
- Assert.AreEqual(4.46, characteristicPointsRecords[0].Points[8].Z);
-
- Assert.AreEqual(54.25, characteristicPointsRecords[0].Points[9].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[9].Y);
- Assert.AreEqual(4.69, characteristicPointsRecords[0].Points[9].Z);
-
- Assert.AreEqual(51.75, characteristicPointsRecords[0].Points[10].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[10].Y);
- Assert.AreEqual(4.662, characteristicPointsRecords[0].Points[10].Z);
-
- Assert.AreEqual(50.11, characteristicPointsRecords[0].Points[11].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[11].Y);
- Assert.AreEqual(4.46, characteristicPointsRecords[0].Points[11].Z);
-
- Assert.AreEqual(40.48, characteristicPointsRecords[0].Points[12].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[12].Y);
- Assert.AreEqual(1.94, characteristicPointsRecords[0].Points[12].Z);
-
- Assert.AreEqual(32.21, characteristicPointsRecords[0].Points[13].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[13].Y);
- Assert.AreEqual(1.67, characteristicPointsRecords[0].Points[13].Z);
-
- Assert.AreEqual(31.6, characteristicPointsRecords[0].Points[14].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[14].Y);
- Assert.AreEqual(1.3, characteristicPointsRecords[0].Points[14].Z);
-
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[15].X);
- Assert.AreEqual(0, characteristicPointsRecords[0].Points[15].Y);
- Assert.AreEqual(0.68, characteristicPointsRecords[0].Points[15].Z);
- }
-
[Test]
public void CharacteristicPointsImporterIllegalHeaderTest()
{
const string importFile = "characteristicpoints.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateCharacteristicPointsFileWithIllegalHeader(testFilePath);
- Assert.That(() => new CsvImporterCharacteristicPoints(testFilePath), Throws.InstanceOf());
+ Assert.That(() => new CsvImporterCharacteristicPoints(testFilePath), Throws.InstanceOf());
}
[Test]
@@ -612,9 +268,12 @@
const string importFile = "surfacelines.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSurfaceLinesFile(testFilePath);
- CsvImporterSurfaceLines csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
+ var csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
IList surfaceLineRecords = csvImporterSurfaceLines.ImportedItems;
CheckSurfaceLine(surfaceLineRecords);
@@ -626,53 +285,27 @@
const string importFile = "surfacelines.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSurfaceLinesFileWithLocationId(testFilePath);
- CsvImporterSurfaceLines csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
+ var csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
IList surfaceLineRecords = csvImporterSurfaceLines.ImportedItems;
CheckSurfaceLine(surfaceLineRecords);
}
- private static void CheckSurfaceLine(IList surfaceLineRecords)
- {
- Assert.AreEqual("D1", surfaceLineRecords[0].SurfaceLineId);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Xcoors[0]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[0]);
- Assert.AreEqual(0.680, surfaceLineRecords[0].Zcoors[0]);
-
- Assert.AreEqual(21.110, surfaceLineRecords[0].Xcoors[1]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[1]);
- Assert.AreEqual(1.120, surfaceLineRecords[0].Zcoors[1]);
-
- Assert.AreEqual(31.600, surfaceLineRecords[0].Xcoors[2]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[2]);
- Assert.AreEqual(1.300, surfaceLineRecords[0].Zcoors[2]);
-
- Assert.AreEqual(52.630, surfaceLineRecords[0].Xcoors[10]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[10]);
- Assert.AreEqual(4.770, surfaceLineRecords[0].Zcoors[10]);
-
- Assert.AreEqual(72.370, surfaceLineRecords[0].Xcoors[22]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[22]);
- Assert.AreEqual(-1.060, surfaceLineRecords[0].Zcoors[22]);
-
- Assert.AreEqual(86.660, surfaceLineRecords[0].Xcoors[30]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[30]);
- Assert.AreEqual(0.270, surfaceLineRecords[0].Zcoors[30]);
-
- Assert.AreEqual(117.940, surfaceLineRecords[0].Xcoors[32]);
- Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[32]);
- Assert.AreEqual(0.120, surfaceLineRecords[0].Zcoors[32]);
- }
-
[Test]
public void SurfaceLinesImporterIllegalHeaderTest()
{
const string importFile = "surfacelines.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSurfaceLinesFileWithIllegalHeaders(testFilePath);
Assert.That(() => new CsvImporterSurfaceLines(testFilePath), Throws.InstanceOf());
}
@@ -683,9 +316,12 @@
const string importFile = "surfacelines.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateSurfaceLinesFileWithIllegalValues(testFilePath);
- CsvImporterSurfaceLines csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
+ var csvImporterSurfaceLines = new CsvImporterSurfaceLines(testFilePath);
Assert.AreEqual(1, csvImporterSurfaceLines.ErrorMessages.Count);
}
@@ -696,9 +332,12 @@
const string importFile = "locations.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateLocationsFileWithObsoleteColumn(testFilePath);
- CsvImporterLocations csvImporterLocations = new CsvImporterLocations(testFilePath);
+ var csvImporterLocations = new CsvImporterLocations(testFilePath);
IList locationRecords = csvImporterLocations.ImportedItems;
Assert.That(locationRecords.Count, Is.EqualTo(2));
Assert.That(locationRecords[1].LocationId, Is.EqualTo("25-2-2-A-1-A"));
@@ -799,7 +438,7 @@
Assert.That(locationRecords[0].RiverLevel, Is.EqualTo(1.2).Within(tolerance));
Assert.That(locationRecords[1].RiverLevel, Is.EqualTo(2.2).Within(tolerance));
Assert.That(locationRecords[0].RiverLevelLow, Is.EqualTo(1.3).Within(tolerance));
- Assert.That(locationRecords[1].RiverLevelLow, Is.EqualTo(2.3).Within(tolerance));
+ Assert.That(locationRecords[1].RiverLevelLow, Is.EqualTo(2.3).Within(tolerance));
}
[Test]
@@ -808,9 +447,12 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosFile(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -842,9 +484,12 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosFileWithOffsetData(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -896,7 +541,10 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosFileWithIllegalHeader(testFilePath);
Assert.That(() => new CsvImporterScenarios(testFilePath), Throws.InstanceOf());
}
@@ -907,9 +555,12 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosFileWithIllegalValues(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.IsEmpty(scenarioRecords);
Assert.AreEqual(2, csvImporterScenarios.ErrorMessages.Count);
@@ -921,9 +572,12 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosWithHeadPl3AndHeadPl4File(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -943,9 +597,12 @@
const string importFile = "scenarios.csv";
string testFilePath = Path.Combine(importFolder, importFile);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -965,9 +622,12 @@
const string fileName = "polderlevel.csv";
string testFilePath = Path.Combine(importFolder, fileName);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosWithPolderLevelFile(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -985,9 +645,12 @@
const string fileName = "headPL2.csv";
string testFilePath = Path.Combine(importFolder, fileName);
if (File.Exists(testFilePath))
+ {
File.Delete(testFilePath);
+ }
+
CreateScenariosWithHeadPL2File(testFilePath);
- CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(testFilePath);
+ var csvImporterScenarios = new CsvImporterScenarios(testFilePath);
IList scenarioRecords = csvImporterScenarios.ImportedItems;
Assert.AreEqual("D1", scenarioRecords[0].LocationId);
@@ -1004,23 +667,430 @@
{
DataEventPublisher.InvokeWithoutPublishingEvents(() =>
{
- var start = DateTime.Now;
+ DateTime start = DateTime.Now;
const string testDataFolder = @"TestData\CsvData\ImporterTest";
var csvImporterSurfaceLines = new CsvImporterSurfaceLines(testDataFolder + "\\surfacelines.csv");
var csvImporterCharacteristicPoints = new CsvImporterCharacteristicPoints(testDataFolder + "\\characteristicpoints.csv");
var csvImporterSoilProfiles = new CsvImporterSoilProfiles(testDataFolder + "\\soilprofiles.csv");
var csvImporterSegments = new CsvImporterSegments(testDataFolder + "\\segments.csv");
- var end = DateTime.Now;
- var elapsed = end - start;
+ DateTime end = DateTime.Now;
+ TimeSpan elapsed = end - start;
// Note: numbers are the number of records read, not the number of Dam data objects.
Assert.AreEqual(3306, csvImporterSurfaceLines.ImportedItems.Count);
Assert.AreEqual(3305, csvImporterCharacteristicPoints.ImportedItems.Count);
Assert.AreEqual(23554, csvImporterSoilProfiles.ImportedItems.Count);
Assert.AreEqual(7672, csvImporterSegments.ImportedItems.Count);
- var maxTime = TimeSpan.FromSeconds(6); // This is the time on the buildserver; local time was 2 seconds;
- // enlarged from 4 to 6 sec because code coverage was turned on on build server
+ TimeSpan maxTime = TimeSpan.FromSeconds(6); // This is the time on the buildserver; local time was 2 seconds;
+ // enlarged from 4 to 6 sec because code coverage was turned on on build server
Assert.Less(elapsed, maxTime);
});
}
+
+ ///
+ /// Create csv file with segments containing 1d soilprofiles
+ ///
+ ///
+ private static void CreateSegmentsFor1DProfilesFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("segment_id;soilprofile_id;probability;calculation_type");
+ writer.WriteLine("1;1DP1;80;Stability");
+ writer.WriteLine("1;1DP2;20;Stability");
+ writer.WriteLine("1;1DP2;100;Piping");
+ writer.WriteLine("2;1DP2;100;Stability");
+ writer.WriteLine("2;1DP1;100;Piping");
+ }
+ }
+
+ ///
+ /// Create csv file with segments containing 2d geometries
+ ///
+ ///
+ private static void CreateSegmentsFor2DGeometriesFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("segment_id;soilgeometry2D_name;probability;calculation_type");
+ writer.WriteLine("1;GeomA;80;Stability");
+ writer.WriteLine("2;GeomB;20;Piping");
+ }
+ }
+
+ ///
+ /// Create csv file with segments containing error header
+ ///
+ ///
+ private static void CreateSegmentsFileWithIllegalHeader(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("segment_id;soilgeometry2D_name;soilprofile_id;probability;calculation_type");
+ writer.WriteLine("1;GeomA;80;Stability");
+ writer.WriteLine("1;GeomB;20;Stability");
+ }
+ }
+
+ private static void CreateSoilProfilesFileWithObsoleteColumns(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("soilprofile_id;top_level;soil_name;soiltype");
+ writer.WriteLine("1DP1;10;HW-OBO;zand");
+ writer.WriteLine("1DP1;-0.6;HW-DUN;veen");
+ writer.WriteLine("1DP1;-1.8;HW-DUOzand;veen");
+ writer.WriteLine("1DP1;-2.8;HW-HVN;zand");
+ writer.WriteLine("1DP1;-4;HW-HVN;zand");
+ writer.WriteLine("1DP1;-5;Alg-zand (0-30);zand");
+ writer.WriteLine("1DP2;10;HW-OBO;zand");
+ writer.WriteLine("1DP2;-0.7;HW-DUN;veen");
+ writer.WriteLine("1DP2;-1.5;HW-DUOzand;veen");
+ writer.WriteLine("1DP2;-2.4;HW-HVN;zand");
+ writer.WriteLine("1DP2;-4.3;HW-HVN;zand");
+ writer.WriteLine("1DP2;-5.3;Alg-zand (0-30);zand");
+ }
+ }
+
+ private static void CreateSoilProfilesFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("soilprofile_id;top_level;soil_name");
+ writer.WriteLine("1DP1;10;HW-OBO");
+ writer.WriteLine("1DP1;-0.6;HW-DUN");
+ writer.WriteLine("1DP1;-1.8;HW-DUOzand");
+ writer.WriteLine("1DP1;-2.8;HW-HVN");
+ writer.WriteLine("1DP1;-4;HW-HVN");
+ writer.WriteLine("1DP1;-5;Alg-zand (0-30)");
+ writer.WriteLine("1DP2;10;HW-OBO");
+ writer.WriteLine("1DP2;-0.7;HW-DUN");
+ writer.WriteLine("1DP2;-1.5;HW-DUOzand");
+ writer.WriteLine("1DP2;-2.4;HW-HVN");
+ writer.WriteLine("1DP2;-4.3;HW-HVN");
+ writer.WriteLine("1DP2;-5.3;Alg-zand (0-30)");
+ }
+ }
+
+ private static void CreateSoilProfilesFileWithIllegalHeader(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("soilprofile_id;soil_name");
+ writer.WriteLine("1DP1;10;HW-OBO");
+ }
+ }
+
+ private static void CreateSoilProfilesFileWithIllegalHeaderField(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine("soilprofile_id;soil_name;aaa;bbb;");
+ writer.WriteLine("1DP1;10;HW-OBO");
+ }
+ }
+
+ private static void CreateCharacteristicPointsFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "Profielnaam;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
+ writer.WriteLine(
+ "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
+ }
+ }
+
+ private static void CreateCharacteristicPointsFileWithLocationId(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "LocationId;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
+ writer.WriteLine(
+ "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
+ }
+ }
+
+ private static void CreateCharacteristicPointsFileWithIllegalHeader(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "Profielnaam;X_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek_sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer");
+ writer.WriteLine(
+ "D1;117.94;0;0.12;-1;-1;-1;73.99;0;-1.0;72.55;0;-1.46;67.9;0;1.07;63.31;0;1.36;-1;-1;-1;-1;-1;-1;55.17;0;4.46;54.25;0;4.69;51.75;0;4.662;50.11;0;4.46;40.48;0;1.94;32.21;0;1.67;31.6;0;1.3;0;0;0.68;52.63;0;4.77;1");
+ }
+ }
+
+ private static void CreateSurfaceLinesFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "Profielnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
+ writer.WriteLine(
+ "D1;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
+ writer.WriteLine(
+ "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
+ }
+ }
+
+ private static void CreateSurfaceLinesFileWithLocationId(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "LocationId;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
+ writer.WriteLine(
+ "D1;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
+ writer.WriteLine(
+ "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
+ }
+ }
+
+ private static void CreateSurfaceLinesFileWithIllegalValues(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "Profielnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
+ writer.WriteLine(
+ "D1;;AS63.310;Bw0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.0as00;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
+ writer.WriteLine(
+ "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
+ }
+ }
+
+ private static void CreateSurfaceLinesFileWithIllegalHeaders(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "Proflnaam;Geologischprofiel;X_GridPoint;Y_GridPoint;ScenarioClusterID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)");
+ writer.WriteLine(
+ "D1;;AS63.310;Bw0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.0as00;1.300;31.730;0.000;1.610;32.210;0.000;1.670;35.580;0.000;1.580;40.480;0.000;1.940;47.860;0.000;3.790;50.110;0.000;4.460;51.750;0.000;4.662;52.630;0.000;4.770;54.250;0.000;4.690;55.170;0.000;4.460;58.850;0.000;2.980;60.290;0.000;2.460;63.310;0.000;1.360;67.900;0.000;1.070;69.410;0.000;0.600;69.800;0.000;0.480;70.530;0.000;0.000;70.820;0.000;-0.190;71.550;0.000;-0.600;72.370;0.000;-1.060;72.380;0.000;-1.170;72.550;0.000;-1.460;73.860;0.000;-1.390;73.990;0.000;-1.0;74.570;0.000;-0.840;74.970;0.000;-0.600;76.170;0.000;0.110;86.660;0.000;0.270;103.280;0.000;0.220;117.940;0.000;0.120");
+ writer.WriteLine(
+ "D2;;63.310;0.000;1;0.000;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;0.000;1.610");
+ }
+ }
+
+ private static void CreateLocationsFileWithObsoleteColumn(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;surfaceline_id;segment_id;geo_x;geo_y;x_soilgeometry2D_origin;Pl1_id;polderlevel;polderlevellow;head_pl2;head_pl3;head_pl4;Grass_quality;Direction;Ophoogmateriaaldijk;Ophoogmateriaalberm;Sheetpile_x;Sheetpile_y;Sheetpile_z;Sheetpile_length;use_original_plline_assignments;PenetrationLength;TrafficLoad;minimal_circle_depth;dempingsfactor_pl3;dempingsfactor_pl4;PLLineCreationMethod;level_reduction_inside;level_reduction_outside;layer_height_distribution;layer_height_deviation;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability;Materiaaltypedijk;bp_tp;bp_hbp;bp_lbp;Baggerdiepte;distance_to_entry_point;PLLineOffsetBelowDikeTopAtRiver;PLLineOffsetBelowDikeTopAtPolder;PLLineOffsetBelowShoulderBaseInside;PLLineOffsetBelowDikeToeAtPolder;PLLineOffsetDryBelowDikeTopAtRiver;PLLineOffsetDryBelowDikeTopAtPolder;PLLineOffsetDryBelowShoulderBaseInside;PLLineOffsetDryBelowDikeToeAtPolder;StabilityShoulderGrowSlope;StabilityShoulderGrowDeltaX;StabilitySlopeAdaptionDeltaX;detrimentfactor;dike_table_height;SlopeDampingPiezometricHeightPolderSide;StabilityDesignMethod;SlopeAdaptionStartCotangent;SlopeAdaptionEndCotangent;SlopeAdaptionStepCotangent; UseNewDikeTopWidth; NewDikeTopWidth;UseNewDikeSlopeInside;NewDikeSlopeInside;UseNewDikeSlopeOutside;NewDikeSlopeOutside;UseNewShoulderTopSlope;NewShoulderTopSlope;UseNewShoulderBaseSlope;NewShoulderBaseSlope;UseNewMaxHeightShoulderAsFraction;NewMaxHeightShoulderAsFraction;UseNewMinDistanceDikeToeStartDitch;NewMinDistanceDikeToeStartDitch;UseNewDitchDefinition;NewWidthDitchBottom;newSlopeAngleDitch;NewDepthDitch;ZoneType;ForbiddenZoneFactor;ZoneAreaRestSlopeCrestWidth;PLLineOffsetBelowDikeCrestMiddle;PLLineOffsetFactorBelowShoulderCrest;UsePLLineOffsetDryBelowDikeCrestMiddle;PLLineOffsetDryBelowDikeCrestMiddle;UsePLLineOffsetDryFactorBelowShoulderCrest;PLLineOffsetDryFactorBelowShoulderCrest;IntrusionVerticalWaterPressure;TL_DegreeOfConsolidation;water_height;water_height_low;water_height_decimerings_hoogte;max_waterheight");
+ writer.WriteLine(
+ "16-1-1-C-3-Z;16-1-1-C-3-Z;1043;124330;441312;1;16-1-1-C-3-Z;0.9;0.2;13.056;0.9;0.8;1;1;klei;klei2;1;2;3;12;TRUE;1.3;10;1.5;30;40;ExpertKnowledgeRRD;1;2;Uniform;0.1;1.2;1.3;1.4;0.01;0.02;0.03;1.1;1.2;klei;1.0;1.1;1.2;2.0;2.1;0.5;0.6;0.1;0.2;0.6;1.6;0.2;0.3;2.0;0.2;0.5;0.9;3.5;0.01;OptimizedSlopeAndShoulderAdaption;3.0;6.0;0.5;TRUE;1.8;TRUE;1.9;TRUE;2.9;TRUE;2.8;TRUE;2.7;TRUE;0.6;TRUE;2.6;TRUE;1.1;1.2;1.3;NoZones;0.5;1.6;1.0;0.1;TRUE;1.1;FALSE;0.11;Standard;10.1;1.2;1.3;1.4;1.5");
+ writer.WriteLine(
+ "25-2-2-A-1-A;25-2-2-A-1-A;106;66586;424173;2;25-2-2-A-1-A;-0.25;-0.25;0.8727;-0.25;-0.25;1;1;klei;klei2;1;2;3;12;FALSE;1.3;10;1.5;30;40;ExpertKnowledgeRRD;1;2;Uniform;0.1;1.2;1.3;1.4;0.01;0.02;0.03;1.1;1.2;klei;1.0;1.1;1.2;2.0;2.1;0.5;0.6;0.1;0.2;0.6;1.6;0.2;0.3;2.0;0.2;0.5;0.9;3.5;0.2;SlopeAdaptionBeforeShoulderAdaption;4.5;6.5;0.25;FALSE;0.8;FALSE;0.9;FALSE;1.9;FALSE;1.8;FALSE;1.7;FALSE;0.7;FALSE;1.6;FALSE;1.4;1.5;1.6;ForbiddenZone;0.9;2.1; 1.1;0.11;FALSE; 1.0;TRUE;0.1;SemiTimeDependent;55.5;2.2;2.3;2.4;2.5");
+ }
+ }
+
+ private static void CreateScenariosFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
+ writer.WriteLine(
+ "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
+ writer.WriteLine(
+ "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
+ }
+ }
+
+ private static void CreateScenariosFileWithOffsetData(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability;PLLineOffsetBelowDikeTopAtRiver;PLLineOffsetBelowDikeTopAtPolder;PLLineOffsetBelowShoulderBaseInside;PLLineOffsetBelowDikeToeAtPolder;UsePLLineOffsetBelowDikeCrestMiddle;PLLineOffsetBelowDikeCrestMiddle;UsePLLineOffsetFactorBelowShoulderCrest;PLLineOffsetFactorBelowShoulderCrest;head_pl3;head_pl4");
+ writer.WriteLine(
+ "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000;1.1;2.2;3.3;4.4;TRUE;5.5;FALSE;6.6;7.7;8.8");
+ writer.WriteLine(
+ "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000;0.1;0.2;0.3;0.4;FALSE;0.5;TRUE;0.6;0.7;0.8");
+ }
+ }
+
+ private static void CreateScenariosWithHeadPl3AndHeadPl4File(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;head_pl3;head_pl4");
+ writer.WriteLine(
+ "D1;1;0.001;0.002");
+ writer.WriteLine(
+ "D2;1;0.003;0.004");
+ }
+ }
+
+ private static void CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;HeadPl3;HeadPl4");
+ writer.WriteLine(
+ "D1;1;0.011;0.012");
+ writer.WriteLine(
+ "D2;1;0.013;0.014");
+ }
+ }
+
+ private static void CreateScenariosWithPolderLevelFile(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;polderlevel;");
+ writer.WriteLine(
+ "D1;1;0.001;");
+ writer.WriteLine(
+ "D2;1;0.003;");
+ }
+ }
+
+ private static void CreateScenariosWithHeadPL2File(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;head_pl2;");
+ writer.WriteLine(
+ "D1;1;0.001;");
+ writer.WriteLine(
+ "D2;1;0.003;");
+ }
+ }
+
+ private void CreateScenariosFileWithIllegalHeader(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
+ writer.WriteLine(
+ "D1;1;0.000;0.680;21.110;0.000;1.120;31.600;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
+ writer.WriteLine(
+ "D2;1;0.000;1.680;22.110;2.000;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
+ }
+ }
+
+ private void CreateScenariosFileWithIllegalValues(string filePath)
+ {
+ using (StreamWriter writer = File.CreateText(filePath))
+ {
+ writer.WriteLine(
+ "location_id;location_scenario_id;water_height;water_height_low;dike_table_height;water_height_decimerings_hoogte;max_waterheight;safety_factor_piping;safety_factor_stability_inner_slope;safety_factor_stability_outer_slope;probability_of_failure_stability_innerslope;probability_of_failure_stability_outerslope;probability_of_failure_piping;uplift_criterion_piping;uplift_criterion_stability");
+ writer.WriteLine(
+ "D1;1;0.000;0.680;21.110;0.000;1.120;aa;0.000;1.300;31.730;63.310;0.000;1.3;0.000");
+ writer.WriteLine(
+ "D2;1;0.000;1.680;dd;22.110;1.220;32.600;1.000;1.400;32.730;3.310;1.000;1.3;0.000");
+ }
+ }
+
+ private static void CheckCharacteristicPoints(IList characteristicPointsRecords)
+ {
+ Assert.AreEqual("D1", characteristicPointsRecords[0].SurfaceLineId);
+ Assert.AreEqual(1, characteristicPointsRecords[0].Volgnummer);
+
+ Assert.AreEqual(117.94, characteristicPointsRecords[0].Points[0].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[0].Y);
+ Assert.AreEqual(0.12, characteristicPointsRecords[0].Points[0].Z);
+
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].X);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].Y);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[1].Z);
+
+ Assert.AreEqual(73.99, characteristicPointsRecords[0].Points[2].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[2].Y);
+ Assert.AreEqual(-1.0, characteristicPointsRecords[0].Points[2].Z);
+
+ Assert.AreEqual(72.55, characteristicPointsRecords[0].Points[3].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[3].Y);
+ Assert.AreEqual(-1.46, characteristicPointsRecords[0].Points[3].Z);
+
+ Assert.AreEqual(67.9, characteristicPointsRecords[0].Points[4].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[4].Y);
+ Assert.AreEqual(1.07, characteristicPointsRecords[0].Points[4].Z);
+
+ Assert.AreEqual(63.31, characteristicPointsRecords[0].Points[5].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[5].Y);
+ Assert.AreEqual(1.36, characteristicPointsRecords[0].Points[5].Z);
+
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].X);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].Y);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[6].Z);
+
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].X);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].Y);
+ Assert.AreEqual(-1, characteristicPointsRecords[0].Points[7].Z);
+
+ Assert.AreEqual(55.17, characteristicPointsRecords[0].Points[8].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[8].Y);
+ Assert.AreEqual(4.46, characteristicPointsRecords[0].Points[8].Z);
+
+ Assert.AreEqual(54.25, characteristicPointsRecords[0].Points[9].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[9].Y);
+ Assert.AreEqual(4.69, characteristicPointsRecords[0].Points[9].Z);
+
+ Assert.AreEqual(51.75, characteristicPointsRecords[0].Points[10].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[10].Y);
+ Assert.AreEqual(4.662, characteristicPointsRecords[0].Points[10].Z);
+
+ Assert.AreEqual(50.11, characteristicPointsRecords[0].Points[11].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[11].Y);
+ Assert.AreEqual(4.46, characteristicPointsRecords[0].Points[11].Z);
+
+ Assert.AreEqual(40.48, characteristicPointsRecords[0].Points[12].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[12].Y);
+ Assert.AreEqual(1.94, characteristicPointsRecords[0].Points[12].Z);
+
+ Assert.AreEqual(32.21, characteristicPointsRecords[0].Points[13].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[13].Y);
+ Assert.AreEqual(1.67, characteristicPointsRecords[0].Points[13].Z);
+
+ Assert.AreEqual(31.6, characteristicPointsRecords[0].Points[14].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[14].Y);
+ Assert.AreEqual(1.3, characteristicPointsRecords[0].Points[14].Z);
+
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[15].X);
+ Assert.AreEqual(0, characteristicPointsRecords[0].Points[15].Y);
+ Assert.AreEqual(0.68, characteristicPointsRecords[0].Points[15].Z);
+ }
+
+ private static void CheckSurfaceLine(IList surfaceLineRecords)
+ {
+ Assert.AreEqual("D1", surfaceLineRecords[0].SurfaceLineId);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Xcoors[0]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[0]);
+ Assert.AreEqual(0.680, surfaceLineRecords[0].Zcoors[0]);
+
+ Assert.AreEqual(21.110, surfaceLineRecords[0].Xcoors[1]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[1]);
+ Assert.AreEqual(1.120, surfaceLineRecords[0].Zcoors[1]);
+
+ Assert.AreEqual(31.600, surfaceLineRecords[0].Xcoors[2]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[2]);
+ Assert.AreEqual(1.300, surfaceLineRecords[0].Zcoors[2]);
+
+ Assert.AreEqual(52.630, surfaceLineRecords[0].Xcoors[10]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[10]);
+ Assert.AreEqual(4.770, surfaceLineRecords[0].Zcoors[10]);
+
+ Assert.AreEqual(72.370, surfaceLineRecords[0].Xcoors[22]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[22]);
+ Assert.AreEqual(-1.060, surfaceLineRecords[0].Zcoors[22]);
+
+ Assert.AreEqual(86.660, surfaceLineRecords[0].Xcoors[30]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[30]);
+ Assert.AreEqual(0.270, surfaceLineRecords[0].Zcoors[30]);
+
+ Assert.AreEqual(117.940, surfaceLineRecords[0].Xcoors[32]);
+ Assert.AreEqual(0.0, surfaceLineRecords[0].Ycoors[32]);
+ Assert.AreEqual(0.120, surfaceLineRecords[0].Zcoors[32]);
+ }
}
-}
+}
\ No newline at end of file