Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs =================================================================== diff -u -reab6a10ef5444e79f4dddd5babbfcd5892d3d97a -r95487d39e17289b2a656e34d85b808186222c0ee --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision eab6a10ef5444e79f4dddd5babbfcd5892d3d97a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision 95487d39e17289b2a656e34d85b808186222c0ee) @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using Core.Common.Base; @@ -29,29 +30,59 @@ new TestPipingSoilProfile() }; + var mocks = new MockRepository(); + var pipingFailureMechanismMock = mocks.StrictMock(); + mocks.ReplayAll(); + // Call - var groupContext = new PipingCalculationGroupContext(group, surfaceLines, soilProfiles); + var groupContext = new PipingCalculationGroupContext(group, surfaceLines, soilProfiles, pipingFailureMechanismMock); // Assert Assert.IsInstanceOf(groupContext); Assert.IsInstanceOf>(groupContext); Assert.AreSame(group, groupContext.WrappedData); Assert.AreSame(surfaceLines, groupContext.AvailablePipingSurfaceLines); Assert.AreSame(soilProfiles, groupContext.AvailablePipingSoilProfiles); + Assert.AreSame(pipingFailureMechanismMock, groupContext.PipingFailureMechanism); } [Test] + public void ParameteredConstructor_PipingFailureMechanismIsNull_ThrowArgumentNullException() + { + // Setup + var group = new PipingCalculationGroup(); + var surfaceLines = new[] + { + new RingtoetsPipingSurfaceLine() + }; + var soilProfiles = new[] + { + new TestPipingSoilProfile() + }; + + // Call + TestDelegate call = () => new PipingCalculationGroupContext(group, surfaceLines, soilProfiles, 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); + } + + [Test] public void NotifyObservers_HasPipingCalculationAndObserverAttached_NotifyObserver() { // Setup var mocks = new MockRepository(); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); + var pipingFailureMechanismMock = mocks.StrictMock(); mocks.ReplayAll(); var presentationObject = new PipingCalculationGroupContext(new PipingCalculationGroup(), Enumerable.Empty(), - Enumerable.Empty()); + Enumerable.Empty(), + pipingFailureMechanismMock); presentationObject.Attach(observer); // Call @@ -67,11 +98,13 @@ // Setup var mocks = new MockRepository(); var observer = mocks.StrictMock(); + var pipingFailureMechanismMock = mocks.StrictMock(); mocks.ReplayAll(); var presentationObject = new PipingCalculationGroupContext(new PipingCalculationGroup(), Enumerable.Empty(), - Enumerable.Empty()); + Enumerable.Empty(), + pipingFailureMechanismMock); presentationObject.Attach(observer); presentationObject.Detach(observer); @@ -89,12 +122,14 @@ var mocks = new MockRepository(); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); + var pipingFailureMechanismMock = mocks.StrictMock(); mocks.ReplayAll(); var group = new PipingCalculationGroup(); var presentationObject = new PipingCalculationGroupContext(group, Enumerable.Empty(), - Enumerable.Empty()); + Enumerable.Empty(), + pipingFailureMechanismMock); presentationObject.Attach(observer); // Call