Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContext.cs
===================================================================
diff -u -r8db89aecb3565f4784cedd541e7407e8360b6a6f -rc88515b6259adb2c94f3dad04dc635afa3382d22
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContext.cs (.../GrassCoverErosionOutwardsHydraulicBoundaryLocationContext.cs) (revision 8db89aecb3565f4784cedd541e7407e8360b6a6f)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContext.cs (.../GrassCoverErosionOutwardsHydraulicBoundaryLocationContext.cs) (revision c88515b6259adb2c94f3dad04dc635afa3382d22)
@@ -57,5 +57,15 @@
/// Gets the .
///
public HydraulicBoundaryLocation HydraulicBoundaryLocation { get; private set; }
+
+ public override bool Equals(WrappedObjectContextBase> other)
+ {
+ return base.Equals(other) && ReferenceEquals(((GrassCoverErosionOutwardsHydraulicBoundaryLocationContext) other).HydraulicBoundaryLocation, HydraulicBoundaryLocation);
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode() ^ HydraulicBoundaryLocation.GetHashCode();
+ }
}
}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContextTest.cs
===================================================================
diff -u -re42bdf3dd379c46bab9212eb7b30f4754c9bc91c -rc88515b6259adb2c94f3dad04dc635afa3382d22
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContextTest.cs (.../GrassCoverErosionOutwardsHydraulicBoundaryLocationContextTest.cs) (revision e42bdf3dd379c46bab9212eb7b30f4754c9bc91c)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/PresentationObjects/GrassCoverErosionOutwardsHydraulicBoundaryLocationContextTest.cs (.../GrassCoverErosionOutwardsHydraulicBoundaryLocationContextTest.cs) (revision c88515b6259adb2c94f3dad04dc635afa3382d22)
@@ -64,6 +64,114 @@
Assert.AreSame(hydraulicBoundaryLocation, presentationObject.HydraulicBoundaryLocation);
}
+ [Test]
+ public void Equals_ToNull_ReturnFalse()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList = new ObservableList();
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 2.0, 3.0);
+
+ var context = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+
+ // Call
+ var isEqual = context.Equals(null);
+
+ // Assert
+ Assert.IsFalse(isEqual);
+ }
+
+ [Test]
+ public void Equals_ToItself_ReturnTrue()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList = new ObservableList();
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 2.0, 3.0);
+
+ var context = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+
+ // Call
+ var isEqual = context.Equals(context);
+
+ // Assert
+ Assert.IsTrue(isEqual);
+ }
+
+ [Test]
+ public void Equals_ToOtherWithDifferentLocationListAndSameLocation_ReturnFalse()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList1 = new ObservableList();
+ var hydraulicBoundaryLocationList2 = new ObservableList();
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 2.0, 3.0);
+ var context1 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList1, hydraulicBoundaryLocation);
+ var context2 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList2, hydraulicBoundaryLocation);
+
+ // Call
+ var isEqual1 = context1.Equals(context2);
+ var isEqual2 = context2.Equals(context1);
+
+ // Assert
+ Assert.IsFalse(isEqual1);
+ Assert.IsFalse(isEqual2);
+ }
+
+ [Test]
+ public void Equals_ToOtherWithSameLocationListAndDifferentLocation_ReturnFalse()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList = new ObservableList();
+ var hydraulicBoundaryLocation1 = new HydraulicBoundaryLocation(1, "First name", 2.0, 3.0);
+ var hydraulicBoundaryLocation2 = new HydraulicBoundaryLocation(2, "Second name", 4.0, 5.0);
+ var context1 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation1);
+ var context2 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation2);
+
+ // Call
+ var isEqual1 = context1.Equals(context2);
+ var isEqual2 = context2.Equals(context1);
+
+ // Assert
+ Assert.IsFalse(isEqual1);
+ Assert.IsFalse(isEqual2);
+ }
+
+ [Test]
+ public void Equals_ToOtherWithSameLocationListAndSameLocation_ReturnTrue()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList = new ObservableList();
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 2.0, 3.0);
+ var context1 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+ var context2 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+
+ // Call
+ var isEqual1 = context1.Equals(context2);
+ var isEqual2 = context2.Equals(context1);
+
+ // Assert
+ Assert.IsTrue(isEqual1);
+ Assert.IsTrue(isEqual2);
+ }
+
+ [Test]
+ public void GetHashCode_EqualObjects_ReturnSameHashCode()
+ {
+ // Setup
+ var hydraulicBoundaryLocationList = new ObservableList();
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Name", 2.0, 3.0);
+ var context1 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+ var context2 = new TestGrassCoverErosionOutwardsLocationContext(hydraulicBoundaryLocationList, hydraulicBoundaryLocation);
+
+ // Precondition
+ Assert.AreEqual(context1, context2);
+
+ // Call
+ var hashCode1 = context1.GetHashCode();
+ var hashCode2 = context2.GetHashCode();
+
+ // Assert
+ Assert.AreEqual(hashCode1, hashCode2);
+ }
+
private class TestGrassCoverErosionOutwardsLocationContext : GrassCoverErosionOutwardsHydraulicBoundaryLocationContext
{
public TestGrassCoverErosionOutwardsLocationContext(ObservableList observable,