Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs =================================================================== diff -u -r396f21603d742cdfb0e92817e5fd0b4df1e9f851 -r3691ac3728727f60bd1ec856b62d92db52a44c6c --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 396f21603d742cdfb0e92817e5fd0b4df1e9f851) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 3691ac3728727f60bd1ec856b62d92db52a44c6c) @@ -67,7 +67,8 @@ }; ReferenceLine referenceLine = new ReferenceLine(); referenceLine.SetGeometry(referencePoints); - var structuresImporter = new ClosingStructuresImporter(new ObservableList(), referenceLine, filePath); + var importTarget = new ObservableList(); + var structuresImporter = new ClosingStructuresImporter(importTarget, referenceLine, filePath); // Call bool importResult = false; @@ -88,6 +89,7 @@ }; TestHelper.AssertLogMessagesAreGenerated(call, expectedMessages); Assert.IsTrue(importResult); + Assert.AreEqual(1, importTarget.Count); } [Test] @@ -108,7 +110,8 @@ }; ReferenceLine referenceLine = new ReferenceLine(); referenceLine.SetGeometry(referencePoints); - var structuresImporter = new ClosingStructuresImporter(new ObservableList(), referenceLine, filePath); + var importTarget = new ObservableList(); + var structuresImporter = new ClosingStructuresImporter(importTarget, referenceLine, filePath); // Call bool importResult = false; @@ -133,6 +136,7 @@ }; TestHelper.AssertLogMessagesAreGenerated(call, expectedMessages); Assert.IsTrue(importResult); + Assert.AreEqual(0, importTarget.Count); } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectFiles/Kunstwerken.csv =================================================================== diff -u -rfca049745871c8352ef2968048fdc0cca0c647e0 -r3691ac3728727f60bd1ec856b62d92db52a44c6c --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectFiles/Kunstwerken.csv (.../Kunstwerken.csv) (revision fca049745871c8352ef2968048fdc0cca0c647e0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectFiles/Kunstwerken.csv (.../Kunstwerken.csv) (revision 3691ac3728727f60bd1ec856b62d92db52a44c6c) @@ -21,4 +21,30 @@ 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_BETSLUIT14;14;14;14;14;14;14;;;14;;;;;1;0;0; -12;KUNST1;1;KW_BETSLUIT15;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; \ No newline at end of file +12;KUNST1;1;KW_BETSLUIT15;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; +12;KUNST1;1;KW_STERSTAB1;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB2;2;2;2;2;2;2;;;2;;;;;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_STERSTAB6;6;6;6;6;6;6;;;6;;;;;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_STERSTAB12;12;12;12;12;12;12;;;12;;;;;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_STERSTAB20;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_STERSTAB25;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; \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpIncompleteCsv/Kunstwerken.csv =================================================================== diff -u -rfca049745871c8352ef2968048fdc0cca0c647e0 -r3691ac3728727f60bd1ec856b62d92db52a44c6c --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpIncompleteCsv/Kunstwerken.csv (.../Kunstwerken.csv) (revision fca049745871c8352ef2968048fdc0cca0c647e0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/test-data/Structures/CorrectShpIncompleteCsv/Kunstwerken.csv (.../Kunstwerken.csv) (revision 3691ac3728727f60bd1ec856b62d92db52a44c6c) @@ -24,3 +24,30 @@ 12;KUNST1;1;KW_BETSLUIT13;13;13;13;13;13;13;;;13;;;;;1;0;0; 12;KUNST1;1;KW_BETSLUIT14;14;14;14;14;14;14;;;14;;;;;1;0;0; 12;KUNST1;1;KW_BETSLUIT15;15;15;15;15;15;15;;;15;;;;LageDrempel;1;0;0; +12;KUNST1;1;KW_STERSTAB1;1;1;1;1;1;1;;;1;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB2;2;2;2;2;2;2;;;2;;;;;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_STERSTAB6;6;6;6;6;6;6;;;6;;;;;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_STERSTAB9;9;9;9;9;9;9;;;9;;;;;1;0.01;0; +12;KUNST1;1;KW_STERSTAB10;10;10;10;10;10;10;;;10;;;;;-45;0;0; +12;KUNST1;1;KW_STERSTAB11;11;11;11;11;11;11;;;11;;;;;1;0;0; +12;KUNST1;1;KW_STERSTAB12;12;12;12;12;12;12;;;12;;;;;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_STERSTAB20;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_STERSTAB25;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/Ringtoets.StabilityPointStructures.IO.Test.csproj =================================================================== diff -u -rb70abd70f1cd326d1a753c5879a065149ac2ae84 -r3691ac3728727f60bd1ec856b62d92db52a44c6c --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Ringtoets.StabilityPointStructures.IO.Test.csproj (.../Ringtoets.StabilityPointStructures.IO.Test.csproj) (revision b70abd70f1cd326d1a753c5879a065149ac2ae84) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Ringtoets.StabilityPointStructures.IO.Test.csproj (.../Ringtoets.StabilityPointStructures.IO.Test.csproj) (revision 3691ac3728727f60bd1ec856b62d92db52a44c6c) @@ -60,6 +60,10 @@ {3BBFD65B-B277-4E50-AE6D-BD24C3434609} Core.Common.Base + + {D749EE4C-CE50-4C17-BF01-9A953028C126} + Core.Common.TestUtil + {D4200F43-3F72-4F42-AF0A-8CED416A38EC} Ringtoets.Common.Data Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs =================================================================== diff -u -rb70abd70f1cd326d1a753c5879a065149ac2ae84 -r3691ac3728727f60bd1ec856b62d92db52a44c6c --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision b70abd70f1cd326d1a753c5879a065149ac2ae84) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision 3691ac3728727f60bd1ec856b62d92db52a44c6c) @@ -19,7 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using System.Collections.Generic; +using System.IO; using Core.Common.Base; +using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.IO.FileImporters; @@ -43,5 +48,96 @@ // Assert Assert.IsInstanceOf>>(importer); } + + [Test] + public void Import_ValidIncompleteFile_LogAndTrue() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, + Path.Combine("Structures", "CorrectFiles", "Kunstwerken.shp")); + + var referencePoints = new List + { + new Point2D(131144.094, 549979.893), + new Point2D(131538.705, 548316.752), + new Point2D(135878.442, 532149.859), + new Point2D(131225.017, 548395.948), + new Point2D(131270.38, 548367.462), + new Point2D(131507.119, 548322.951) + }; + ReferenceLine referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + var importTarget = new ObservableList(); + var structuresImporter = new StabilityPointStructuresImporter(importTarget, referenceLine, filePath); + + // Call + bool importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + string[] expectedMessages = + { + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST2'.", + "Kunstwerk nummer 2 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST3'.", + "Kunstwerk nummer 3 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST4'.", + "Kunstwerk nummer 4 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST5'.", + "Kunstwerk nummer 5 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST6'.", + "Kunstwerk nummer 6 wordt overgeslagen." + }; + TestHelper.AssertLogMessagesAreGenerated(call, expectedMessages); + Assert.IsTrue(importResult); + Assert.AreEqual(1, importTarget.Count); + } + + [Test] + public void Import_InvalidCsvFile_LogAndTrue() + { + // Setup + string filePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, + Path.Combine("Structures", "CorrectShpIncompleteCsv", "Kunstwerken.shp")); + + var referencePoints = new List + { + new Point2D(131144.094, 549979.893), + new Point2D(131538.705, 548316.752), + new Point2D(135878.442, 532149.859), + new Point2D(131225.017, 548395.948), + new Point2D(131270.38, 548367.462), + new Point2D(131507.119, 548322.951) + }; + ReferenceLine referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(referencePoints); + var importTarget = new ObservableList(); + var structuresImporter = new StabilityPointStructuresImporter(importTarget, referenceLine, filePath); + + // Call + bool importResult = false; + Action call = () => importResult = structuresImporter.Import(); + + // Assert + string[] expectedMessages = + { + "Parameter 'KW_STERSTAB9' komt meermaals voor.", + "De waarde op regel 37, kolom 18 is ongeldig.", + "Kunstwerk nummer 1 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST2'.", + "Kunstwerk nummer 2 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST3'.", + "Kunstwerk nummer 3 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST4'.", + "Kunstwerk nummer 4 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST5'.", + "Kunstwerk nummer 5 wordt overgeslagen.", + "Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT 'KUNST6'.", + "Kunstwerk nummer 6 wordt overgeslagen." + }; + TestHelper.AssertLogMessagesAreGenerated(call, expectedMessages); + Assert.IsTrue(importResult); + Assert.AreEqual(0, importTarget.Count); + } } } \ No newline at end of file