Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/DikeProfiles/RoughnessPointTest.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r783fa459c0d9d80e442260ab127abbe749e7d06c --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/DikeProfiles/RoughnessPointTest.cs (.../RoughnessPointTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/DikeProfiles/RoughnessPointTest.cs (.../RoughnessPointTest.cs) (revision 783fa459c0d9d80e442260ab127abbe749e7d06c) @@ -20,8 +20,10 @@ // All rights reserved. using System; +using System.Collections.Generic; using Core.Common.Base.Data; using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.DikeProfiles; @@ -58,154 +60,59 @@ } [Test] - public void Equals_ToItself_ReturnsTrue() + public void GetHashCode_EqualRoughnessPoint_ReturnsSameHashCode() { // Setup - var roughnessPoint = new RoughnessPoint(new Point2D(0, 0), 0); - - // Call - bool isRougnessPointEqualToItself = roughnessPoint.Equals(roughnessPoint); - - // Assert - Assert.IsTrue(isRougnessPointEqualToItself); - } - - [Test] - public void Equals_ToSameReference_ReturnsTrue() - { - // Setup - var roughnessPointOne = new RoughnessPoint(new Point2D(0, 0), 0); - RoughnessPoint roughnessPointTwo = roughnessPointOne; - - // Call - bool isRoughnessPointOneEqualToTwo = roughnessPointOne.Equals(roughnessPointTwo); - bool isRoughnessPointTwoEqualToOne = roughnessPointTwo.Equals(roughnessPointOne); - - // Assert - Assert.IsTrue(isRoughnessPointOneEqualToTwo); - Assert.IsTrue(isRoughnessPointTwoEqualToOne); - } - - [Test] - public void Equals_PropertiesEqual_ReturnsTrue() - { - // Setup var geometryPoint = new Point2D(0, 0); const double roughness = 3.14; var roughnessPointOne = new RoughnessPoint(geometryPoint, roughness); var roughnessPointTwo = new RoughnessPoint(geometryPoint, roughness); // Call - bool isRoughnessPointOneEqualToTwo = roughnessPointOne.Equals(roughnessPointTwo); - bool isRoughnessPointTwoEqualToOne = roughnessPointTwo.Equals(roughnessPointOne); + int hashCodeOne = roughnessPointOne.GetHashCode(); + int hashCodeTwo = roughnessPointTwo.GetHashCode(); // Assert - Assert.IsTrue(isRoughnessPointOneEqualToTwo); - Assert.IsTrue(isRoughnessPointTwoEqualToOne); + Assert.AreEqual(hashCodeOne, hashCodeTwo); } - [Test] - public void Equals_TransitivePropertyPropertiesEqual_ReturnsTrue() + [TestFixture] + private class RoughnessPointEqualsTest : EqualsGuidelinesTestFixture { - // Setup - var geometryPoint = new Point2D(0, 0); - const double roughness = 3.14; + protected override RoughnessPoint CreateObject() + { + return CreateRoughnessPoint(); + } - var roughnessPointOne = new RoughnessPoint(geometryPoint, roughness); - var roughnessPointTwo = new RoughnessPoint(geometryPoint, roughness); - var roughnessPointThree = new RoughnessPoint(geometryPoint, roughness); + protected override DerivedRoughnessPoint CreateDerivedObject() + { + RoughnessPoint basePoint = CreateRoughnessPoint(); + return new DerivedRoughnessPoint(basePoint); + } - // Call - bool isRoughnessPointOneEqualToTwo = roughnessPointOne.Equals(roughnessPointTwo); - bool isRoughnessPointTwoEqualToThree = roughnessPointTwo.Equals(roughnessPointThree); - bool isRoughnessPointOneEqualToThree = roughnessPointOne.Equals(roughnessPointThree); + private static IEnumerable GetUnequalTestCases() + { + RoughnessPoint basePoint = CreateRoughnessPoint(); - // Assert - Assert.IsTrue(isRoughnessPointOneEqualToTwo); - Assert.IsTrue(isRoughnessPointTwoEqualToThree); - Assert.IsTrue(isRoughnessPointOneEqualToThree); + yield return new TestCaseData(new RoughnessPoint(basePoint.Point, + basePoint.Roughness + 10)) + .SetName("Roughness"); + yield return new TestCaseData(new RoughnessPoint(new Point2D(1, 1), + basePoint.Roughness)) + .SetName("Point"); + } } - [Test] - public void Equals_DifferentGeometryPoint_ReturnsTrue() + private static RoughnessPoint CreateRoughnessPoint() { - // Setup - const double roughness = 3.14; - - var roughnessPointOne = new RoughnessPoint(new Point2D(0, 0), roughness); - var roughnessPointTwo = new RoughnessPoint(new Point2D(1, 1), roughness); - - // Call - bool isRoughnessPointOneEqualToTwo = roughnessPointOne.Equals(roughnessPointTwo); - bool isRoughnessPointTwoEqualToOne = roughnessPointTwo.Equals(roughnessPointOne); - - // Assert - Assert.IsFalse(isRoughnessPointOneEqualToTwo); - Assert.IsFalse(isRoughnessPointTwoEqualToOne); + return new RoughnessPoint(new Point2D(0, 0), 3.14); } - [Test] - public void Equals_DifferentRoughness_ReturnsFalse() + private class DerivedRoughnessPoint : RoughnessPoint { - // Setup - var geometryPoint = new Point2D(0, 0); - - var roughnessPointOne = new RoughnessPoint(geometryPoint, 3.14); - var roughnessPointTwo = new RoughnessPoint(geometryPoint, 3.00); - - // Call - bool isRoughnessPointOneEqualToTwo = roughnessPointOne.Equals(roughnessPointTwo); - bool isRoughnessPointTwoEqualToOne = roughnessPointTwo.Equals(roughnessPointOne); - - // Assert - Assert.IsFalse(isRoughnessPointOneEqualToTwo); - Assert.IsFalse(isRoughnessPointTwoEqualToOne); + public DerivedRoughnessPoint(RoughnessPoint roughnessPoint) + : base(roughnessPoint.Point, roughnessPoint.Roughness) {} } - - [Test] - public void Equals_ToNull_ReturnsTrue() - { - // Setup - var roughnessPoint = new RoughnessPoint(new Point2D(0, 0), 0); - - // Call - bool isRougnessPointEqualToNull = roughnessPoint.Equals(null); - - // Assert - Assert.IsFalse(isRougnessPointEqualToNull); - } - - [Test] - public void Equals_ToDifferentType_ReturnsFalse() - { - // Setup - var roughnessPoint = new RoughnessPoint(new Point2D(0, 0), 0); - var differentType = new object(); - - // Call - bool isRougnessPointEqualToDifferentType = roughnessPoint.Equals(differentType); - - // Assert - Assert.IsFalse(isRougnessPointEqualToDifferentType); - } - - [Test] - public void GetHashCode_EqualRoughnessPoint_ReturnsSameHashCode() - { - // Setup - var geometryPoint = new Point2D(0, 0); - const double roughness = 3.14; - - var roughnessPointOne = new RoughnessPoint(geometryPoint, roughness); - var roughnessPointTwo = new RoughnessPoint(geometryPoint, roughness); - - // Call - int hashCodeOne = roughnessPointOne.GetHashCode(); - int hashCodeTwo = roughnessPointTwo.GetHashCode(); - - // Assert - Assert.AreEqual(hashCodeOne, hashCodeTwo); - } } } \ No newline at end of file