Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilLayer2DTest.cs =================================================================== diff -u -r677ec9937ae7eff73a09bf937804ad22e0dc5a4b -r133ab46a14ee9508c8dd5e4f82381da606076ae0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilLayer2DTest.cs (.../MacroStabilityInwardsSoilLayer2DTest.cs) (revision 677ec9937ae7eff73a09bf937804ad22e0dc5a4b) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilLayer2DTest.cs (.../MacroStabilityInwardsSoilLayer2DTest.cs) (revision 133ab46a14ee9508c8dd5e4f82381da606076ae0) @@ -204,7 +204,45 @@ MacroStabilityInwardsSoilLayer2D layerA = CreateRandomLayer(21); MacroStabilityInwardsSoilLayer2D layerB = CreateRandomLayer(21); MacroStabilityInwardsSoilLayer2D layerC = CreateRandomLayer(73); + MacroStabilityInwardsSoilLayer2D layerD = CreateRandomLayer(21); + var layerE = new MacroStabilityInwardsSoilLayer2D( + CreateRandomRing(new Random(21)), + new [] { CreateRandomRing(new Random(22))}) + { + Properties = + { + Color = Color.Blue + } + }; + var layerF = new MacroStabilityInwardsSoilLayer2D( + CreateRandomRing(new Random(31)), + new [] { CreateRandomRing(new Random(22))}) + { + Properties = + { + Color = Color.Blue + } + }; + var layerG = new MacroStabilityInwardsSoilLayer2D( + CreateRandomRing(new Random(21)), + new[] { CreateRandomRing(new Random(32)) }) + { + Properties = + { + Color = Color.Blue + } + }; + var layerH = new MacroStabilityInwardsSoilLayer2D( + CreateRandomRing(new Random(21)), + new[] { CreateRandomRing(new Random(22)) }) + { + Properties = + { + Color = Color.Gold + } + }; + return new[] { new TestCaseData(layerA, layerA, true) @@ -215,31 +253,47 @@ { 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_DifferentOuterRing_False" + }, + new TestCaseData(layerE, layerG, false) + { + TestName = "Equals_DifferentHoles_False" + }, + new TestCaseData(layerE, layerH, false) + { + TestName = "Equals_DifferentProperties_False" } }; } private static MacroStabilityInwardsSoilLayer2D CreateRandomLayer(int randomSeed) { var random = new Random(randomSeed); - return new MacroStabilityInwardsSoilLayer2D(new Ring(new[] + return new MacroStabilityInwardsSoilLayer2D(CreateRandomRing(random), new[] { - new Point2D(random.NextDouble(), random.NextDouble()), - new Point2D(random.NextDouble(), random.NextDouble()) - }), new[] - { - new Ring(new[] - { - new Point2D(random.NextDouble(), random.NextDouble()), - new Point2D(random.NextDouble(), random.NextDouble()) - }) + CreateRandomRing(random) }) { Properties = @@ -248,5 +302,14 @@ } }; } + + private static Ring CreateRandomRing(Random random) + { + return new Ring(new[] + { + new Point2D(random.NextDouble(), random.NextDouble()), + new Point2D(random.NextDouble(), random.NextDouble()) + }); + } } } \ No newline at end of file