Index: Core/Components/src/Core.Components.Charting/Properties/Resources.Designer.cs =================================================================== diff -u -r4ae122e1d83aaf61af8aec92f0b26ecd72d1adac -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Charting/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4ae122e1d83aaf61af8aec92f0b26ecd72d1adac) +++ Core/Components/src/Core.Components.Charting/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -100,6 +100,15 @@ } /// + /// Looks up a localized string similar to De waarde voor grootte moet in het bereik {0} liggen.. + /// + internal static string Size_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("Size_Value_should_be_in_Range_0_", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Vierkant. /// internal static string Square_DisplayName { @@ -118,12 +127,30 @@ } /// + /// Looks up a localized string similar to De waarde voor lijndikte moet in het bereik {0} liggen.. + /// + internal static string StrokeThickness_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("StrokeThickness_Value_should_be_in_Range_0_", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Driehoek. /// internal static string Triangle_DisplayName { get { return ResourceManager.GetString("Triangle_DisplayName", resourceCulture); } } + + /// + /// Looks up a localized string similar to De waarde voor lijndikte moet in het bereik {0} liggen.. + /// + internal static string Width_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("Width_Value_should_be_in_Range_0_", resourceCulture); + } + } } } Index: Core/Components/src/Core.Components.Charting/Properties/Resources.resx =================================================================== diff -u -r4ae122e1d83aaf61af8aec92f0b26ecd72d1adac -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Charting/Properties/Resources.resx (.../Resources.resx) (revision 4ae122e1d83aaf61af8aec92f0b26ecd72d1adac) +++ Core/Components/src/Core.Components.Charting/Properties/Resources.resx (.../Resources.resx) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -123,13 +123,22 @@ Ruit + + De waarde voor grootte moet in het bereik {0} liggen. + Vierkant Ster + + De waarde voor lijndikte moet in het bereik {0} liggen. + Driehoek + + De waarde voor lijndikte moet in het bereik {0} liggen. + \ No newline at end of file Index: Core/Components/src/Core.Components.Charting/Styles/ChartAreaStyle.cs =================================================================== diff -u -re041812064bf603c28f7ec5305060933c98be5f0 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Charting/Styles/ChartAreaStyle.cs (.../ChartAreaStyle.cs) (revision e041812064bf603c28f7ec5305060933c98be5f0) +++ Core/Components/src/Core.Components.Charting/Styles/ChartAreaStyle.cs (.../ChartAreaStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; +using Core.Common.Base.Data; +using Core.Components.Charting.Properties; namespace Core.Components.Charting.Styles { @@ -28,6 +31,9 @@ /// public class ChartAreaStyle { + private readonly Range strokeThicknessValidityRange = new Range(0, 48); + private int strokeThickness; + /// /// Gets or sets the area fill color. /// @@ -41,6 +47,25 @@ /// /// Gets or sets the area border stroke thickness. /// - public int StrokeThickness { get; set; } + /// Thrown when value is not in range [0, 48]. + public int StrokeThickness + { + get + { + return strokeThickness; + } + set + { + if (strokeThicknessValidityRange.InRange(value)) + { + strokeThickness = value; + } + else + { + string message = string.Format(Resources.StrokeThickness_Value_should_be_in_Range_0_, strokeThicknessValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } } } \ No newline at end of file Index: Core/Components/src/Core.Components.Charting/Styles/ChartLineStyle.cs =================================================================== diff -u -rfb7c9834d4ef76498237a06786d13ebda941cf19 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Charting/Styles/ChartLineStyle.cs (.../ChartLineStyle.cs) (revision fb7c9834d4ef76498237a06786d13ebda941cf19) +++ Core/Components/src/Core.Components.Charting/Styles/ChartLineStyle.cs (.../ChartLineStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,8 +19,11 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; using System.Drawing.Drawing2D; +using Core.Common.Base.Data; +using Core.Components.Charting.Properties; namespace Core.Components.Charting.Styles { @@ -29,6 +32,9 @@ /// public class ChartLineStyle { + private readonly Range widthValidityRange = new Range(0, 48); + private int width; + /// /// Gets or sets the line color. /// @@ -37,7 +43,26 @@ /// /// Gets or sets the line width. /// - public int Width { get; set; } + /// Thrown when value is not in range [0, 48]. + public int Width + { + get + { + return width; + } + set + { + if (widthValidityRange.InRange(value)) + { + width = value; + } + else + { + string message = string.Format(Resources.Width_Value_should_be_in_Range_0_, widthValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } /// /// Gets or sets the line dash style. Index: Core/Components/src/Core.Components.Charting/Styles/ChartPointStyle.cs =================================================================== diff -u -re041812064bf603c28f7ec5305060933c98be5f0 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Charting/Styles/ChartPointStyle.cs (.../ChartPointStyle.cs) (revision e041812064bf603c28f7ec5305060933c98be5f0) +++ Core/Components/src/Core.Components.Charting/Styles/ChartPointStyle.cs (.../ChartPointStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; +using Core.Common.Base.Data; +using Core.Components.Charting.Properties; namespace Core.Components.Charting.Styles { @@ -28,6 +31,12 @@ /// public class ChartPointStyle { + private readonly Range strokeThicknessValidityRange = new Range(0, 48); + private readonly Range sizeValidityRange = new Range(0, 48); + + private int size; + private int strokeThickness; + /// /// Gets or sets the point color. /// @@ -41,12 +50,50 @@ /// /// Gets or sets the point size. /// - public int Size { get; set; } + /// Thrown when value is not in range [0, 48]. + public int Size + { + get + { + return size; + } + set + { + if (sizeValidityRange.InRange(value)) + { + size = value; + } + else + { + string message = string.Format(Resources.Size_Value_should_be_in_Range_0_, sizeValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } /// /// Gets or sets the point stroke thickness. /// - public int StrokeThickness { get; set; } + /// Thrown when value is not in range [0, 48]. + public int StrokeThickness + { + get + { + return strokeThickness; + } + set + { + if (strokeThicknessValidityRange.InRange(value)) + { + strokeThickness = value; + } + else + { + string message = string.Format(Resources.StrokeThickness_Value_should_be_in_Range_0_, strokeThicknessValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } /// /// Gets or sets the point symbol. Index: Core/Components/src/Core.Components.Gis/Style/LineStyle.cs =================================================================== diff -u -r876d55bc25a5f8e583bbe02e55e916df8a8e4a20 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Gis/Style/LineStyle.cs (.../LineStyle.cs) (revision 876d55bc25a5f8e583bbe02e55e916df8a8e4a20) +++ Core/Components/src/Core.Components.Gis/Style/LineStyle.cs (.../LineStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -43,6 +43,7 @@ /// /// Gets or sets the line width. /// + /// Thrown when value is not in range [0, 48]. public int Width { get Index: Core/Components/src/Core.Components.Gis/Style/PointStyle.cs =================================================================== diff -u -r876d55bc25a5f8e583bbe02e55e916df8a8e4a20 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Gis/Style/PointStyle.cs (.../PointStyle.cs) (revision 876d55bc25a5f8e583bbe02e55e916df8a8e4a20) +++ Core/Components/src/Core.Components.Gis/Style/PointStyle.cs (.../PointStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -44,6 +44,7 @@ /// /// Gets or sets the point size. /// + /// Thrown when value is not in range [0, 48]. public int Size { get @@ -77,6 +78,7 @@ /// /// Gets or sets the stroke thickness. /// + /// Thrown when value is not in range [0, 48]. public int StrokeThickness { get Index: Core/Components/src/Core.Components.Gis/Style/PolygonStyle.cs =================================================================== diff -u -r876d55bc25a5f8e583bbe02e55e916df8a8e4a20 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/src/Core.Components.Gis/Style/PolygonStyle.cs (.../PolygonStyle.cs) (revision 876d55bc25a5f8e583bbe02e55e916df8a8e4a20) +++ Core/Components/src/Core.Components.Gis/Style/PolygonStyle.cs (.../PolygonStyle.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -47,6 +47,7 @@ /// /// Gets or sets the polygon border stroke thickness. /// + /// Thrown when value is not in range [0, 48]. public int StrokeThickness { get Index: Core/Components/test/Core.Components.Charting.Test/Styles/ChartAreaStyleTest.cs =================================================================== diff -u -re041812064bf603c28f7ec5305060933c98be5f0 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/test/Core.Components.Charting.Test/Styles/ChartAreaStyleTest.cs (.../ChartAreaStyleTest.cs) (revision e041812064bf603c28f7ec5305060933c98be5f0) +++ Core/Components/test/Core.Components.Charting.Test/Styles/ChartAreaStyleTest.cs (.../ChartAreaStyleTest.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,7 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; +using Core.Common.TestUtil; using Core.Components.Charting.Styles; using NUnit.Framework; @@ -49,5 +51,41 @@ Assert.AreEqual(strokeColor, areaStyle.StrokeColor); Assert.AreEqual(width, areaStyle.StrokeThickness); } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void StrokeThickness_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var polygonStyle = new ChartAreaStyle(); + + // Call + TestDelegate test = () => polygonStyle.StrokeThickness = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void StrokeThickness_SetValidValue_ValueSet(int validValue) + { + // Setup + var polygonStyle = new ChartAreaStyle(); + + // Call + polygonStyle.StrokeThickness = validValue; + + // Assert + Assert.AreEqual(validValue, polygonStyle.StrokeThickness); + } } } \ No newline at end of file Index: Core/Components/test/Core.Components.Charting.Test/Styles/ChartLineStyleTest.cs =================================================================== diff -u -rfb7c9834d4ef76498237a06786d13ebda941cf19 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/test/Core.Components.Charting.Test/Styles/ChartLineStyleTest.cs (.../ChartLineStyleTest.cs) (revision fb7c9834d4ef76498237a06786d13ebda941cf19) +++ Core/Components/test/Core.Components.Charting.Test/Styles/ChartLineStyleTest.cs (.../ChartLineStyleTest.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,8 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; using System.Drawing.Drawing2D; +using Core.Common.TestUtil; using Core.Components.Charting.Styles; using NUnit.Framework; @@ -50,5 +52,41 @@ Assert.AreEqual(width, lineStyle.Width); Assert.AreEqual(style, lineStyle.DashStyle); } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void Width_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var lineStyle = new ChartLineStyle(); + + // Call + TestDelegate test = () => lineStyle.Width = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void Width_SetValidValue_ValueSet(int validValue) + { + // Setup + var lineStyle = new ChartLineStyle(); + + // Call + lineStyle.Width = validValue; + + // Assert + Assert.AreEqual(validValue, lineStyle.Width); + } } } \ No newline at end of file Index: Core/Components/test/Core.Components.Charting.Test/Styles/ChartPointStyleTest.cs =================================================================== diff -u -re041812064bf603c28f7ec5305060933c98be5f0 -r0d567fac4f1c49a54f6621fef10335f2b3cc09de --- Core/Components/test/Core.Components.Charting.Test/Styles/ChartPointStyleTest.cs (.../ChartPointStyleTest.cs) (revision e041812064bf603c28f7ec5305060933c98be5f0) +++ Core/Components/test/Core.Components.Charting.Test/Styles/ChartPointStyleTest.cs (.../ChartPointStyleTest.cs) (revision 0d567fac4f1c49a54f6621fef10335f2b3cc09de) @@ -19,7 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; +using Core.Common.TestUtil; using Core.Components.Charting.Styles; using NUnit.Framework; @@ -55,5 +57,77 @@ Assert.AreEqual(strokeThickness, pointStyle.StrokeThickness); Assert.AreEqual(symbol, pointStyle.Symbol); } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void Size_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + TestDelegate test = () => pointStyle.Size = invalidValue; + + // Assert + const string message = "De waarde voor grootte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void Size_SetValidValue_ValueSet(int validValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + pointStyle.Size = validValue; + + // Assert + Assert.AreEqual(validValue, pointStyle.Size); + } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void StrokeThickness_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + TestDelegate test = () => pointStyle.StrokeThickness = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void StrokeThickness_SetValidValue_ValueSet(int validValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + pointStyle.StrokeThickness = validValue; + + // Assert + Assert.AreEqual(validValue, pointStyle.StrokeThickness); + } } } \ No newline at end of file