Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PresentationObjects/MacroStabilityInwardsCalculationGroupContext.cs =================================================================== diff -u -r7691617baab138d49ebe8a6348f9897582027d6b -rd7de1609fbc7dd752e9d590f9a6637830df06232 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PresentationObjects/MacroStabilityInwardsCalculationGroupContext.cs (.../MacroStabilityInwardsCalculationGroupContext.cs) (revision 7691617baab138d49ebe8a6348f9897582027d6b) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PresentationObjects/MacroStabilityInwardsCalculationGroupContext.cs (.../MacroStabilityInwardsCalculationGroupContext.cs) (revision d7de1609fbc7dd752e9d590f9a6637830df06232) @@ -75,7 +75,7 @@ public override int GetHashCode() { - return base.GetHashCode() ^ Parent.GetHashCode(); + return base.GetHashCode() ^ Parent?.GetHashCode() ?? 0; } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PresentationObjects/MacroStabilityInwardsCalculationGroupContextTest.cs =================================================================== diff -u -ra1abe798a3991d9fff01eae522ccae2a43d0a931 -rd7de1609fbc7dd752e9d590f9a6637830df06232 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PresentationObjects/MacroStabilityInwardsCalculationGroupContextTest.cs (.../MacroStabilityInwardsCalculationGroupContextTest.cs) (revision a1abe798a3991d9fff01eae522ccae2a43d0a931) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PresentationObjects/MacroStabilityInwardsCalculationGroupContextTest.cs (.../MacroStabilityInwardsCalculationGroupContextTest.cs) (revision d7de1609fbc7dd752e9d590f9a6637830df06232) @@ -40,7 +40,7 @@ [Test] [TestCase(true)] [TestCase(false)] - public void ParameteredConstructor_ExpectedValues(bool withParent) + public void ParameteredConstructor_ExpectedValues(bool hasParent) { // Setup var mocks = new MockRepository(); @@ -57,7 +57,7 @@ MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel() }; - CalculationGroup parent = withParent ? new CalculationGroup() : null; + CalculationGroup parent = hasParent ? new CalculationGroup() : null; var failureMechanism = new MacroStabilityInwardsFailureMechanism(); @@ -81,7 +81,8 @@ mocks.VerifyAll(); } - [TestFixture] + [TestFixture(true)] + [TestFixture(false)] private class MacroStabilityInwardsCalculationGroupContextEqualsTest : EqualsTestFixture { @@ -91,9 +92,10 @@ private static readonly IEnumerable surfaceLines = new MacroStabilityInwardsSurfaceLine[0]; private static readonly IEnumerable stochasticSoilModels = new MacroStabilityInwardsStochasticSoilModel[0]; private static readonly MacroStabilityInwardsFailureMechanism failureMechanism = new MacroStabilityInwardsFailureMechanism(); - private static readonly CalculationGroup parent = new CalculationGroup(); private static readonly CalculationGroup calculationGroup = new CalculationGroup(); + private static CalculationGroup parent; + [SetUp] public void SetUp() { @@ -106,6 +108,11 @@ mocks.VerifyAll(); } + public MacroStabilityInwardsCalculationGroupContextEqualsTest(bool hasParent) + { + parent = hasParent ? new CalculationGroup() : null; + } + protected override MacroStabilityInwardsCalculationGroupContext CreateObject() { return new MacroStabilityInwardsCalculationGroupContext(calculationGroup, Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs =================================================================== diff -u -r3ddd2dfb07fb310dd90d5aac12e213d188c87a9a -rd7de1609fbc7dd752e9d590f9a6637830df06232 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision 3ddd2dfb07fb310dd90d5aac12e213d188c87a9a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision d7de1609fbc7dd752e9d590f9a6637830df06232) @@ -75,7 +75,7 @@ public override int GetHashCode() { - return base.GetHashCode() ^ Parent.GetHashCode(); + return base.GetHashCode() ^ Parent?.GetHashCode() ?? 0; } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs =================================================================== diff -u -ra1abe798a3991d9fff01eae522ccae2a43d0a931 -rd7de1609fbc7dd752e9d590f9a6637830df06232 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision a1abe798a3991d9fff01eae522ccae2a43d0a931) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision d7de1609fbc7dd752e9d590f9a6637830df06232) @@ -40,7 +40,7 @@ [Test] [TestCase(true)] [TestCase(false)] - public void ParameteredConstructor_ExpectedValues(bool withParent) + public void ParameteredConstructor_ExpectedValues(bool hasParent) { // Setup var mocks = new MockRepository(); @@ -57,7 +57,7 @@ PipingStochasticSoilModelTestFactory.CreatePipingStochasticSoilModel() }; - CalculationGroup parent = withParent ? new CalculationGroup() : null; + CalculationGroup parent = hasParent ? new CalculationGroup() : null; var failureMechanism = new PipingFailureMechanism(); @@ -76,34 +76,8 @@ mocks.VerifyAll(); } - [Test] - public void Equals_ToNull_ReturnFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new PipingFailureMechanism(); - var context = new PipingCalculationGroupContext(calculationGroup, - parent, - new PipingSurfaceLine[0], - new PipingStochasticSoilModel[0], - failureMechanism, - assessmentSection); - - // Call - bool isEqual = context.Equals(null); - - // Assert - Assert.IsFalse(isEqual); - - mocks.VerifyAll(); - } - - [TestFixture] + [TestFixture(true)] + [TestFixture(false)] private class PipingCalculationGroupContextEqualsTest : EqualsTestFixture { @@ -113,9 +87,10 @@ private static readonly IEnumerable surfaceLines = new PipingSurfaceLine[0]; private static readonly IEnumerable stochasticSoilModels = new PipingStochasticSoilModel[0]; private static readonly PipingFailureMechanism failureMechanism = new PipingFailureMechanism(); - private static readonly CalculationGroup parent = new CalculationGroup(); private static readonly CalculationGroup calculationGroup = new CalculationGroup(); + private static CalculationGroup parent; + [SetUp] public void SetUp() { @@ -128,6 +103,11 @@ mocks.VerifyAll(); } + public PipingCalculationGroupContextEqualsTest(bool hasParent) + { + parent = hasParent ? new CalculationGroup() : null; + } + protected override PipingCalculationGroupContext CreateObject() { return new PipingCalculationGroupContext(calculationGroup,