Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs =================================================================== diff -u -r1135c8dff2d97eb3b8f17ada1f96bc068ac06bc2 -r1cb6a367a7045fcde284b83e695e7ce5a7ea68ab --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextTest.cs) (revision 1135c8dff2d97eb3b8f17ada1f96bc068ac06bc2) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextTest.cs) (revision 1cb6a367a7045fcde284b83e695e7ce5a7ea68ab) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; +using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; @@ -61,242 +63,61 @@ mockRepository.VerifyAll(); } - [Test] - public void Equals_ToNull_ReturnFalse() + [TestFixture] + private class GrassCoverErosionInwardsCalculationGroupContextEqualsTest + : EqualsGuidelinesTestFixture { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + private static readonly MockRepository mocks = new MockRepository(); - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); + private static readonly IAssessmentSection assessmentSection = mocks.Stub(); + private static readonly GrassCoverErosionInwardsFailureMechanism failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + private static readonly CalculationGroup parent = new CalculationGroup(); + private static readonly CalculationGroup calculationGroup = new CalculationGroup(); - // Call - bool isEqual = context.Equals(null); + [SetUp] + public void SetUp() + { + mocks.ReplayAll(); + } - // Assert - Assert.IsFalse(isEqual); + [TearDown] + public void TearDown() + { + mocks.VerifyAll(); + } - mocks.VerifyAll(); - } + protected override GrassCoverErosionInwardsCalculationGroupContext CreateObject() + { + return new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + parent, + failureMechanism, + assessmentSection); + } - [Test] - public void Equals_ToItself_ReturnTrue() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + protected override DerivedGrassCoverErosionInwardsCalculationGroupContext CreateDerivedObject() + { + return new DerivedGrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + parent, + failureMechanism, + assessmentSection); + } - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - - // Call - bool isEqual = context.Equals(context); - - // Assert - Assert.IsTrue(isEqual); - - mocks.VerifyAll(); + private static IEnumerable GetUnequalTestCases() + { + yield return new TestCaseData(new GrassCoverErosionInwardsCalculationGroupContext(new CalculationGroup(), + parent, + failureMechanism, + assessmentSection)) + .SetName("Wrapped Calculation Group"); + yield return new TestCaseData(new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + new CalculationGroup(), + failureMechanism, + assessmentSection)) + .SetName("Parent"); + } } - [Test] - public void Equals_ToOtherWithDifferentType_ReturnFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - - // Call - bool isEqual = context.Equals(new object()); - - // Assert - Assert.IsFalse(isEqual); - - mocks.VerifyAll(); - } - - [Test] - public void Equals_ToDerivedObject_ReturnsFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var derivedContext = new DerivedGrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - - // Call - bool isEqual = context.Equals(derivedContext); - - // Assert - Assert.IsFalse(isEqual); - mocks.VerifyAll(); - } - - [Test] - public void Equals_ToOtherWithDifferentWrappedData_ReturnFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup1 = new CalculationGroup(); - var calculationGroup2 = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context1 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup1, - parent, - failureMechanism, - assessmentSection); - var context2 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup2, - parent, - failureMechanism, - assessmentSection); - - // Precondition - Assert.IsFalse(calculationGroup1.Equals(calculationGroup2)); - - // Call - bool isEqual1 = context1.Equals(context2); - bool isEqual2 = context2.Equals(context1); - - // Assert - Assert.IsFalse(isEqual1); - Assert.IsFalse(isEqual2); - - mocks.VerifyAll(); - } - - [Test] - public void Equals_ToOtherWithDifferentParent_ReturnFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent1 = new CalculationGroup(); - var parent2 = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context1 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent1, - failureMechanism, - assessmentSection); - var context2 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent2, - failureMechanism, - assessmentSection); - - // Precondition - Assert.IsFalse(parent1.Equals(parent2)); - - // Call - bool isEqual1 = context1.Equals(context2); - bool isEqual2 = context2.Equals(context1); - - // Assert - Assert.IsFalse(isEqual1); - Assert.IsFalse(isEqual2); - - mocks.VerifyAll(); - } - - [Test] - public void Equals_ToOtherWithSameWrappedDataAndParent_ReturnTrue() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context1 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var context2 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - - // Call - bool isEqual1 = context1.Equals(context2); - bool isEqual2 = context2.Equals(context1); - - // Assert - Assert.IsTrue(isEqual1); - Assert.IsTrue(isEqual2); - - mocks.VerifyAll(); - } - - [Test] - public void GetHashCode_EqualObjects_ReturnSameHashCode() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var context1 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var context2 = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - // Precondition - Assert.AreEqual(context1, context2); - - // Call - int hashCode1 = context1.GetHashCode(); - int hashCode2 = context2.GetHashCode(); - - // Assert - Assert.AreEqual(hashCode1, hashCode2); - - mocks.VerifyAll(); - } - private class DerivedGrassCoverErosionInwardsCalculationGroupContext : GrassCoverErosionInwardsCalculationGroupContext { public DerivedGrassCoverErosionInwardsCalculationGroupContext(CalculationGroup calculationGroup,