Index: Core/Common/test/Core.Common.Base.Test/Geometry/Segment2DTest.cs =================================================================== diff -u -r5edeb0ef7899f4554c0c06d0e3f3b8269666e65e -rb6a49c260d0e882476b16c0e7ee219d38be3b71e --- Core/Common/test/Core.Common.Base.Test/Geometry/Segment2DTest.cs (.../Segment2DTest.cs) (revision 5edeb0ef7899f4554c0c06d0e3f3b8269666e65e) +++ Core/Common/test/Core.Common.Base.Test/Geometry/Segment2DTest.cs (.../Segment2DTest.cs) (revision b6a49c260d0e882476b16c0e7ee219d38be3b71e) @@ -163,26 +163,6 @@ } [Test] - public void Equals_SegmentWithTwoPointsWithSameXY_ReturnsTrue() - { - // Setup - var random = new Random(22); - double x1 = random.NextDouble(); - double x2 = random.NextDouble(); - double y1 = random.NextDouble(); - double y2 = random.NextDouble(); - var point1 = new Point2D(x1, y1); - var point2 = new Point2D(x2, y2); - var segment1 = new Segment2D(point1, point2); - var segment2 = new Segment2D(point1, point2); - var segment3 = new Segment2D(point2, point1); - - // Call & Assert - Assert.IsTrue(segment1.Equals(segment2)); - Assert.IsTrue(segment1.Equals(segment3)); - } - - [Test] public void GetEuclideanDistanceToPoint_PointOnFirstPoint_ReturnZero() { // Setup @@ -284,6 +264,30 @@ [TestFixture] private class Segment2DEqualsTest : EqualsGuidelinesTestFixture { + [Test] + public void Equals_SegmentWithTwoPointsWithSameXY_ReturnsTrue() + { + // Setup + var random = new Random(22); + double x1 = random.NextDouble(); + double x2 = random.NextDouble(); + double y1 = random.NextDouble(); + double y2 = random.NextDouble(); + var point1 = new Point2D(x1, y1); + var point2 = new Point2D(x2, y2); + var segment1 = new Segment2D(point1, point2); + var segment2 = new Segment2D(point1, point2); + var segment3 = new Segment2D(point2, point1); + + // Call + bool segment1Equals2 = segment1.Equals(segment2); + bool segment1Equals3 = segment1.Equals(segment3); + + // Assert + Assert.IsTrue(segment1Equals2); + Assert.IsTrue(segment1Equals3); + } + protected override Segment2D CreateObject() { return new Segment2D(CreatePoint2D(22), Index: Core/Common/test/Core.Common.Controls.Test/PresentationObjects/WrappedObjectContextBaseTest.cs =================================================================== diff -u -r5edeb0ef7899f4554c0c06d0e3f3b8269666e65e -rb6a49c260d0e882476b16c0e7ee219d38be3b71e --- Core/Common/test/Core.Common.Controls.Test/PresentationObjects/WrappedObjectContextBaseTest.cs (.../WrappedObjectContextBaseTest.cs) (revision 5edeb0ef7899f4554c0c06d0e3f3b8269666e65e) +++ Core/Common/test/Core.Common.Controls.Test/PresentationObjects/WrappedObjectContextBaseTest.cs (.../WrappedObjectContextBaseTest.cs) (revision b6a49c260d0e882476b16c0e7ee219d38be3b71e) @@ -59,14 +59,8 @@ [TestFixture] private class WrappedObjectContext : EqualsGuidelinesTestFixture> { - private static object sourceObject; + private static readonly object sourceObject = new object(); - [SetUp] - public void SetUp() - { - sourceObject = new object(); - } - protected override WrappedObjectContextBase CreateObject() { var wrappedObject = new SimpleEquatable(sourceObject); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PresentationObjects/SelectableHydraulicBoundaryLocationTest.cs =================================================================== diff -u -r50051daeae0e7195d2cc72d704e8efd81e442f39 -rb6a49c260d0e882476b16c0e7ee219d38be3b71e --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PresentationObjects/SelectableHydraulicBoundaryLocationTest.cs (.../SelectableHydraulicBoundaryLocationTest.cs) (revision 50051daeae0e7195d2cc72d704e8efd81e442f39) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PresentationObjects/SelectableHydraulicBoundaryLocationTest.cs (.../SelectableHydraulicBoundaryLocationTest.cs) (revision b6a49c260d0e882476b16c0e7ee219d38be3b71e) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Forms.PresentationObjects; @@ -62,169 +63,86 @@ } [Test] - public void Equals_ToItself_ReturnsTrue() + [TestCaseSource(nameof(StringRepresentations))] + public void ToString_DifferentReferencePoints_ReturnsExpectedString(HydraulicBoundaryLocation location, + Point2D referencePoint, string expectedString) { // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); - var inputItem = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, null); + var inputItem = new SelectableHydraulicBoundaryLocation(location, referencePoint); // Call - bool areEqualObjects = inputItem.Equals(inputItem); + string stringRepresentation = inputItem.ToString(); // Assert - Assert.IsTrue(areEqualObjects); + Assert.AreEqual(expectedString, stringRepresentation); } - [Test] - [TestCaseSource(nameof(EqualityReferencePoints))] - public void Equals_ToOtherWithSameHydraulicBoundaryLocationsAndVaryingReferencePoints_ReturnsTrue(Point2D referencePoint1, - Point2D referencePoint2) + [TestFixture] + private class SelectableHydraulicBoundaryLocationEqualsTest : EqualsGuidelinesTestFixture { - // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); - var inputItem1 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint1); - var inputItem2 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint2); + private HydraulicBoundaryLocation location; - // Call - bool areEqualObjects12 = inputItem1.Equals(inputItem2); - bool areEqualObjects21 = inputItem2.Equals(inputItem1); + [SetUp] + public void SetUp() + { + location = new HydraulicBoundaryLocation(1, "Name", 0, 1); + } - // Assert - Assert.IsTrue(areEqualObjects12); - Assert.IsTrue(areEqualObjects21); - } + [Test] + [TestCaseSource(nameof(EqualityReferencePoints))] + public void Equals_ToOtherWithSameHydraulicBoundaryLocationsAndDifferentReferencePoints_ReturnsTrue(Point2D referencePoint1, + Point2D referencePoint2) + { + // Setup + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); + var inputItem1 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint1); + var inputItem2 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint2); - [Test] - [TestCaseSource(nameof(EqualityReferencePoints))] - public void Equals_ToOtherWithDifferentHydraulicBoundaryLocationsAndVaryingReferencePoints_ReturnsTrue(Point2D referencePoint1, - Point2D referencePoint2) - { - // Setup - var inputItem1 = new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(1, "Name", 0, 1), - referencePoint1); - var inputItem2 = new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(2, "Name", 0, 1), - referencePoint2); + // Call + bool areEqualObjects12 = inputItem1.Equals(inputItem2); + bool areEqualObjects21 = inputItem2.Equals(inputItem1); - // Call - bool areEqualObjects12 = inputItem1.Equals(inputItem2); - bool areEqualObjects21 = inputItem2.Equals(inputItem1); + // Assert + Assert.IsTrue(areEqualObjects12); + Assert.IsTrue(areEqualObjects21); + } - // Assert - Assert.IsFalse(areEqualObjects12); - Assert.IsFalse(areEqualObjects21); - } + protected override SelectableHydraulicBoundaryLocation CreateObject() + { + return new SelectableHydraulicBoundaryLocation(location, CreateReferencePoint()); + } - [Test] - public void Equals_Null_ReturnsFalse() - { - // Setup - var inputWithRefPoint = new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(1, "Name", 0, 1), - new Point2D(0, 0)); - var inputWithoutRefPoint = new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(1, "Name", 0, 1), - null); + protected override DerivedSelectableHydraulicBOundaryLocation CreateDerivedObject() + { + return new DerivedSelectableHydraulicBOundaryLocation(location, + CreateReferencePoint()); + } - // Call - bool areEqualObjectWithRefPoint = inputWithRefPoint.Equals(null); - bool areEqualObjectsWithoutRefPoint = inputWithoutRefPoint.Equals(null); + private static Point2D CreateReferencePoint() + { + var random = new Random(21); + return new Point2D(random.NextDouble(), random.NextDouble()); + } - // Assert - Assert.IsFalse(areEqualObjectWithRefPoint); - Assert.IsFalse(areEqualObjectsWithoutRefPoint); - } + private static IEnumerable GetUnequalTestCases() + { + yield return new TestCaseData(new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(10, "Name 2", 0, 1), + CreateReferencePoint())) + .SetName("Hydraulic Boundary Location"); + } - [Test] - public void Equals_OtherObject_ReturnsFalse() - { - // Setup - var calculationInput = new SelectableHydraulicBoundaryLocation(new HydraulicBoundaryLocation(1, "Name", 0, 1), null); - var otherObject = new object(); + private static IEnumerable EqualityReferencePoints() + { + var referencePoint1 = new Point2D(0, 0); + var referencePoint2 = new Point2D(1, 1); - // Call - bool areEqualObjects12 = calculationInput.Equals(otherObject); - bool areEqualObjects21 = otherObject.Equals(calculationInput); - - // Assert - Assert.IsFalse(areEqualObjects12); - Assert.IsFalse(areEqualObjects21); + yield return new TestCaseData(null, null); + yield return new TestCaseData(null, referencePoint1); + yield return new TestCaseData(referencePoint1, referencePoint1); + yield return new TestCaseData(referencePoint1, referencePoint2); + } } - [Test] - public void Equals_TransitivePropertyWithoutReferencePoint_ReturnsTrue() - { - // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); - var calculationInput1 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, null); - var calculationInput2 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, null); - var calculationInput3 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, null); - - // Call - bool areEqualObjects12 = calculationInput1.Equals(calculationInput2); - bool areEqualObjects23 = calculationInput2.Equals(calculationInput3); - bool areEqualObjects13 = calculationInput1.Equals(calculationInput3); - - // Assert - Assert.IsTrue(areEqualObjects12); - Assert.IsTrue(areEqualObjects23); - Assert.IsTrue(areEqualObjects13); - } - - [Test] - public void Equals_TransitivePropertyWithDifferentReferencePoints_ReturnsTrue() - { - // Setup - var referencePoint = new Point2D(0, 0); - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); - var calculationInput1 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint); - var calculationInput2 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, null); - var calculationInput3 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint); - - // Call - bool areEqualObjects12 = calculationInput1.Equals(calculationInput2); - bool areEqualObjects23 = calculationInput2.Equals(calculationInput3); - bool areEqualObjects13 = calculationInput1.Equals(calculationInput3); - - // Assert - Assert.IsTrue(areEqualObjects12); - Assert.IsTrue(areEqualObjects23); - Assert.IsTrue(areEqualObjects13); - } - - [Test] - [TestCaseSource(nameof(EqualityReferencePoints))] - public void GetHashCode_EqualObjects_ReturnsSameHashCode(Point2D referencePoint1, - Point2D referencePoint2) - { - // Setup - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 0, 1); - var inputItem1 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint1); - var inputItem2 = new SelectableHydraulicBoundaryLocation(hydraulicBoundaryLocation, referencePoint2); - - // Precondition - Assert.AreEqual(inputItem1, inputItem2); - - // Call - int hashCodeItem1 = inputItem1.GetHashCode(); - int hashCodeItem2 = inputItem2.GetHashCode(); - - // Assert - Assert.AreEqual(hashCodeItem1, hashCodeItem2); - } - - [Test] - [TestCaseSource(nameof(StringRepresentations))] - public void ToString_DifferentReferencePoints_ReturnsExpectedString(HydraulicBoundaryLocation location, - Point2D referencePoint, string expectedString) - { - // Setup - var inputItem = new SelectableHydraulicBoundaryLocation(location, referencePoint); - - // Call - string stringRepresentation = inputItem.ToString(); - - // Assert - Assert.AreEqual(expectedString, stringRepresentation); - } - private static IEnumerable ReferencePointLocations() { yield return new TestCaseData(null, double.NaN); @@ -247,17 +165,6 @@ yield return new TestCaseData(hydraulicBoundaryLocation, kilometers, GetStringRepresentation(hydraulicBoundaryLocation, kilometers)); } - private static IEnumerable EqualityReferencePoints() - { - var referencePoint1 = new Point2D(0, 0); - var referencePoint2 = new Point2D(1, 1); - - yield return new TestCaseData(null, null); - yield return new TestCaseData(null, referencePoint1); - yield return new TestCaseData(referencePoint1, referencePoint1); - yield return new TestCaseData(referencePoint1, referencePoint2); - } - private static string GetStringRepresentation(HydraulicBoundaryLocation location, Point2D referencePoint) { if (referencePoint == null) @@ -271,5 +178,11 @@ ? $"{location.Name} ({distance:f0} m)" : $"{location.Name} ({distance / 1000:f1} km)"; } + + private class DerivedSelectableHydraulicBOundaryLocation : SelectableHydraulicBoundaryLocation + { + public DerivedSelectableHydraulicBOundaryLocation(HydraulicBoundaryLocation hydraulicBoundaryLocation, Point2D referencePoint) + : base(hydraulicBoundaryLocation, referencePoint) {} + } } } \ No newline at end of file