Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsSoilLayer2DPropertiesTest.cs =================================================================== diff -u -r3000a7c59771885595ddc279f80680d941195cfd -r5d00e46dbca617ca3c297bff76dc7cc63211b9de --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsSoilLayer2DPropertiesTest.cs (.../MacroStabilityInwardsSoilLayer2DPropertiesTest.cs) (revision 3000a7c59771885595ddc279f80680d941195cfd) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsSoilLayer2DPropertiesTest.cs (.../MacroStabilityInwardsSoilLayer2DPropertiesTest.cs) (revision 5d00e46dbca617ca3c297bff76dc7cc63211b9de) @@ -19,9 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.ComponentModel; using System.Linq; using Core.Common.Base.Geometry; +using Core.Common.Gui.Converters; using Core.Common.Gui.PropertyBag; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.MacroStabilityInwards.Forms.PropertyClasses; using Ringtoets.MacroStabilityInwards.Primitives; @@ -50,7 +53,14 @@ new Point2D(20.210230, 26.00001), new Point2D(3.830, 1.040506) }), - new Ring[0]) + new[] + { + new Ring(new[] + { + new Point2D(12.987, 12.821), + new Point2D(4.23, 1.02) + }) + }) { Properties = { @@ -68,7 +78,12 @@ // Assert Assert.AreEqual("Test Name", properties.Name); Assert.IsTrue(properties.IsAquifer); - Assert.AreEqual(layer.OuterRing.Points.ToArray(), properties.Geometry); + TestHelper.AssertTypeConverter(nameof(MacroStabilityInwardsSoilLayer2DProperties.OuterRing)); + Assert.AreEqual(layer.OuterRing.Points.ToArray(), properties.OuterRing); + + TestHelper.AssertTypeConverter(nameof(MacroStabilityInwardsSoilLayer2DProperties.Holes)); + Assert.AreEqual(1, properties.Holes.Length); + Assert.AreEqual(layer.Holes[0], properties.Holes[0].Data); } [Test] @@ -98,5 +113,64 @@ // Assert Assert.AreEqual("Layer A 2D", name); } + + [Test] + public void Constructor_ValidData_PropertieshaveExpectedAttributeValues() + { + // Setup + var layer = new MacroStabilityInwardsSoilLayer2D(new Ring(new[] + { + new Point2D(20.210230, 26.00001), + new Point2D(3.830, 1.040506) + }), + new Ring[0]) + { + Properties = + { + MaterialName = "Layer A 2D" + } + }; + + // Call + var properties = new MacroStabilityInwardsSoilLayer2DProperties + { + Data = layer + }; + + // Assert + PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); + + Assert.AreEqual(4, dynamicProperties.Count); + + const string generalCategoryName = "Algemeen"; + + PropertyDescriptor nameProperty = dynamicProperties[0]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, + generalCategoryName, + "Naam", + "De naam van de ondergrondschematisatie.", + true); + + PropertyDescriptor outerRingProperty = dynamicProperties[1]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(outerRingProperty, + generalCategoryName, + "Buitenring", + "De geometrie van de buitenring van deze grondlaag.", + true); + + PropertyDescriptor holesProperty = dynamicProperties[2]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(holesProperty, + generalCategoryName, + "Binnenringen", + "De binnenringen van deze grondlaag.", + true); + + PropertyDescriptor isAquiferProperty = dynamicProperties[3]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(isAquiferProperty, + generalCategoryName, + "Is aquifer", + "Geeft aan of deze grondlaag een watervoerende laag betreft.", + true); + } } } \ No newline at end of file