Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs =================================================================== diff -u -rce36fdd8e9af2866739cc67c82ea820f51533777 -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision ce36fdd8e9af2866739cc67c82ea820f51533777) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -263,7 +263,8 @@ { // Setup var importTarget = new StructureCollection(); - string filePath = Path.Combine(testDataPath, nameof(ClosingStructuresImporter), "Kunstwerken.shp"); + string filePath = Path.Combine(testDataPath, nameof(ClosingStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var messageProvider = mocks.Stub(); var updateStrategy = mocks.StrictMock>(); @@ -316,6 +317,64 @@ } [Test] + public void Import_MissingParametersAndDuplicateIrrelevantParameter_LogWarningAndContinueImportWithDefaultValues() + { + // Setup + var importTarget = new StructureCollection(); + string filePath = Path.Combine(testDataPath, nameof(ClosingStructuresImporter), + "MissingAndDuplicateIrrelevantParameters", "Kunstwerken.shp"); + + var messageProvider = mocks.Stub(); + var updateStrategy = mocks.StrictMock>(); + updateStrategy.Expect(u => u.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments().WhenCalled(i => + { + Assert.AreSame(importTarget, i.Arguments[0]); + Assert.AreEqual(filePath, i.Arguments[2]); + + var defaultStructure = new ClosingStructure(new ClosingStructure.ConstructionProperties + { + Name = "test", + Location = new Point2D(0, 0), + Id = "id" + }); + + var readStructures = (IEnumerable) i.Arguments[1]; + Assert.AreEqual(1, readStructures.Count()); + ClosingStructure importedStructure = readStructures.First(); + DistributionAssert.AreEqual(defaultStructure.StorageStructureArea, importedStructure.StorageStructureArea); + DistributionAssert.AreEqual(defaultStructure.LevelCrestStructureNotClosing, importedStructure.LevelCrestStructureNotClosing); + DistributionAssert.AreEqual(defaultStructure.AreaFlowApertures, importedStructure.AreaFlowApertures); + Assert.AreEqual(defaultStructure.FailureProbabilityReparation, importedStructure.FailureProbabilityReparation); + }); + mocks.ReplayAll(); + + ReferenceLine referenceLine = CreateReferenceLine(); + + var structuresImporter = new ClosingStructuresImporter(importTarget, referenceLine, + filePath, messageProvider, updateStrategy); + + // Call + var importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + TestHelper.AssertLogMessages(call, msgs => + { + string[] messages = msgs.ToArray(); + Assert.AreEqual(9, messages.Length); + + const string structure = "'Coupure Den Oever (90k1)' (KUNST1)"; + + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_BETSLUIT1' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[0]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_BETSLUIT5' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[3]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_BETSLUIT8' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[6]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_BETSLUIT14' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[8]); + // Don't care about the other messages. + }); + Assert.IsTrue(importResult); + } + + [Test] public void Import_AllParameterIdsDefinedAndDuplicateUnknownParameterId_TrueAndImportTargetUpdated() { // Setup @@ -358,6 +417,49 @@ } [Test] + public void Import_NoParameterIdsDefinedAndOnlyDuplicateUnknownParameterId_TrueAndImportTargetUpdated() + { + // Setup + var importTarget = new StructureCollection(); + string filePath = Path.Combine(commonIoTestDataPath, "StructuresWithOnlyDuplicateIrrelevantParameterInCsv", + "Kunstwerken.shp"); + + var messageProvider = mocks.Stub(); + var updateStrategy = mocks.Stub>(); + mocks.ReplayAll(); + + 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) + }; + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + + var structuresImporter = new ClosingStructuresImporter(importTarget, + referenceLine, + filePath, + messageProvider, + updateStrategy); + + // Call + var importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + string csvFilePath = Path.ChangeExtension(filePath, "csv"); + string message = CreateExpectedErrorMessage(csvFilePath, "Eerste kunstwerk 6-3", "KWK_1", new[] + { + "Geen geldige parameter definities gevonden." + }); + TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(message, LogLevelConstant.Error)); + Assert.IsFalse(importResult); + Assert.AreEqual(0, importTarget.Count); + } + + [Test] public void DoPostImport_UpdateStrategyReturningObservables_AllObservablesNotified() { var messageProvider = mocks.Stub(); @@ -376,7 +478,8 @@ strategy.Expect(s => s.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments().Return(observables); mocks.ReplayAll(); - string filePath = Path.Combine(testDataPath, nameof(ClosingStructuresImporter), "Kunstwerken.shp"); + string filePath = Path.Combine(testDataPath, nameof(ClosingStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var importTarget = new StructureCollection(); ReferenceLine referenceLine = CreateReferenceLine(); Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/Kunstwerken.csv'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/Kunstwerken.dbf =================================================================== diff -u -r006e2461c3c2f32451e7f8715e3cece92230a27a -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/Kunstwerken.prj'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/Kunstwerken.shp =================================================================== diff -u -r006e2461c3c2f32451e7f8715e3cece92230a27a -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/Kunstwerken.shx =================================================================== diff -u -r006e2461c3c2f32451e7f8715e3cece92230a27a -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,14 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_ONBEKEND;2;2;2;2;2;2;;;2;;;;;1;0.01;0; +12;KUNST1;1;KW_ONBEKEND;2;2;2;2;2;2;;;2;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT2;2;2;2;2;2;2;;;2;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT3;3;3;3;3;3;3;;;3;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT4;4;4;4;4;4;4;;;4;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT6;6;6;6;6;6;6;;;6;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT7;7;7;7;7;7;7;;;7;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT9;9;9;9;9;9;9;;;9;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT10;10;10;10;10;10;10;;;10;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT11;11;11;11;11;11;11;;;11;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT12;12;12;12;12;12;12;;;12;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT13;13;13;13;13;13;13;;;13;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT15;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,12 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_BETSLUIT2;2;2;2;2;2;2;;;2;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT3;3;3;3;3;3;3;;;3;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT4;4;4;4;4;4;4;;;4;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT6;6;6;6;6;6;6;;;6;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT7;7;7;7;7;7;7;;;7;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT9;9;9;9;9;9;9;;;9;;;;;1;0.01;0; +12;KUNST1;1;KW_BETSLUIT10;10;10;10;10;10;10;;;10;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT11;11;11;11;11;11;11;;;11;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT12;12;12;12;12;12;12;;;12;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT13;13;13;13;13;13;13;;;13;;;;;1;0;0; +12;KUNST1;1;KW_BETSLUIT15;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresImporter/MissingParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.csv (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,3 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KWK_1;1;KW_Onbekend;15;15;15;15;15;15;;;15;;;;;1;0;0; +12;KWK_1;1;KW_Onbekend;15;15;15;15;15;15;;;15;;;;;1;0;0; \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/StructuresWithOnlyDuplicateIrrelevantParameterInCsv/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs =================================================================== diff -u -rce36fdd8e9af2866739cc67c82ea820f51533777 -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision ce36fdd8e9af2866739cc67c82ea820f51533777) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -219,7 +219,8 @@ { // Setup var importTarget = new StructureCollection(); - string filePath = Path.Combine(testDataPath, nameof(HeightStructuresImporter), "Kunstwerken.shp"); + string filePath = Path.Combine(testDataPath, nameof(HeightStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var messageProvider = mocks.Stub(); var strategy = mocks.StrictMock>(); @@ -272,6 +273,64 @@ } [Test] + public void Import_MissingParametersAndDuplicateIrrelevantParameter_LogWarningAndContinueImport() + { + // Setup + var importTarget = new StructureCollection(); + string filePath = Path.Combine(testDataPath, nameof(HeightStructuresImporter), + "MissingAndDuplicateIrrelevantParameters", "Kunstwerken.shp"); + + var messageProvider = mocks.Stub(); + var strategy = mocks.StrictMock>(); + strategy.Expect(s => s.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments() + .WhenCalled(invocation => + { + Assert.AreSame(invocation.Arguments[0], importTarget); + Assert.AreSame(invocation.Arguments[2], filePath); + + var readStructures = (IEnumerable) invocation.Arguments[1]; + Assert.AreEqual(1, readStructures.Count()); + HeightStructure structure = readStructures.First(); + var defaultStructure = new HeightStructure(new HeightStructure.ConstructionProperties + { + Name = "test", + Location = new Point2D(0, 0), + Id = "id" + }); + Assert.AreEqual(defaultStructure.StructureNormalOrientation, structure.StructureNormalOrientation); + DistributionAssert.AreEqual(defaultStructure.FlowWidthAtBottomProtection, structure.FlowWidthAtBottomProtection); + Assert.AreEqual(defaultStructure.FailureProbabilityStructureWithErosion, structure.FailureProbabilityStructureWithErosion); + }) + .Return(Enumerable.Empty()); + mocks.ReplayAll(); + + ReferenceLine referenceLine = CreateReferenceLine(); + + var importer = new HeightStructuresImporter(importTarget, referenceLine, filePath, + messageProvider, strategy); + + var importResult = false; + + // Call + Action call = () => importResult = importer.Import(); + + // Assert + TestHelper.AssertLogMessages(call, msgs => + { + string[] messages = msgs.ToArray(); + Assert.AreEqual(4, messages.Length); + + const string structure = "'Coupure Den Oever (90k1)' (KUNST1)"; + + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_HOOGTE1' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[0]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_HOOGTE3' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[1]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_HOOGTE6' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[2]); + // Don't care about the other message. + }); + Assert.IsTrue(importResult); + } + + [Test] public void Import_ParameterIdsWithVaryingCase_TrueAndImportTargetUpdated() { // Setup @@ -356,6 +415,49 @@ } [Test] + public void Import_NoParameterIdsDefinedAndOnlyDuplicateUnknownParameterId_TrueAndImportTargetUpdated() + { + // Setup + var importTarget = new StructureCollection(); + string filePath = Path.Combine(commonIoTestDataPath, "StructuresWithOnlyDuplicateIrrelevantParameterInCsv", + "Kunstwerken.shp"); + + var messageProvider = mocks.Stub(); + var updateStrategy = mocks.Stub>(); + mocks.ReplayAll(); + + 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) + }; + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + + var structuresImporter = new HeightStructuresImporter(importTarget, + referenceLine, + filePath, + messageProvider, + updateStrategy); + + // Call + var importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + string csvFilePath = Path.ChangeExtension(filePath, "csv"); + string message = CreateExpectedErrorMessage(csvFilePath, "Eerste kunstwerk 6-3", "KWK_1", new[] + { + "Geen geldige parameter definities gevonden." + }); + TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(message, LogLevelConstant.Error)); + Assert.IsFalse(importResult); + Assert.AreEqual(0, importTarget.Count); + } + + [Test] public void Import_CancelOfImportWhenReadingShapeFile_CancelsImportAndLogs() { // Setup @@ -433,7 +535,8 @@ public void Import_CancelOfImportWhenAddingDataToModel_ImportCompletedSuccessfullyNonetheless() { // Setup - string validFilePath = Path.Combine(testDataPath, "HeightStructuresImporter", "Kunstwerken.shp"); + string validFilePath = Path.Combine(testDataPath, nameof(HeightStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var importTarget = new StructureCollection(); const string progressText = "ProgressText"; @@ -489,7 +592,8 @@ strategy.Expect(s => s.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments().Return(observables); mocks.ReplayAll(); - string validFilePath = Path.Combine(testDataPath, "HeightStructuresImporter", "Kunstwerken.shp"); + string validFilePath = Path.Combine(testDataPath, nameof(HeightStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var importTarget = new StructureCollection(); ReferenceLine referenceLine = CreateReferenceLine(); Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/Kunstwerken.csv'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/Kunstwerken.dbf =================================================================== diff -u -r492fe6c36c8cfc83d4c624bad14fb4f5120c953d -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/Kunstwerken.prj'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/Kunstwerken.shp =================================================================== diff -u -r492fe6c36c8cfc83d4c624bad14fb4f5120c953d -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/Kunstwerken.shx =================================================================== diff -u -r492fe6c36c8cfc83d4c624bad14fb4f5120c953d -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,8 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_ONBEKEND;KRUIN;Kruin;NIVEAU;Niveau;m;meter;;;Schematiseringshandleiding;;;;;5.9;0.01;1; +12;KUNST1;1;KW_ONBEKEND;KRUIN;Kruin;NIVEAU;Niveau;m;meter;;;Schematiseringshandleiding;;;;;5.9;0.01;1; +12;KUNST1;1;KW_HOOGTE2;KRUIN;Kruin;NIVEAU;Niveau;m;meter;;;Schematiseringshandleiding;;;;;5.9;0.01;1; +12;KUNST1;1;KW_HOOGTE4;OVS;Overslag;DEBIET;Debiet;m3/s/m;kubieke meter per seconden per meter;;;Schematiseringshandleiding;;;;;0.1;0.15;0; +12;KUNST1;1;KW_HOOGTE5;KRUIN;Kruin;BREEDTE;Breedte;m;meter;;;Schematiseringshandleiding;;;;;4;0.05;1; +12;KUNST1;1;KW_HOOGTE7;KOMBERG;Komberging;OPPERVLAKTE;Oppervlakte;m2;vierkante meter;;;Schematiseringshandleiding;;;;;500000;0.1;0; +12;KUNST1;1;KW_HOOGTE8;PEIL;Peil;VERHOGING;Verhoging;m;meter;;;Schematiseringshandleiding;;;;;6.5;0.1;0; Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,6 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_HOOGTE2;KRUIN;Kruin;NIVEAU;Niveau;m;meter;;;Schematiseringshandleiding;;;;;5.9;0.01;1; +12;KUNST1;1;KW_HOOGTE4;OVS;Overslag;DEBIET;Debiet;m3/s/m;kubieke meter per seconden per meter;;;Schematiseringshandleiding;;;;;0.1;0.15;0; +12;KUNST1;1;KW_HOOGTE5;KRUIN;Kruin;BREEDTE;Breedte;m;meter;;;Schematiseringshandleiding;;;;;4;0.05;1; +12;KUNST1;1;KW_HOOGTE7;KOMBERG;Komberging;OPPERVLAKTE;Oppervlakte;m2;vierkante meter;;;Schematiseringshandleiding;;;;;500000;0.1;0; +12;KUNST1;1;KW_HOOGTE8;PEIL;Peil;VERHOGING;Verhoging;m;meter;;;Schematiseringshandleiding;;;;;6.5;0.1;0; Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresImporter/MissingParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs =================================================================== diff -u -rce36fdd8e9af2866739cc67c82ea820f51533777 -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision ce36fdd8e9af2866739cc67c82ea820f51533777) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -273,7 +273,8 @@ public void Import_MissingParameters_LogWarningAndContinueImportWithDefaultValues() { // Setup - string filePath = Path.Combine(testDataPath, nameof(StabilityPointStructuresImporter), "Kunstwerken.shp"); + string filePath = Path.Combine(testDataPath, nameof(StabilityPointStructuresImporter), + "MissingParameters", "Kunstwerken.shp"); var importTarget = new StructureCollection(); @@ -332,6 +333,69 @@ } [Test] + public void Import_MissingParametersAndDuplicateIrrelevantParameter_LogWarningAndContinueImportWithDefaultValues() + { + // Setup + string filePath = Path.Combine(testDataPath, nameof(StabilityPointStructuresImporter), + "MissingAndDuplicateIrrelevantParameters", "Kunstwerken.shp"); + + var importTarget = new StructureCollection(); + + var messageProvider = mocks.Stub(); + var updateStrategy = mocks.Stub>(); + updateStrategy.Expect(u => u.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments().WhenCalled(i => + { + Assert.AreSame(importTarget, i.Arguments[0]); + Assert.AreEqual(filePath, i.Arguments[2]); + + var readStructures = (IEnumerable) i.Arguments[1]; + + Assert.AreEqual(1, readStructures.Count()); + StabilityPointStructure importedStructure = readStructures.First(); + var defaultStructure = new StabilityPointStructure(new StabilityPointStructure.ConstructionProperties + { + Name = "test", + Location = new Point2D(0, 0), + Id = "id" + }); + DistributionAssert.AreEqual(defaultStructure.StorageStructureArea, importedStructure.StorageStructureArea); + DistributionAssert.AreEqual(defaultStructure.ThresholdHeightOpenWeir, importedStructure.ThresholdHeightOpenWeir); + DistributionAssert.AreEqual(defaultStructure.InsideWaterLevelFailureConstruction, importedStructure.InsideWaterLevelFailureConstruction); + Assert.AreEqual(defaultStructure.LevellingCount, importedStructure.LevellingCount); + DistributionAssert.AreEqual(defaultStructure.AreaFlowApertures, importedStructure.AreaFlowApertures); + }); + mocks.ReplayAll(); + + ReferenceLine referenceLine = CreateReferenceLine(); + var structuresImporter = new StabilityPointStructuresImporter(importTarget, + referenceLine, + filePath, + messageProvider, + updateStrategy); + + // Call + var importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + TestHelper.AssertLogMessages(call, msgs => + { + string[] messages = msgs.ToArray(); + Assert.AreEqual(11, messages.Length); + + const string structure = "'Coupure Den Oever (90k1)' (KUNST1)"; + + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_STERSTAB2' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[0]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_STERSTAB6' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[4]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_STERSTAB12' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[7]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_STERSTAB20' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[9]); + Assert.AreEqual($"Geen definitie gevonden voor parameter 'KW_STERSTAB25' van kunstwerk {structure}. Er wordt een standaard waarde gebruikt.", messages[10]); + // Don't care about the other messages. + }); + Assert.IsTrue(importResult); + } + + [Test] public void Import_AllParameterIdsDefinedAndDuplicateUnknownParameterId_TrueAndImportTargetUpdated() { // Setup @@ -373,6 +437,87 @@ Assert.IsTrue(importResult); } + [Test] + public void Import_NoParameterIdsDefinedAndOnlyDuplicateUnknownParameterId_TrueAndImportTargetUpdated() + { + // Setup + var importTarget = new StructureCollection(); + string filePath = Path.Combine(commonIoTestDataPath, "StructuresWithOnlyDuplicateIrrelevantParameterInCsv", + "Kunstwerken.shp"); + + var messageProvider = mocks.Stub(); + var updateStrategy = mocks.Stub>(); + mocks.ReplayAll(); + + 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) + }; + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + + var structuresImporter = new StabilityPointStructuresImporter(importTarget, + referenceLine, + filePath, + messageProvider, + updateStrategy); + + // Call + var importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + string csvFilePath = Path.ChangeExtension(filePath, "csv"); + string message = CreateExpectedErrorMessage(csvFilePath, "Eerste kunstwerk 6-3", "KWK_1", new[] + { + "Geen geldige parameter definities gevonden." + }); + TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(message, LogLevelConstant.Error)); + Assert.IsFalse(importResult); + Assert.AreEqual(0, importTarget.Count); + } + + [Test] + public void DoPostImport_UpdateStrategyReturningObservables_AllObservablesNotified() + { + var messageProvider = mocks.Stub(); + + var observableA = mocks.StrictMock(); + observableA.Expect(o => o.NotifyObservers()); + var observableB = mocks.StrictMock(); + observableB.Expect(o => o.NotifyObservers()); + IObservable[] observables = + { + observableA, + observableB + }; + + var strategy = mocks.StrictMock>(); + strategy.Expect(s => s.UpdateStructuresWithImportedData(null, null, null)).IgnoreArguments().Return(observables); + mocks.ReplayAll(); + + string filePath = Path.Combine(testDataPath, nameof(StabilityPointStructuresImporter), + "MissingParameters", "Kunstwerken.shp") + ; + + var importTarget = new StructureCollection(); + ReferenceLine referenceLine = CreateReferenceLine(); + + var importer = new StabilityPointStructuresImporter(importTarget, referenceLine, filePath, + messageProvider, strategy); + + importer.Import(); + + // Call + importer.DoPostImport(); + + // Assert + // Assertions performed in TearDown + } + private static ReferenceLine CreateReferenceLine() { var referencePoints = new List Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/Kunstwerken.csv'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/Kunstwerken.dbf =================================================================== diff -u -rbdba242bf394db36636077b0652e46f32f9c9e7b -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Fisheye: Tag 29ba2b6f4e2ebff307732e34c3f7e1593b99909a refers to a dead (removed) revision in file `Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/Kunstwerken.prj'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/Kunstwerken.shp =================================================================== diff -u -rbdba242bf394db36636077b0652e46f32f9c9e7b -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/Kunstwerken.shx =================================================================== diff -u -rbdba242bf394db36636077b0652e46f32f9c9e7b -r29ba2b6f4e2ebff307732e34c3f7e1593b99909a Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,24 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_ONBEKEND;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_ONBEKEND;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB1;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB3;3;3;3;3;3;3;;;3;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB4;4;4;4;4;4;4;;;4;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB5;5;5;5;5;5;5;;;5;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB7;7;7;7;7;7;7;;;7;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB8;8;8;8;8;8;8;;;8;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB9;9;9;9;9;9;9;;;9;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB10;10;10;10;10;10;10;;;10;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB11;11;11;11;11;11;11;;;11;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB13;13;13;13;13;13;13;;;13;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB14;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB15;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB16;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB17;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB18;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB19;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB21;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB22;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB23;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB24;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB26;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingAndDuplicateIrrelevantParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.csv =================================================================== diff -u --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.csv (revision 0) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.csv (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1,22 @@ +Namespace;Identificatie;Versie;Kunstwerken.identificatie;Parameter.code;Parameter.omschrijving;Grootheid.code;Grootheid.omschrijving;Eenheid.code;Eenheid.omschrijving;Hoedanigheid.code;Hoedanigheid.omschrijving;Waardebepalingsmethode.code;Waardebepalingsmethode.codespace;Waardebewerkingsmethode.code;Waardebewerkingsmethode.codespace;AlfanumeriekeWaarde;NumeriekeWaarde;Standaardafwijking.variatie;Boolean;Kwaliteitsoordeel.code +12;KUNST1;1;KW_STERSTAB1;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB3;3;3;3;3;3;3;;;3;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB4;4;4;4;4;4;4;;;4;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB5;5;5;5;5;5;5;;;5;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB7;7;7;7;7;7;7;;;7;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB8;8;8;8;8;8;8;;;8;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB9;9;9;9;9;9;9;;;9;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB10;10;10;10;10;10;10;;;10;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB11;11;11;11;11;11;11;;;11;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB13;13;13;13;13;13;13;;;13;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB14;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB15;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB16;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB17;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB18;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB19;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB21;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB22;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB23;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB24;14;14;14;14;14;14;;;14;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB26;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.dbf =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.prj =================================================================== diff -u --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.prj (revision 0) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.prj (revision 29ba2b6f4e2ebff307732e34c3f7e1593b99909a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.shp =================================================================== diff -u Binary files differ Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/test-data/StabilityPointStructuresImporter/MissingParameters/Kunstwerken.shx =================================================================== diff -u Binary files differ