Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/ReferenceLineReplacementHandler.cs =================================================================== diff -u -r8b56fa4d0c134f2c09485714b586dca1cf1e54e2 -r430eba7e8a44c9c9670a3d24d3c02cf94a6b5cfc --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/ReferenceLineReplacementHandler.cs (.../ReferenceLineReplacementHandler.cs) (revision 8b56fa4d0c134f2c09485714b586dca1cf1e54e2) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/ReferenceLineReplacementHandler.cs (.../ReferenceLineReplacementHandler.cs) (revision 430eba7e8a44c9c9670a3d24d3c02cf94a6b5cfc) @@ -39,22 +39,29 @@ /// public class ReferenceLineReplacementHandler : IReferenceLineReplaceHandler { + private readonly IAssessmentSection assessmentSection; private readonly IViewCommands viewCommands; private readonly Queue removedObjects = new Queue(); /// /// Creates a new instance of . /// + /// The assessment section to remove data for. /// The view commands used to close views for removed data. - /// Thrown when - /// is null. - public ReferenceLineReplacementHandler(IViewCommands viewCommands) + /// Thrown when any parameter is null. + public ReferenceLineReplacementHandler(IAssessmentSection assessmentSection, IViewCommands viewCommands) { + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + if (viewCommands == null) { throw new ArgumentNullException(nameof(viewCommands)); } + this.assessmentSection = assessmentSection; this.viewCommands = viewCommands; } Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/ReferenceLineReplacementHandlerTest.cs =================================================================== diff -u -r6075ed31e2212aed3206c22491e207289696e891 -r430eba7e8a44c9c9670a3d24d3c02cf94a6b5cfc --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/ReferenceLineReplacementHandlerTest.cs (.../ReferenceLineReplacementHandlerTest.cs) (revision 6075ed31e2212aed3206c22491e207289696e891) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/ReferenceLineReplacementHandlerTest.cs (.../ReferenceLineReplacementHandlerTest.cs) (revision 430eba7e8a44c9c9670a3d24d3c02cf94a6b5cfc) @@ -50,26 +50,50 @@ public class ReferenceLineReplacementHandlerTest : NUnitFormTest { [Test] + public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var viewCommands = mocks.Stub(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new ReferenceLineReplacementHandler(null, viewCommands); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("assessmentSection", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] public void Constructor_ViewCommandsNull_ThrowArgumentNullException() { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + // Call - TestDelegate call = () => new ReferenceLineReplacementHandler(null); + TestDelegate call = () => new ReferenceLineReplacementHandler(assessmentSection, null); // Assert string paramName = Assert.Throws(call).ParamName; Assert.AreEqual("viewCommands", paramName); + mocks.VerifyAll(); } [Test] public void Constructor_ExpectedValues() { // Setup var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); // Call - var handler = new ReferenceLineReplacementHandler(viewCommands); + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); // Assert Assert.IsInstanceOf(handler); @@ -83,6 +107,7 @@ { // Setup var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); @@ -102,7 +127,7 @@ } }; - var handler = new ReferenceLineReplacementHandler(viewCommands); + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); // Call bool result = handler.ConfirmReplace(); @@ -123,10 +148,11 @@ { // Setup var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); - var handler = new ReferenceLineReplacementHandler(viewCommands); + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); var referenceLine = new ReferenceLine(); @@ -147,7 +173,7 @@ mocks.ReplayAll(); AssessmentSection assessmentSection = TestDataGenerator.GetAssessmentSectionWithAllCalculationConfigurations(); - var handler = new ReferenceLineReplacementHandler(viewCommands); + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); ReferenceLine referenceLine = ReferenceLineTestFactory.CreateReferenceLineWithGeometry(); @@ -322,10 +348,11 @@ { // Setup var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); var viewCommands = mocks.StrictMock(); mocks.ReplayAll(); - var handler = new ReferenceLineReplacementHandler(viewCommands); + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); // Call handler.DoPostReplacementUpdates(); @@ -346,9 +373,9 @@ .Repeat.Times(expectedNumberOfRemovedInstances); mocks.ReplayAll(); - var handler = new ReferenceLineReplacementHandler(viewCommands); - AssessmentSection assessmentSection = TestDataGenerator.GetAssessmentSectionWithAllCalculationConfigurations(); + + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); handler.Replace(assessmentSection, new ReferenceLine()); // Call @@ -370,9 +397,9 @@ .Repeat.Times(expectedNumberOfRemovedInstances); mocks.ReplayAll(); - var handler = new ReferenceLineReplacementHandler(viewCommands); - AssessmentSection assessmentSection = TestDataGenerator.GetAssessmentSectionWithAllCalculationConfigurations(); + + var handler = new ReferenceLineReplacementHandler(assessmentSection, viewCommands); handler.Replace(assessmentSection, new ReferenceLine()); handler.DoPostReplacementUpdates();