Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -re182f6f394aa75e739467a77e7bcacd9a8b25429 -r705c72000f0c3e8171ce9494dd31434a3d863f24 --- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision e182f6f394aa75e739467a77e7bcacd9a8b25429) +++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 705c72000f0c3e8171ce9494dd31434a3d863f24) @@ -51,6 +51,7 @@ /// created . /// The path of the hydraulic boundary database file to import from. /// True if the import was successful, false otherwise. + /// Thrown when is null. /// Thrown when: /// /// The given file at cannot be read. @@ -59,6 +60,10 @@ /// public bool Import(IAssessmentSection targetItem, string filePath) { + if (targetItem == null) + { + throw new ArgumentNullException(nameof(targetItem)); + } ValidateAndConnectTo(filePath); var hydraulicBoundaryDatabase = targetItem.HydraulicBoundaryDatabase; Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/HydraulicBoundaryDatabaseImporterTest.cs =================================================================== diff -u -r7b85dbce8bcc39e824c367468892764778527ce4 -r705c72000f0c3e8171ce9494dd31434a3d863f24 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision 7b85dbce8bcc39e824c367468892764778527ce4) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision 705c72000f0c3e8171ce9494dd31434a3d863f24) @@ -65,6 +65,20 @@ } [Test] + public void Import_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Setup + string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); + + // Call + TestDelegate test = () => importer.Import(null, validFilePath); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("targetItem", paramName); + } + + [Test] public void Import_ExistingFile_DoesNotThrowException() { // Setup Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataImportHelperTest.cs =================================================================== diff -u -r199f41a71b3b4c214f819f4519fffd4dc9418ff9 -r705c72000f0c3e8171ce9494dd31434a3d863f24 --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataImportHelperTest.cs (.../DataImportHelperTest.cs) (revision 199f41a71b3b4c214f819f4519fffd4dc9418ff9) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataImportHelperTest.cs (.../DataImportHelperTest.cs) (revision 705c72000f0c3e8171ce9494dd31434a3d863f24) @@ -41,9 +41,20 @@ } [Test] - public void ImportReferenceLine_Always_AddsReferenceLineGeometry() + public void ImportReferenceLine_AssesmentSectionNull_ThrowsArgumentNullException() { // Call + TestDelegate test = () => DataImportHelper.ImportReferenceLine(null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("importTarget", paramName); + } + + [Test] + public void ImportReferenceLine_ValidAssessmentSection_AddsReferenceLineGeometry() + { + // Call DataImportHelper.ImportReferenceLine(dikeSection); // Assert @@ -89,7 +100,10 @@ IFailureMechanism failureMechanism = dikeSection.GetFailureMechanisms().ElementAt(new Random(21).Next(0, 18)); // Call - TestDelegate test = () => DataImportHelper.ImportFailureMechanismSections(dikeSection, new [] { failureMechanism }); + TestDelegate test = () => DataImportHelper.ImportFailureMechanismSections(dikeSection, new[] + { + failureMechanism + }); // Assert var exception = Assert.Throws(test); @@ -101,13 +115,13 @@ { // Setup DataImportHelper.ImportReferenceLine(dikeSection); - var failureMechanismCount = 18; + const int failureMechanismCount = 18; var random = new Random(21); var chosenNumbers = new[] { random.Next(failureMechanismCount), random.Next(failureMechanismCount), - random.Next(failureMechanismCount), + random.Next(failureMechanismCount) }.Distinct(); IEnumerable sectionFailureMechanisms = dikeSection.GetFailureMechanisms().ToArray(); IEnumerable failureMechanisms = sectionFailureMechanisms.Where((fm, i) => chosenNumbers.Contains(i)); @@ -125,9 +139,20 @@ } [Test] - public void ImportHydraulicBoundaryDatabase_Always_AddsFourSurfaceLines() + public void ImportHydraulicBoundaryDatabase_AssessmentSectionNull_ThrowsArgumentNullException() { // Call + TestDelegate test = () => DataImportHelper.ImportHydraulicBoundaryDatabase(null); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("targetItem", paramName); + } + + [Test] + public void ImportHydraulicBoundaryDatabase_ValidAssessmentSection_AddsFourSurfaceLines() + { + // Call DataImportHelper.ImportHydraulicBoundaryDatabase(dikeSection); // Assert Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataUpdateHelperTest.cs =================================================================== diff -u -r199f41a71b3b4c214f819f4519fffd4dc9418ff9 -r705c72000f0c3e8171ce9494dd31434a3d863f24 --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataUpdateHelperTest.cs (.../DataUpdateHelperTest.cs) (revision 199f41a71b3b4c214f819f4519fffd4dc9418ff9) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/DataUpdateHelperTest.cs (.../DataUpdateHelperTest.cs) (revision 705c72000f0c3e8171ce9494dd31434a3d863f24) @@ -38,7 +38,7 @@ } [Test] - public void ImportPipingStochasticSoilModels_Always_AddsThreeSoilModelsWithProfiles() + public void ImportPipingStochasticSoilModels_ValidAssessmentSection_AddsThreeSoilModelsWithProfiles() { // Call DataUpdateHelper.UpdatePipingStochasticSoilModels(dikeSection);