Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PresentationObjects/BackgroundMapDataContextTest.cs =================================================================== diff -u -r3722e29f53ce7db0f11fb184cdc2a76d33078cf2 -r7f4d776a1f55062d6147ad6f36cd66fe896d2e6e --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PresentationObjects/BackgroundMapDataContextTest.cs (.../BackgroundMapDataContextTest.cs) (revision 3722e29f53ce7db0f11fb184cdc2a76d33078cf2) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PresentationObjects/BackgroundMapDataContextTest.cs (.../BackgroundMapDataContextTest.cs) (revision 7f4d776a1f55062d6147ad6f36cd66fe896d2e6e) @@ -21,6 +21,7 @@ using System; using Core.Common.Controls.PresentationObjects; +using Core.Components.Gis; using Core.Components.Gis.Data; using NUnit.Framework; using Ringtoets.Integration.Forms.PresentationObjects; @@ -34,10 +35,11 @@ public void Constructor_ValidArguments_ExpectedValues() { // Setup - var mapData = WmtsMapData.CreateDefaultPdokMapData(); + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); // Call - var context = new BackgroundMapDataContext(mapData); + var context = new BackgroundMapDataContext(mapData, container); // Assert Assert.IsInstanceOf>(context); @@ -47,12 +49,137 @@ [Test] public void Constructor_MapDataNull_ThrowArgumentNullException() { + // Setup + var container = new BackgroundMapDataContainer(); + // Call - TestDelegate call = () => new BackgroundMapDataContext(null); + TestDelegate call = () => new BackgroundMapDataContext(null, container); // Assert string paramName = Assert.Throws(call).ParamName; Assert.AreEqual("wrappedData", paramName); } + + [Test] + public void Constructor_ContainerNull_ThrowArgumentNullException() + { + // Setup + var mapData = WmtsMapData.CreateDefaultPdokMapData(); + + // Call + TestDelegate call = () => new BackgroundMapDataContext(mapData, null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("backgroundMapData", paramName); + } + + [Test] + public void Equals_ToNull_ReturnFalse() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + // Call + var isEqual = context.Equals(null); + + // Assert + Assert.IsFalse(isEqual); + } + + [Test] + public void Equals_ToItself_ReturnTrue() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + // Call + var isEqual = context.Equals(context); + + // Assert + Assert.IsTrue(isEqual); + } + + [Test] + public void Equals_ToOtherWithSameMapDataDifferentContainer_ReturnsFalse() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + var other = new BackgroundMapDataContext(mapData, new BackgroundMapDataContainer()); + + // Call + var isEqual = context.Equals(other); + var otherIsEqual = context.Equals(other); + + // Assert + Assert.IsFalse(isEqual); + Assert.IsFalse(otherIsEqual); + } + + [Test] + public void Equals_ToOtherWithDifferentMapDataSameContainer_ReturnsTrue() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + var other = new BackgroundMapDataContext(WmtsMapData.CreateDefaultPdokMapData(), container); + + // Call + var isEqual = context.Equals(other); + var otherIsEqual = context.Equals(other); + + // Assert + Assert.IsTrue(isEqual); + Assert.IsTrue(otherIsEqual); + } + + [Test] + public void Equals_ToOtherWithSameMapDataSameContainer_ReturnsTrue() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + var other = new BackgroundMapDataContext(mapData, container); + + // Call + var isEqual = context.Equals(other); + var otherIsEqual = context.Equals(other); + + // Assert + Assert.IsTrue(isEqual); + Assert.IsTrue(otherIsEqual); + } + + [Test] + public void GetHashCode_EqualObjects_ReturnSameHashCode() + { + // Setup + WmtsMapData mapData = WmtsMapData.CreateDefaultPdokMapData(); + var container = new BackgroundMapDataContainer(); + var context = new BackgroundMapDataContext(mapData, container); + + var other = new BackgroundMapDataContext(mapData, container); + + // Precondition + Assert.AreEqual(context, other); + + // Call + var hashCode = context.GetHashCode(); + var otherHashCode = other.GetHashCode(); + + // Assert + Assert.AreEqual(hashCode, otherHashCode); + } } } \ No newline at end of file