Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/PresentationObjects/WaveImpactAsphaltCoverCalculationGroupContextTest.cs =================================================================== diff -u -r1135c8dff2d97eb3b8f17ada1f96bc068ac06bc2 -r1cb6a367a7045fcde284b83e695e7ce5a7ea68ab --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/PresentationObjects/WaveImpactAsphaltCoverCalculationGroupContextTest.cs (.../WaveImpactAsphaltCoverCalculationGroupContextTest.cs) (revision 1135c8dff2d97eb3b8f17ada1f96bc068ac06bc2) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Forms.Test/PresentationObjects/WaveImpactAsphaltCoverCalculationGroupContextTest.cs (.../WaveImpactAsphaltCoverCalculationGroupContextTest.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 WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextEqualsTest + : 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 WaveImpactAsphaltCoverFailureMechanism(); - var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); + private static readonly IAssessmentSection assessmentSection = mocks.Stub(); + private static readonly WaveImpactAsphaltCoverFailureMechanism failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); + 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 WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext CreateObject() + { + return new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, + parent, + failureMechanism, + assessmentSection); + } - [Test] - public void Equals_ToItself_ReturnTrue() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + protected override DerivedWaveImpactAsphaltCoverWaveConditionsCalculationGroupContext CreateDerivedObject() + { + return new DerivedWaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, + parent, + failureMechanism, + assessmentSection); + } - var calculationGroup = new CalculationGroup(); - var parent = new CalculationGroup(); - var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(new CalculationGroup(), + parent, + failureMechanism, + assessmentSection)) + .SetName("Wrapped Calculation Group"); + yield return new TestCaseData(new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var derivedContext = new DerivedWaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context1 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup1, - parent, - failureMechanism, - assessmentSection); - var context2 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context1 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, - parent1, - failureMechanism, - assessmentSection); - var context2 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context1 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var context2 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 WaveImpactAsphaltCoverFailureMechanism(); - var context1 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(calculationGroup, - parent, - failureMechanism, - assessmentSection); - var context2 = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(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 DerivedWaveImpactAsphaltCoverWaveConditionsCalculationGroupContext : WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext { public DerivedWaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(CalculationGroup calculationsGroup,