Index: Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs =================================================================== diff -u -r9c1789fd6fa33b6ea18339bf2474102471ef4510 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs (.../ImageBasedMapData.cs) (revision 9c1789fd6fa33b6ea18339bf2474102471ef4510) +++ Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs (.../ImageBasedMapData.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -30,11 +30,6 @@ /// public abstract class ImageBasedMapData : MapData { - private const int transparencyNumberOfDecimals = 2; - - private static readonly Range transparencyValidityRange = new Range(new RoundedDouble(transparencyNumberOfDecimals), - new RoundedDouble(transparencyNumberOfDecimals, 1)); - private RoundedDouble transparency; /// @@ -44,14 +39,12 @@ /// Thrown when is null or only whitespace. protected ImageBasedMapData(string name) : base(name) { - transparency = new RoundedDouble(transparencyNumberOfDecimals); + transparency = new RoundedDouble(2); } /// /// Gets or sets the transparency of the map data. - /// - /// Thrown when setting a new value - /// that is not in the range [0.0, 1.0]. + /// > public RoundedDouble Transparency { get @@ -60,15 +53,7 @@ } set { - var newValue = value.ToPrecision(transparency.NumberOfDecimalPlaces); - if (!transparencyValidityRange.InRange(newValue)) - { - throw new ArgumentOutOfRangeException(nameof(value), - string.Format(Resources.ImageBasedMapData_Transparency_Value_must_be_in_Range_0_, - transparencyValidityRange)); - } - - transparency = newValue; + transparency = value.ToPrecision(transparency.NumberOfDecimalPlaces); } } Index: Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs =================================================================== diff -u -r0765637cd19a665cdd0ce28add4fc06499adc6b3 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) +++ Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -127,15 +127,6 @@ } /// - /// Looks up a localized string similar to De transparantie moet in het bereik {0} liggen.. - /// - internal static string ImageBasedMapData_Transparency_Value_must_be_in_Range_0_ { - get { - return ResourceManager.GetString("ImageBasedMapData_Transparency_Value_must_be_in_Range_0_", resourceCulture); - } - } - - /// /// Looks up a localized string similar to OpenStreetMap. /// internal static string OpenStreetMap_DisplayName { Index: Core/Components/src/Core.Components.Gis/Properties/Resources.resx =================================================================== diff -u -r0765637cd19a665cdd0ce28add4fc06499adc6b3 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/src/Core.Components.Gis/Properties/Resources.resx (.../Resources.resx) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) +++ Core/Components/src/Core.Components.Gis/Properties/Resources.resx (.../Resources.resx) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - De transparantie moet in het bereik {0} liggen. - <niet bepaald> Index: Core/Components/test/Core.Components.Gis.Test/BackgroundMapDataContainerTest.cs =================================================================== diff -u -r7799a03be5a1c2ad6bebcddea11e3e10c6c03ea7 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/test/Core.Components.Gis.Test/BackgroundMapDataContainerTest.cs (.../BackgroundMapDataContainerTest.cs) (revision 7799a03be5a1c2ad6bebcddea11e3e10c6c03ea7) +++ Core/Components/test/Core.Components.Gis.Test/BackgroundMapDataContainerTest.cs (.../BackgroundMapDataContainerTest.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -82,27 +82,6 @@ } [Test] - [SetCulture("nl-NL")] - [TestCase(-123.56)] - [TestCase(0.0 - 1e-2)] - [TestCase(1.0 + 1e-2)] - [TestCase(456.876)] - [TestCase(double.NaN)] - public void Transparency_SetInvalidValue_ThrowArgumentOutOfRangeException(double invalidTransparency) - { - // Setup - var container = new BackgroundMapDataContainer(); - - // Call - TestDelegate call = () => container.Transparency = (RoundedDouble) invalidTransparency; - - // Assert - var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; - string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; - Assert.AreEqual("value", paramName); - } - - [Test] [TestCase(true)] [TestCase(false)] public void IsVisible_SetNewValue_GetNewlySetValue(bool newValue) Index: Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs =================================================================== diff -u -r9c1789fd6fa33b6ea18339bf2474102471ef4510 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs (.../ImageBasedMapDataTest.cs) (revision 9c1789fd6fa33b6ea18339bf2474102471ef4510) +++ Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs (.../ImageBasedMapDataTest.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -64,44 +64,19 @@ } [Test] - [TestCase(0)] - [TestCase(0.8)] - [TestCase(1)] - public void Transparency_ValidValues_ReturnNewlySetValue(double newValue) + public void Transparency_SetValue_ValueRounded() { // Setup var mapData = new SimpleImageBasedMapData("A"); - var originalNumberOfDecimals = mapData.Transparency.NumberOfDecimalPlaces; // Call - mapData.Transparency = (RoundedDouble)newValue; + mapData.Transparency = (RoundedDouble) 0.9938; // Assert - Assert.AreEqual(newValue, mapData.Transparency.Value); - Assert.AreEqual(originalNumberOfDecimals, mapData.Transparency.NumberOfDecimalPlaces); + Assert.AreEqual(2, mapData.Transparency.NumberOfDecimalPlaces); + Assert.AreEqual(0.99, mapData.Transparency.Value); } - [Test] - [SetCulture("nl-NL")] - [TestCase(-123.56)] - [TestCase(0.0 - 1e-2)] - [TestCase(1.0 + 1e-2)] - [TestCase(456.876)] - [TestCase(double.NaN)] - public void Transparency_SetInvalidValue_ThrowArgumentOutOfRangeException(double invalidTransparency) - { - // Setup - var mapData = new SimpleImageBasedMapData("A"); - - // Call - TestDelegate call = () => mapData.Transparency = (RoundedDouble)invalidTransparency; - - // Assert - var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; - string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; - Assert.AreEqual("value", paramName); - } - private class SimpleImageBasedMapData : ImageBasedMapData { public SimpleImageBasedMapData(string name) : base(name) {} Index: Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs =================================================================== diff -u -r0765637cd19a665cdd0ce28add4fc06499adc6b3 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs (.../WmtsMapDataTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) +++ Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs (.../WmtsMapDataTest.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -120,41 +120,6 @@ } [Test] - [SetCulture("nl-NL")] - [TestCase(-123.56)] - [TestCase(0.0 - 1e-2)] - [TestCase(1.0 + 1e-2)] - [TestCase(456.876)] - [TestCase(double.NaN)] - public void Transparency_SetInvalidValue_ThrowArgumentOutOfRangeException(double invalidTransparency) - { - // Setup - var mapData = new WmtsMapData("A", url, capabilityIdentifier, imageFormat); - - // Call - TestDelegate call = () => mapData.Transparency = (RoundedDouble) invalidTransparency; - - // Assert - var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; - string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; - Assert.AreEqual("value", paramName); - } - - [Test] - public void Transparency_SetNewValue_GetNewlySetValueRounded() - { - // Setup - var mapData = new WmtsMapData("A", url, capabilityIdentifier, imageFormat); - - // Call - mapData.Transparency = (RoundedDouble) 0.5678; - - // Assert - Assert.AreEqual(2, mapData.Transparency.NumberOfDecimalPlaces); - Assert.AreEqual(0.57, mapData.Transparency.Value); - } - - [Test] public void CreateDefaultPdokMapData_ReturnsInitializedWmtsMapData() { // Call Index: Ringtoets/Common/src/Ringtoets.Common.Data/AssessmentSection/BackgroundData.cs =================================================================== diff -u -r7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Ringtoets/Common/src/Ringtoets.Common.Data/AssessmentSection/BackgroundData.cs (.../BackgroundData.cs) (revision 7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4) +++ Ringtoets/Common/src/Ringtoets.Common.Data/AssessmentSection/BackgroundData.cs (.../BackgroundData.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -19,25 +19,33 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using Core.Common.Base; using Core.Common.Base.Data; +using Ringtoets.Common.Data.Properties; namespace Ringtoets.Common.Data.AssessmentSection { /// /// Class that holds information about configured background data. /// public class BackgroundData : Observable - { + private const int transparencyNumberOfDecimals = 2; + + private static readonly Range transparencyValidityRange = new Range(new RoundedDouble(transparencyNumberOfDecimals), + new RoundedDouble(transparencyNumberOfDecimals, 1)); + + private RoundedDouble transparency; + /// /// Creates a new . /// public BackgroundData() { IsVisible = true; - Transparency = new RoundedDouble(2); + transparency = new RoundedDouble(transparencyNumberOfDecimals); Parameters = new Dictionary(); } @@ -51,8 +59,28 @@ /// /// Gets or sets the transparency of the background. /// - public RoundedDouble Transparency { get; set; } + /// Thrown when setting a new value + /// that is not in the range [0.0, 1.0]. + public RoundedDouble Transparency + { + get + { + return transparency; + } + set + { + var newValue = value.ToPrecision(transparency.NumberOfDecimalPlaces); + if (!transparencyValidityRange.InRange(newValue)) + { + throw new ArgumentOutOfRangeException(nameof(value), + string.Format(Resources.BackgroundData_Transparency_Value_must_be_in_Range_0_, + transparencyValidityRange)); + } + transparency = newValue; + } + } + /// /// Gets or sets the type of the background map data. /// Index: Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.Designer.cs =================================================================== diff -u -r974fb1eadbd8a630c7a992648ad42ac85ec205b1 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 974fb1eadbd8a630c7a992648ad42ac85ec205b1) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -173,6 +173,15 @@ } /// + /// Looks up a localized string similar to De transparantie moet in het bereik {0} liggen.. + /// + public static string BackgroundData_Transparency_Value_must_be_in_Range_0_ { + get { + return ResourceManager.GetString("BackgroundData_Transparency_Value_must_be_in_Range_0_", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Vak '{0}' sluit niet aan op de al gedefinieerde vakken van het toetsspoor.. /// public static string BaseFailureMechanism_AddSection_Section_0_must_connect_to_existing_sections { Index: Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.resx =================================================================== diff -u -r974fb1eadbd8a630c7a992648ad42ac85ec205b1 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.resx (.../Resources.resx) (revision 974fb1eadbd8a630c7a992648ad42ac85ec205b1) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Properties/Resources.resx (.../Resources.resx) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -261,4 +261,7 @@ Duin + + De transparantie moet in het bereik {0} liggen. + \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/BackgroundDataTest.cs =================================================================== diff -u -r7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4 -r657e48b8886aa9641a3673f4fe9c4b81efc72260 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/BackgroundDataTest.cs (.../BackgroundDataTest.cs) (revision 7a4f8ff71ae5f81177fe5ff9cd78fdc7f24c69f4) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/BackgroundDataTest.cs (.../BackgroundDataTest.cs) (revision 657e48b8886aa9641a3673f4fe9c4b81efc72260) @@ -19,6 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.Base.Data; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; @@ -31,15 +34,54 @@ public void Constructor_ExpectedValues() { // Call - var backgroundMapData = new BackgroundData(); + var backgroundData = new BackgroundData(); // Assert - Assert.IsTrue(backgroundMapData.IsVisible); - Assert.AreEqual(2, backgroundMapData.Transparency.NumberOfDecimalPlaces); - Assert.AreEqual(0, backgroundMapData.Transparency.Value); - Assert.AreEqual(BackgroundMapDataType.Wmts, backgroundMapData.BackgroundMapDataType); - Assert.IsFalse(backgroundMapData.IsConfigured); - CollectionAssert.IsEmpty(backgroundMapData.Parameters); + Assert.IsTrue(backgroundData.IsVisible); + Assert.AreEqual(2, backgroundData.Transparency.NumberOfDecimalPlaces); + Assert.AreEqual(0, backgroundData.Transparency.Value); + Assert.AreEqual(BackgroundMapDataType.Wmts, backgroundData.BackgroundMapDataType); + Assert.IsFalse(backgroundData.IsConfigured); + CollectionAssert.IsEmpty(backgroundData.Parameters); } + + [Test] + [TestCase(0)] + [TestCase(0.8)] + [TestCase(1)] + public void Transparency_ValidValues_ReturnNewlySetValue(double newValue) + { + // Setup + var backgroundData = new BackgroundData(); + var originalNumberOfDecimals = backgroundData.Transparency.NumberOfDecimalPlaces; + + // Call + backgroundData.Transparency = (RoundedDouble)newValue; + + // Assert + Assert.AreEqual(newValue, backgroundData.Transparency.Value); + Assert.AreEqual(originalNumberOfDecimals, backgroundData.Transparency.NumberOfDecimalPlaces); + } + + [Test] + [SetCulture("nl-NL")] + [TestCase(-123.56)] + [TestCase(0.0 - 1e-2)] + [TestCase(1.0 + 1e-2)] + [TestCase(456.876)] + [TestCase(double.NaN)] + public void Transparency_SetInvalidValue_ThrowArgumentOutOfRangeException(double invalidTransparency) + { + // Setup + var backgroundData = new BackgroundData(); + + // Call + TestDelegate call = () => backgroundData.Transparency = (RoundedDouble)invalidTransparency; + + // Assert + var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; + string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; + Assert.AreEqual("value", paramName); + } } } \ No newline at end of file