Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilLayer1DTest.cs =================================================================== diff -u -ra07b01c421d15a0a1e4933e3967ac1f25d30eccc -ra990815a79d404dcad319ad79bc06024541ccf81 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilLayer1DTest.cs (.../MacroStabilityInwardsSoilLayer1DTest.cs) (revision a07b01c421d15a0a1e4933e3967ac1f25d30eccc) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilLayer1DTest.cs (.../MacroStabilityInwardsSoilLayer1DTest.cs) (revision a990815a79d404dcad319ad79bc06024541ccf81) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Drawing; using Core.Common.TestUtil; using NUnit.Framework; @@ -76,144 +77,49 @@ Assert.AreSame(data, layer.Data); } - [Test] - public void GetHashCode_EqualLayers_AreEqual() + [TestFixture] + private class MacroStabilityInwardsSoilLayer1DEqualsTest + : EqualsGuidelinesTestFixture { - // Setup - MacroStabilityInwardsSoilLayer1D layerA = CreateRandomLayer(21); - MacroStabilityInwardsSoilLayer1D layerB = CreateRandomLayer(21); + protected override MacroStabilityInwardsSoilLayer1D CreateObject() + { + return CreateRandomLayer(21); + } - // Precondition - Assert.AreEqual(layerA, layerB); - Assert.AreEqual(layerB, layerA); + protected override DerivedMacroStabilityInwardsSoilLayer1D CreateDerivedObject() + { + return new DerivedMacroStabilityInwardsSoilLayer1D(CreateRandomLayer(21)); + } - // Call & Assert - Assert.AreEqual(layerA.GetHashCode(), layerB.GetHashCode()); - Assert.AreEqual(layerB.GetHashCode(), layerA.GetHashCode()); - } + private static IEnumerable GetUnequalTestCases() + { + var random = new Random(32); + MacroStabilityInwardsSoilLayer1D baseLayer = CreateRandomLayer(21); - [Test] - public void Equals_DifferentType_ReturnsFalse() - { - // Setup - MacroStabilityInwardsSoilLayer1D layer = CreateRandomLayer(21); + yield return new TestCaseData(new MacroStabilityInwardsSoilLayer1D(baseLayer.Top)) + .SetName("SoilLayerData"); + yield return new TestCaseData(new MacroStabilityInwardsSoilLayer1D(baseLayer.Top + random.NextDouble(), + baseLayer.Data)) + .SetName("Top"); + } - // Call - bool areEqual = layer.Equals(new object()); - - // Assert - Assert.IsFalse(areEqual); - } - - [Test] - public void Equals_Null_ReturnsFalse() - { - // Setup - MacroStabilityInwardsSoilLayer1D layer = CreateRandomLayer(21); - - // Call - bool areEqual = layer.Equals(null); - - // Assert - Assert.IsFalse(areEqual); - } - - [Test] - [TestCaseSource(nameof(LayerCombinations))] - public void Equals_DifferentScenarios_ReturnsExpectedResult(MacroStabilityInwardsSoilLayer1D layer, - MacroStabilityInwardsSoilLayer1D otherLayer, - bool expectedEqual) - { - // Call - bool areEqualOne = layer.Equals(otherLayer); - bool areEqualTwo = otherLayer.Equals(layer); - - // Assert - Assert.AreEqual(expectedEqual, areEqualOne); - Assert.AreEqual(expectedEqual, areEqualTwo); - } - - private static TestCaseData[] LayerCombinations() - { - MacroStabilityInwardsSoilLayer1D layerA = CreateRandomLayer(21); - MacroStabilityInwardsSoilLayer1D layerB = CreateRandomLayer(21); - MacroStabilityInwardsSoilLayer1D layerC = CreateRandomLayer(73); - MacroStabilityInwardsSoilLayer1D layerD = CreateRandomLayer(21); - - var layerE = new MacroStabilityInwardsSoilLayer1D(3) + private static MacroStabilityInwardsSoilLayer1D CreateRandomLayer(int seed) { - Data = - { - Color = Color.Blue - } - }; - var layerF = new MacroStabilityInwardsSoilLayer1D(4) - { - Data = - { - Color = Color.Blue - } - }; - var layerG = new MacroStabilityInwardsSoilLayer1D(3) - { - Data = - { - Color = Color.Gold - } - }; + var random = new Random(seed); - return new[] - { - new TestCaseData(layerA, layerA, true) + return new MacroStabilityInwardsSoilLayer1D(random.NextDouble()) { - TestName = "Equals_LayerALayerA_True" - }, - new TestCaseData(layerA, layerB, true) - { - TestName = "Equals_LayerALayerB_True" - }, - new TestCaseData(layerB, layerD, true) - { - TestName = "Equals_LayerALayerD_True" - }, - new TestCaseData(layerA, layerD, true) - { - TestName = "Equals_LayerALayerD_True" - }, - new TestCaseData(layerB, layerC, false) - { - TestName = "Equals_LayerBLayerC_False" - }, - new TestCaseData(layerA, layerC, false) - { - TestName = "Equals_LayerALayerC_False" - }, - new TestCaseData(layerC, layerC, true) - { - TestName = "Equals_LayerCLayerC_True" - }, - new TestCaseData(layerE, layerF, false) - { - TestName = "Equals_DifferentTop_False" - }, - new TestCaseData(layerE, layerG, false) - { - TestName = "Equals_DifferentProperties_False" - } - }; + Data = + { + Color = Color.FromKnownColor(random.NextEnumValue()) + } + }; + } } - private static MacroStabilityInwardsSoilLayer1D CreateRandomLayer(int randomSeed) + private class DerivedMacroStabilityInwardsSoilLayer1D : MacroStabilityInwardsSoilLayer1D { - var random = new Random(randomSeed); - - return new MacroStabilityInwardsSoilLayer1D(random.NextDouble()) - { - Data = - { - Color = Color.FromKnownColor(random.NextEnumValue()) - } - }; + public DerivedMacroStabilityInwardsSoilLayer1D(MacroStabilityInwardsSoilLayer1D layer) : base(layer.Top, layer.Data) {} } } } \ No newline at end of file