Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs =================================================================== diff -u -r40b1fa451f977a22d49c8bc37d68c8dd047262e1 -r2b26a2f9062fe2221ffdb670496c80bc36ba0cfb --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision 40b1fa451f977a22d49c8bc37d68c8dd047262e1) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision 2b26a2f9062fe2221ffdb670496c80bc36ba0cfb) @@ -50,6 +50,12 @@ Resources.PipingContext_DataDescription_PipingFailureMechanism); throw new ArgumentNullException("pipingFailureMechanism", message); } + if (assessmentSection == null) + { + var message = String.Format(Resources.PipingContext_AssertInputsAreNotNull_DataDescription_0_cannot_be_null, + Resources.PipingContext_DataDescription_AssessmentSection); + throw new ArgumentNullException("assessmentSection", message); + } PipingFailureMechanism = pipingFailureMechanism; Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationContextTest.cs =================================================================== diff -u -r7318825b6005fa3a0050a906371604f54e0b19df -r2b26a2f9062fe2221ffdb670496c80bc36ba0cfb --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationContextTest.cs (.../PipingCalculationContextTest.cs) (revision 7318825b6005fa3a0050a906371604f54e0b19df) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationContextTest.cs (.../PipingCalculationContextTest.cs) (revision 2b26a2f9062fe2221ffdb670496c80bc36ba0cfb) @@ -65,9 +65,7 @@ TestDelegate call = () => new PipingCalculationContext(calculation, surfacelines, profiles, null, null); // Assert - var exception = Assert.Throws(call); - string customMessage = exception.Message.Split(new[] { Environment.NewLine }, StringSplitOptions.None)[0]; - Assert.AreEqual("Het piping faalmechanisme mag niet 'null' zijn.", customMessage); + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "Het piping faalmechanisme mag niet 'null' zijn."); } [Test] Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs =================================================================== diff -u -r40b1fa451f977a22d49c8bc37d68c8dd047262e1 -r2b26a2f9062fe2221ffdb670496c80bc36ba0cfb --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision 40b1fa451f977a22d49c8bc37d68c8dd047262e1) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision 2b26a2f9062fe2221ffdb670496c80bc36ba0cfb) @@ -2,7 +2,7 @@ using System.Linq; using Core.Common.Base; - +using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; @@ -29,9 +29,9 @@ { new TestPipingSoilProfile() }; - var assessmentSectionBase = new MockRepository().StrictMock(); var mocks = new MockRepository(); + var assessmentSectionBase = mocks.StrictMock(); var pipingFailureMechanismMock = mocks.StrictMock(); mocks.ReplayAll(); @@ -62,16 +62,47 @@ new TestPipingSoilProfile() }; + var mocks = new MockRepository(); + var assessmentSectionBase = mocks.StrictMock(); + mocks.ReplayAll(); + // Call - TestDelegate call = () => new PipingCalculationGroupContext(group, surfaceLines, soilProfiles, null, null); + TestDelegate call = () => new PipingCalculationGroupContext(group, surfaceLines, soilProfiles, null, assessmentSectionBase); // Assert - var exception = Assert.Throws(call); - string customMessage = exception.Message.Split(new[] { Environment.NewLine }, StringSplitOptions.None)[0]; - Assert.AreEqual("Het piping faalmechanisme mag niet 'null' zijn.", customMessage); + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "Het piping faalmechanisme mag niet 'null' zijn."); + + mocks.VerifyAll(); } [Test] + public void ParameteredConstructor_AssessmentSectionIsNull_ThrowArgumentNullException() + { + // Setup + var group = new PipingCalculationGroup(); + var surfaceLines = new[] + { + new RingtoetsPipingSurfaceLine() + }; + var soilProfiles = new[] + { + new TestPipingSoilProfile() + }; + + var mocks = new MockRepository(); + var pipingFailureMechanismMock = mocks.StrictMock(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new PipingCalculationGroupContext(group, surfaceLines, soilProfiles, pipingFailureMechanismMock, null); + + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "Het dijktraject mag niet 'null' zijn."); + + mocks.VerifyAll(); + } + + [Test] public void NotifyObservers_HasPipingCalculationAndObserverAttached_NotifyObserver() { // Setup Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r7318825b6005fa3a0050a906371604f54e0b19df -r2b26a2f9062fe2221ffdb670496c80bc36ba0cfb --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 7318825b6005fa3a0050a906371604f54e0b19df) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 2b26a2f9062fe2221ffdb670496c80bc36ba0cfb) @@ -1096,7 +1096,7 @@ PipingCalculationGroup targetGroup; PipingCalculationGroupContext targetGroupContext; - CreatePipingCalculationGroupAndContext(out targetGroup, out targetGroupContext, failureMechanism); + CreatePipingCalculationGroupAndContext(out targetGroup, out targetGroupContext, failureMechanism, assessmentSection); failureMechanism.CalculationsGroup.Children.Add(draggedItem); failureMechanism.CalculationsGroup.Children.Add(targetGroup); @@ -1146,7 +1146,7 @@ PipingCalculationGroup targetGroup; PipingCalculationGroupContext targetGroupContext; - CreatePipingCalculationGroupAndContext(out targetGroup, out targetGroupContext, sourceFailureMechanism); + CreatePipingCalculationGroupAndContext(out targetGroup, out targetGroupContext, sourceFailureMechanism, assessmentSection); targetFailureMechanism.CalculationsGroup.Children.Add(targetGroup); @@ -1189,12 +1189,12 @@ PipingCalculationGroup originalOwnerGroup; PipingCalculationGroupContext originalOwnerGroupContext; - CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock); + CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock, assessmentSection); originalOwnerGroup.Children.Add(draggedItem); PipingCalculationGroup newOwnerGroup; PipingCalculationGroupContext newOwnerGroupContext; - CreatePipingCalculationGroupAndContext(out newOwnerGroup, out newOwnerGroupContext, pipingFailureMechanismMock); + CreatePipingCalculationGroupAndContext(out newOwnerGroup, out newOwnerGroupContext, pipingFailureMechanismMock, assessmentSection); var originalOwnerObserver = mocks.StrictMock(); originalOwnerObserver.Expect(o => o.UpdateObserver()); @@ -1244,7 +1244,7 @@ PipingCalculationGroup originalOwnerGroup; PipingCalculationGroupContext originalOwnerGroupContext; - CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock); + CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock, assessmentSection); originalOwnerGroup.Children.Add(existingItemStub); originalOwnerGroup.Children.Add(draggedItem); originalOwnerGroup.Children.Add(existingItemStub); @@ -1290,12 +1290,12 @@ PipingCalculationGroup originalOwnerGroup; PipingCalculationGroupContext originalOwnerGroupContext; - CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock); + CreatePipingCalculationGroupAndContext(out originalOwnerGroup, out originalOwnerGroupContext, pipingFailureMechanismMock, assessmentSection); originalOwnerGroup.Children.Add(draggedItem); PipingCalculationGroup newOwnerGroup; PipingCalculationGroupContext newOwnerGroupContext; - CreatePipingCalculationGroupAndContext(out newOwnerGroup, out newOwnerGroupContext, pipingFailureMechanismMock); + CreatePipingCalculationGroupAndContext(out newOwnerGroup, out newOwnerGroupContext, pipingFailureMechanismMock, assessmentSection); var sameNamedItem = mocks.Stub(); sameNamedItem.Stub(i => i.Name).Return(draggedItem.Name); @@ -1348,16 +1348,17 @@ /// /// The created group without any children. /// The context object for , without any other data. - /// - private void CreatePipingCalculationGroupAndContext(out PipingCalculationGroup data, out PipingCalculationGroupContext dataContext, PipingFailureMechanism failureMechanism) + /// The piping failure mechanism the item and context belong to. + /// The assessment section the item and context belong to. + private void CreatePipingCalculationGroupAndContext(out PipingCalculationGroup data, out PipingCalculationGroupContext dataContext, PipingFailureMechanism pipingFailureMechanism, AssessmentSectionBase assessmentSection) { data = new PipingCalculationGroup(); dataContext = new PipingCalculationGroupContext(data, Enumerable.Empty(), Enumerable.Empty(), - failureMechanism, - null); + pipingFailureMechanism, + assessmentSection); } /// @@ -1367,6 +1368,7 @@ /// Output: The concrete create class based on . /// Output: The corresponding with . /// The piping failure mechanism the item and context belong to. + /// The assessment section the item and context belong to. /// Optional: The name of . /// private void CreatePipingCalculationItemAndContext(PipingCalculationItemType type, out IPipingCalculationItem data, out object dataContext, PipingFailureMechanism pipingFailureMechanism, AssessmentSectionBase assessmentSection, string initialName = null) @@ -1397,7 +1399,7 @@ Enumerable.Empty(), Enumerable.Empty(), pipingFailureMechanism, - null); + assessmentSection); break; default: throw new NotSupportedException();