Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -r80a01a82824ea399497b134beea899ac175122b5 -raf0e6f596d42879533b372801ab6620959e9708f --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 80a01a82824ea399497b134beea899ac175122b5) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision af0e6f596d42879533b372801ab6620959e9708f) @@ -23,6 +23,7 @@ using Core.Common.Base.IO; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Integration.IO.Handlers; namespace Ringtoets.Integration.IO.Importers { @@ -31,15 +32,27 @@ /// public class HydraulicBoundaryDatabaseImporter : FileImporterBase { + private readonly IHydraulicBoundaryDatabaseUpdateHandler updateHandler; + /// /// Creates a new instance of . /// /// The import target. + /// The object responsible for updating the . /// The path of the hydraulic boundary database file to import from. /// Thrown when any parameter is null. - public HydraulicBoundaryDatabaseImporter(HydraulicBoundaryDatabase importTarget, string filePath) - : base(filePath, importTarget) {} + public HydraulicBoundaryDatabaseImporter(HydraulicBoundaryDatabase importTarget, IHydraulicBoundaryDatabaseUpdateHandler updateHandler, + string filePath) + : base(filePath, importTarget) + { + if (updateHandler == null) + { + throw new ArgumentNullException(nameof(updateHandler)); + } + this.updateHandler = updateHandler; + } + protected override void LogImportCanceledMessage() { throw new System.NotImplementedException(); Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs =================================================================== diff -u -r80a01a82824ea399497b134beea899ac175122b5 -raf0e6f596d42879533b372801ab6620959e9708f --- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision 80a01a82824ea399497b134beea899ac175122b5) +++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Importers/HydraulicBoundaryDatabaseImporterTest.cs (.../HydraulicBoundaryDatabaseImporterTest.cs) (revision af0e6f596d42879533b372801ab6620959e9708f) @@ -19,9 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using Core.Common.Base.IO; using NUnit.Framework; +using Rhino.Mocks; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Integration.IO.Handlers; using Ringtoets.Integration.IO.Importers; namespace Ringtoets.Integration.IO.Test.Importers @@ -30,16 +33,29 @@ public class HydraulicBoundaryDatabaseImporterTest { [Test] + public void Constructor_UpdateHandlerNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new HydraulicBoundaryDatabaseImporter(new HydraulicBoundaryDatabase(), null, ""); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("updateHandler", exception.ParamName); + } + [Test] public void Constructor_ExpectedValues() { // Setup - var filePath = ""; + var mocks = new MockRepository(); + var updateHandler = mocks.Stub(); + mocks.ReplayAll(); // Call - var importer = new HydraulicBoundaryDatabaseImporter(new HydraulicBoundaryDatabase(), filePath); + var importer = new HydraulicBoundaryDatabaseImporter(new HydraulicBoundaryDatabase(), updateHandler, ""); // Assert Assert.IsInstanceOf>(importer); + mocks.VerifyAll(); } } } \ No newline at end of file