Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresImporter.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresImporter.cs (.../ClosingStructuresImporter.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresImporter.cs (.../ClosingStructuresImporter.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -102,7 +102,7 @@ private ClosingStructure CreateClosingStructure(StructureLocation structureLocation, List structureParameterRows) { - Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row); + Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row, StringComparer.OrdinalIgnoreCase); string structureName = structureLocation.Name; return new ClosingStructure( Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs =================================================================== diff -u -r7da60d6a03b1443834aba2cf1e9857351acb5699 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 7da60d6a03b1443834aba2cf1e9857351acb5699) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -231,6 +231,33 @@ Assert.AreEqual(0, importTarget.Count); } + [Test] + public void Import_ParameterIdsWithVaryingCase_TrueAndImportTargetUpdated() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, + Path.Combine("Structures", "CorrectShpRandomCaseHeaderCsv", "Kunstwerken.shp")); + + var referencePoints = new List + { + new Point2D(154493.618,568995.991), + new Point2D(156844.169,574771.498), + new Point2D(157910.502,579115.458), + new Point2D(163625.153,585151.261) + }; + ReferenceLine referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + var importTarget = new ObservableList(); + var structuresImporter = new ClosingStructuresImporter(importTarget, referenceLine, filePath); + + // Call + bool importResult = structuresImporter.Import(); + + // Assert + Assert.IsTrue(importResult); + Assert.AreEqual(4, importTarget.Count); + } + private string CreateExpectedErrorMessage(string filePath, string structureName, string structureId, IEnumerable messages) { Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.csv (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.csv (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -0,0 +1,197 @@ +IDentiFIcAtie;kunStwERKEN.IDENtiFIcaTiE;aLFANumeRiekewAardE;NumerIekeWaARDE;StaNdaaRDafwiJking.vAriAtIe;booLeAn +KWK_1;KW_hOoGtE1; ; 11.63; 0.01;1 +KWK_1;kW_hooGte3; ; 18.11; 0.02;1 +KWK_1;kW_hoOgTe5; ; 4.11; 0.03;0 +KWK_1;Kw_HOoGtE7; ;511000; 0.04;1 +KWK_1;KW_hoOgTe8; ; 6.11; 0.05;0 +KWK_1;KW_HOogte2; ; 5.11; 0.06;1 +KWK_1;Kw_hoOgTE4; ; 0.11; 0.07;0 +KWK_1;KW_hoogtE6; ; 0.10; 0.08;1 +KWK_2;kW_hOogte1; ; 22.63; 0.01;1 +KWK_2;kW_HOoGTe3; ; 18.22; 0.02;1 +KWK_2;KW_hOoGTE5; ; 4.22; 0.03;0 +KWK_2;Kw_hoogTe7; ;522000; 0.04;1 +KWK_2;KW_hoogTe8; ; 6.22; 0.05;0 +KWK_2;Kw_HooGTE2; ; 5.22; 0.06;1 +KWK_2;kw_hOOgTE4; ; 0.22; 0.07;0 +KWK_2;KW_hoOgtE6; ; 0.05; 0.08;1 +KWK_3;kw_HoOgte1; ; 33.63; 0.01;1 +KWK_3;kW_HooGtE3; ; 18.33; 0.02;1 +KWK_3;Kw_Hoogte5; ; 4.33; 0.03;0 +KWK_3;KW_hoogTe7; ;533000; 0.04;1 +KWK_3;Kw_hoOGTe8; ; 6.33; 0.05;0 +KWK_3;kw_hOoGte2; ; 5.33; 0.06;1 +KWK_3;Kw_hooGte4; ; 0.33; 0.07;0 +KWK_3;Kw_HOoGTE6; ; 0.033; 0.08;1 +KWK_4;kW_hOoGTE1; ; 44.63; 0.01;1 +KWK_4;KW_hOOgtE3; ; 18.44; 0.02;1 +KWK_4;KW_HooGte5; ; 4.44; 0.03;0 +KWK_4;Kw_hOOgtE7; ;544000; 0.04;1 +KWK_4;Kw_hoOGte8; ; 6.44; 0.05;0 +KWK_4;kW_HOOGte2; ; 5.44; 0.06;1 +KWK_4;KW_hOOgTE4; ; 0.44; 0.07;0 +KWK_4;Kw_hOogtE6; ; 0.025; 0.08;1 +KWK_1;KW_bETsluIT1;; 20000.11; 0.1;0 +KWK_1;Kw_beTSlUIT2;; 0.21; 0.1;1 +KWK_1;kw_BeTSLUit3;; 11.11; 0;0 +KWK_1;Kw_bEtSLuIt4;; 21.11; 0.05;0 +KWK_1;kw_BETSLuIT5;; 4.91; 0.05;1 +KWK_1;kW_BETsLUiT6;; 0.51; 0.1;1 +KWK_1;KW_bETslUiT7;; 4.11; 0.1;1 +KWK_1;kw_beTslUit8;; 31.51; 0.01;1 +KWK_1;kW_bETsluit9;; 1.11; 0.15;0 +KWK_1;KW_bEtsLUIT10;; 25.11; 0.05;1 +KWK_1;KW_beTsLuIt11;; 0.0909; 0;0 +KWK_1;KW_BeTsluIt12;; 0.1; 0;0 +KWK_1;kW_BETSlUIT13;; 11; 0;1 +KWK_1;KW_BetSLUiT14;; 0.009009; 0;1 +KWK_1;KW_betSLuIt15;VerDRONKEnKOkeR;; ; +KWK_2;KW_bEtslUiT1;; 20000.22; 0.1;0 +KWK_2;kw_BetsluiT2;; 0.22; 0.1;1 +KWK_2;KW_bEtsLUiT3;; 11.22; 0;0 +KWK_2;Kw_BEtsLuIt4;; 21.22; 0.05;0 +KWK_2;kw_bEtslUIT5;; 4.92; 0.05;1 +KWK_2;KW_BETSlUIT6;; 0.52; 0.1;1 +KWK_2;Kw_betSLuiT7;; 4.22; 0.1;1 +KWK_2;kW_beTsLuit8;; 31.52; 0.01;1 +KWK_2;kW_BEtSluIT9;; 1.22; 0.15;0 +KWK_2;KW_BetSLUIT10;; 25.22; 0.05;1 +KWK_2;Kw_BEtsluIt11;; 0.04545; 0;0 +KWK_2;kw_BETsLUIT12;; 0.05; 0;0 +KWK_2;Kw_BEtsLUIT13;; 22; 0;1 +KWK_2;kw_bETsluIt14;; 0.0045045; 0;1 +KWK_2;kw_BeTSluiT15;VErtIcALEWand;; ; +KWK_3;kW_BeTsluIt1;; 20000.33; 0.1;0 +KWK_3;kW_BETsLuIt2;; 0.23; 0.1;1 +KWK_3;Kw_BeTSluiT3;; 11.33; 0;0 +KWK_3;Kw_bETSluiT4;; 21.33; 0.05;0 +KWK_3;KW_BETSLuIT5;; 4.93; 0.05;1 +KWK_3;KW_BETsluiT6;; 0.53; 0.1;1 +KWK_3;KW_bETsLuIT7;; 4.13; 0.1;1 +KWK_3;Kw_betSluIt8;; 31.53; 0.01;1 +KWK_3;kW_bEtsluIT9;; 1.33; 0.15;0 +KWK_3;Kw_BEtSLUiT10;; 25.33; 0.05;1 +KWK_3;kw_BeTSlUIt11;; 0.030303; 0;0 +KWK_3;KW_bEtSlUIT12;; 0.03333; 0;0 +KWK_3;kw_bETSLuIt13;; 33; 0;1 +KWK_3;Kw_bEtSluIt14;; 0.003003; 0;1 +KWK_3;kw_BEtSluIt15;laGEDREmPel;; ; +KWK_4;kw_BeTsLuiT1;; 20000.44; 0.1;0 +KWK_4;Kw_BEtSlUIT2;; 0.24; 0.1;1 +KWK_4;Kw_BETslUit3;; 11.44; 0;0 +KWK_4;kW_bEtsluIt4;; 21.44; 0.05;0 +KWK_4;KW_betsluIT5;; 4.94; 0.05;1 +KWK_4;Kw_bETSLuIT6;; 0.54; 0.1;1 +KWK_4;KW_betsLUiT7;; 4.14; 0.1;1 +KWK_4;Kw_BEtSLUit8;; 31.54; 0.01;1 +KWK_4;Kw_bETSLuIt9;; 1.44; 0.15;0 +KWK_4;KW_BeTSLuIT10;; 25.44; 0.05;1 +KWK_4;KW_BETSLuIt11;; 0.022727; 0;0 +KWK_4;kW_beTsluiT12;; 0.025; 0;0 +KWK_4;Kw_BetsluIT13;; 44; 0;1 +KWK_4;kW_BEtSlUIt14;; 0.00225225; 0;1 +KWK_4;KW_BeTslUiT15;vERTICAlEwAND;; ; +KWK_1;kW_StErsTaB1; ; 10.11; 0;0 +KWK_1;kW_sTerSTaB2; ; 20000.11; 0.1;0 +KWK_1;kW_sTERstaB3; ; 0.81; 0.1;1 +KWK_1;kw_steRStAB4; ; 21.11; 0.05;0 +KWK_1;kw_sTErsTab5; ; 0.71; 0.1;1 +KWK_1;Kw_sTeRSTaB6; ; 4.11; 0.1;1 +KWK_1;kW_StERstAB7; ; 1.11; 0.15;0 +KWK_1;kW_sTErStAb8; ; 25.11; 0.05;0 +KWK_1;kW_sTErSTAB9; ; 11.11; 0.1;0 +KWK_1;kW_StErsTab10; ; 10.11; 0.1;0 +KWK_1;KW_StErsTab11; ; 0.11; 0;1 +KWK_1;kW_STeRsTab12; ; 0.51; 0.1;1 +KWK_1;kW_STerSTaB13; ; 0.21; 0;0 +KWK_1;KW_StERsTAB14; ; 4.91; 0.05;1 +KWK_1;Kw_sTERsTab15; ; 0.11; 0;0 +KWK_1;Kw_stErStAB16; ; 0.09; 0;0 +KWK_1;Kw_STERstab17; ; 10.11; 0.3;0 +KWK_1;kw_sterStAb18; ; 16000.11; 0.2;0 +KWK_1;KW_stersTab19; ; 2.11; 0.2;0 +KWK_1;kw_stERstAb20; ; 11; 0;0 +KWK_1;kw_SterSTaB21; ; 0.10; 0;0 +KWK_1;Kw_stErStAB22; ; 3.11; 1;1 +KWK_1;Kw_StERStab23; ; 15.11; 0.1;0 +KWK_1;KW_StErStAb24; ; 17.11; 0.1;0 +KWK_1;kW_StERstAB25; ; 2.51; 0.01;1 +KWK_1;kW_SteRsTaB26;vErDRonKEnKoKER; ; ; +KWK_2;kw_SteRsTAB1; ; 10.22; 0;0 +KWK_2;Kw_STerstaB2; ; 20000.22; 0.1;0 +KWK_2;kW_sterSTAb3; ; 0.82; 0.1;1 +KWK_2;Kw_STeRStab4; ; 21.22; 0.05;0 +KWK_2;Kw_steRsTab5; ; 0.72; 0.1;1 +KWK_2;KW_STERstaB6; ; 4.22; 0.1;1 +KWK_2;kw_StErstAB7; ; 1.22; 0.15;0 +KWK_2;Kw_STERstAB8; ; 25.22; 0.05;0 +KWK_2;Kw_STeRsTAB9; ; 11.22; 0.1;0 +KWK_2;kW_STerSTAb10; ; 10.22; 0.1;0 +KWK_2;KW_stERStAB11; ; 0.22; 0;1 +KWK_2;kw_sTerStab12; ; 0.52; 0.1;1 +KWK_2;kw_sTERSTAb13; ; 0.22; 0;0 +KWK_2;kw_StErstab14; ; 4.92; 0.05;1 +KWK_2;Kw_STErsTAb15; ; 0.22; 0;0 +KWK_2;kw_steRSTaB16; ;0.0454545; 0;0 +KWK_2;kW_STErSTaB17; ; 10.22; 0.3;0 +KWK_2;Kw_sTerSTAB18; ; 16000.22; 0.2;0 +KWK_2;kW_stErStab19; ; 2.22; 0.2;0 +KWK_2;Kw_stERsTAB20; ; 22; 0;0 +KWK_2;KW_sTeRstaB21; ; 0.05; 0;0 +KWK_2;Kw_sTERstab22; ; 3.22; 1;1 +KWK_2;Kw_STERsTAB23; ; 15.22; 0.1;0 +KWK_2;KW_STeRsTAb24; ; 17.22; 0.1;0 +KWK_2;kw_sterSTab25; ; 2.52; 0.01;1 +KWK_2;Kw_SterstAB26;LagEDrempeL; ; ; +KWK_3;kW_sTErStaB1; ; 10.33; 0;0 +KWK_3;KW_StErStaB2; ; 20000.33; 0.1;0 +KWK_3;Kw_sTERStab3; ; 0.83; 0.1;1 +KWK_3;KW_STErsTaB4; ; 21.33; 0.05;0 +KWK_3;kW_StErstab5; ; 0.73; 0.1;1 +KWK_3;kW_STErSTAB6; ; 4.33; 0.1;1 +KWK_3;kw_StErstaB7; ; 1.33; 0.15;0 +KWK_3;Kw_sTErstAB8; ; 25.33; 0.05;0 +KWK_3;Kw_StErsTAb9; ; 11.33; 0.1;0 +KWK_3;KW_sTersTAb10; ; 10.33; 0.1;0 +KWK_3;kw_StErstAb11; ; 0.33; 0;1 +KWK_3;kW_stERStab12; ; 0.53; 0.1;1 +KWK_3;kW_StERStAB13; ; 0.23; 0;0 +KWK_3;KW_steRStAB14; ; 4.93; 0.05;1 +KWK_3;KW_STerstab15; ; 0.33; 0;0 +KWK_3;kW_stErsTaB16; ; 0.030303; 0;0 +KWK_3;KW_STeRsTAB17; ; 10.33; 0.3;0 +KWK_3;kW_SterstAb18; ; 16000.33; 0.2;0 +KWK_3;kW_SterSTaB19; ; 2.33; 0.2;0 +KWK_3;Kw_STErSTab20; ; 33; 0;0 +KWK_3;kW_SteRsTaB21; ; 0.0333; 0;0 +KWK_3;kw_sTERStab22; ; 3.33; 1;1 +KWK_3;kW_stERsTAb23; ; 15.33; 0.1;0 +KWK_3;kW_sTErsTaB24; ; 17.33; 0.1;0 +KWK_3;kw_sTerStAB25; ; 2.53; 0.01;1 +KWK_3;Kw_SteRStaB26;VErDRoNKenkOKEr; ; ; +KWK_4;KW_SteRstAb1; ; 10.44; 0;0 +KWK_4;Kw_sTErsTaB2; ; 20000.44; 0.1;0 +KWK_4;KW_sterSTab3; ; 0.84; 0.1;1 +KWK_4;kw_stErsTaB4; ; 21.44; 0.05;0 +KWK_4;Kw_stERSTAB5; ; 0.74; 0.1;1 +KWK_4;KW_sTERstAB6; ; 4.44; 0.1;1 +KWK_4;Kw_sTERsTAb7; ; 1.44; 0.15;0 +KWK_4;Kw_SterSTAb8; ; 25.44; 0.05;0 +KWK_4;Kw_SteRSTAB9; ; 11.44; 0.1;0 +KWK_4;Kw_steRsTaB10; ; 10.44; 0.1;0 +KWK_4;kw_sTersTAB11; ; 0.44; 0;1 +KWK_4;kW_StersTAb12; ; 0.54; 0.1;1 +KWK_4;kw_STeRstaB13; ; 0.24; 0;0 +KWK_4;KW_sTERsTAb14; ; 4.94; 0.05;1 +KWK_4;kw_StErstaB15; ; 0.44; 0;0 +KWK_4;KW_STeRstAB16; ; 0.022727; 0;0 +KWK_4;KW_sTErSTab17; ; 10.44; 0.3;0 +KWK_4;kw_StErstAb18; ; 16000.44; 0.2;0 +KWK_4;kW_SteRStab19; ; 2.44; 0.2;0 +KWK_4;Kw_sterStab20; ; 44; 0;0 +KWK_4;Kw_stErStAb21; ; 0.025; 0;0 +KWK_4;kW_sTeRStab22; ; 3.44; 1;1 +KWK_4;KW_sterStAb23; ; 15.44; 0.1;0 +KWK_4;Kw_sTErstAb24; ; 17.44; 0.1;0 +KWK_4;Kw_sTeRSTab25; ; 2.54; 0.01;1 +KWK_4;KW_sTERSTAb26;LaGEdRemPEl; ; ; Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.prj (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.prj (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -0,0 +1 @@ +PROJCS["Amersfoort_RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["Meter",1]] \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.qpj =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.qpj (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.qpj (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -0,0 +1 @@ +PROJCS["Amersfoort / RD New",GEOGCS["Amersfoort",DATUM["Amersfoort",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[565.4171,50.3319,465.5524,-0.398957,0.343988,-1.87740,4.0725],AUTHORITY["EPSG","6289"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4289"]],PROJECTION["Oblique_Stereographic"],PARAMETER["latitude_of_origin",52.15616055555555],PARAMETER["central_meridian",5.38763888888889],PARAMETER["scale_factor",0.9999079],PARAMETER["false_easting",155000],PARAMETER["false_northing",463000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","28992"]] Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpRandomCaseHeaderCsv/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/HeightStructuresImporter.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/HeightStructuresImporter.cs (.../HeightStructuresImporter.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/HeightStructuresImporter.cs (.../HeightStructuresImporter.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -102,7 +102,7 @@ private HeightStructure CreateHeightStructure(StructureLocation structureLocation, List structureParameterRows) { - Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row); + Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row, StringComparer.OrdinalIgnoreCase); string structureName = structureLocation.Name; return new HeightStructure(new HeightStructure.ConstructionProperties Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs =================================================================== diff -u -r7da60d6a03b1443834aba2cf1e9857351acb5699 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 7da60d6a03b1443834aba2cf1e9857351acb5699) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -224,6 +224,33 @@ Assert.AreEqual(0, importTarget.Count); } + [Test] + public void Import_ParameterIdsWithVaryingCase_TrueAndImportTargetUpdated() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, + Path.Combine("Structures", "CorrectShpRandomCaseHeaderCsv", "Kunstwerken.shp")); + + var referencePoints = new List + { + new Point2D(154493.618,568995.991), + new Point2D(156844.169,574771.498), + new Point2D(157910.502,579115.458), + new Point2D(163625.153,585151.261) + }; + ReferenceLine referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + var importTarget = new ObservableList(); + var structuresImporter = new HeightStructuresImporter(importTarget, referenceLine, filePath); + + // Call + bool importResult = structuresImporter.Import(); + + // Assert + Assert.IsTrue(importResult); + Assert.AreEqual(4, importTarget.Count); + } + private static string CreateExpectedErrorMessage(string filePath, string structureName, string structureId, IEnumerable messages) { Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/StabilityPointStructuresImporter.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/StabilityPointStructuresImporter.cs (.../StabilityPointStructuresImporter.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/StabilityPointStructuresImporter.cs (.../StabilityPointStructuresImporter.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -102,7 +102,7 @@ private StabilityPointStructure CreateStabilityPointStructure(StructureLocation structureLocation, List structureParameterRows) { - Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row); + Dictionary rowData = structureParameterRows.ToDictionary(row => row.ParameterId, row => row, StringComparer.OrdinalIgnoreCase); string structureName = structureLocation.Name; return new StabilityPointStructure( Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs =================================================================== diff -u -r7da60d6a03b1443834aba2cf1e9857351acb5699 -r0dd52355d7e8eedc01afd118d8936dca2dc3b7be --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision 7da60d6a03b1443834aba2cf1e9857351acb5699) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision 0dd52355d7e8eedc01afd118d8936dca2dc3b7be) @@ -251,6 +251,33 @@ Assert.AreEqual(0, importTarget.Count); } + [Test] + public void Import_ParameterIdsWithVaryingCase_TrueAndImportTargetUpdated() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, + Path.Combine("Structures", "CorrectShpRandomCaseHeaderCsv", "Kunstwerken.shp")); + + var referencePoints = new List + { + new Point2D(154493.618,568995.991), + new Point2D(156844.169,574771.498), + new Point2D(157910.502,579115.458), + new Point2D(163625.153,585151.261) + }; + ReferenceLine referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + var importTarget = new ObservableList(); + var structuresImporter = new StabilityPointStructuresImporter(importTarget, referenceLine, filePath); + + // Call + bool importResult = structuresImporter.Import(); + + // Assert + Assert.IsTrue(importResult); + Assert.AreEqual(4, importTarget.Count); + } + private static string CreateExpectedErrorMessage(string filePath, string structureName, string structureId, IEnumerable messages) {