Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/BackgroundMapDataContainerPropertiesTest.cs =================================================================== diff -u -r9c1789fd6fa33b6ea18339bf2474102471ef4510 -r2ecb6f0551396f53cdb041e6b77275084d097ab7 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/BackgroundMapDataContainerPropertiesTest.cs (.../BackgroundMapDataContainerPropertiesTest.cs) (revision 9c1789fd6fa33b6ea18339bf2474102471ef4510) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/BackgroundMapDataContainerPropertiesTest.cs (.../BackgroundMapDataContainerPropertiesTest.cs) (revision 2ecb6f0551396f53cdb041e6b77275084d097ab7) @@ -42,6 +42,10 @@ private const int requiredTransparencyPropertyIndex = 1; private const int requiredVisibilityPropertyIndex = 2; + private const int wmtsUrlPropertyIndex = 3; + private const int wmtsSelectedCapabilityPropertyIndex = 4; + private const int wmtsPreferredFormatPropertyIndex = 5; + [Test] public void Constructor_ContainerNull_ThrowArgumentNullException() { @@ -83,6 +87,9 @@ Assert.AreEqual(container.IsVisible, properties.IsVisible); Assert.AreEqual(container.Transparency, properties.Transparency); Assert.AreEqual(string.Empty, properties.Name); + Assert.AreEqual(string.Empty, properties.Url); + Assert.AreEqual(string.Empty, properties.SelectedCapabilityIdentifier); + Assert.AreEqual(string.Empty, properties.PreferredFormat); } [Test] @@ -97,7 +104,7 @@ { MapData = mapData, IsVisible = false, - Transparency = (RoundedDouble)0.5 + Transparency = (RoundedDouble) 0.5 }; // Call @@ -107,9 +114,37 @@ Assert.AreEqual(container.IsVisible, properties.IsVisible); Assert.AreEqual(container.Transparency, properties.Transparency); Assert.AreEqual(name, properties.Name); + Assert.AreEqual(string.Empty, properties.Url); + Assert.AreEqual(string.Empty, properties.SelectedCapabilityIdentifier); + Assert.AreEqual(string.Empty, properties.PreferredFormat); } [Test] + public void GetProperties_ContainerWithWmtsMapData_ReturnExpectedValues() + { + // Setup + var mapData = WmtsMapData.CreateDefaultPdokMapData(); + + var container = new BackgroundMapDataContainer + { + MapData = mapData, + IsVisible = false, + Transparency = (RoundedDouble) 0.5 + }; + + // Call + var properties = new BackgroundMapDataContainerProperties(container); + + // Assert + Assert.AreEqual(container.IsVisible, properties.IsVisible); + Assert.AreEqual(container.Transparency, properties.Transparency); + Assert.AreEqual(mapData.Name, properties.Name); + Assert.AreEqual(mapData.SourceCapabilitiesUrl, properties.Url); + Assert.AreEqual(mapData.SelectedCapabilityIdentifier, properties.SelectedCapabilityIdentifier); + Assert.AreEqual(mapData.PreferredFormat, properties.PreferredFormat); + } + + [Test] public void GetProperties_ContainerWithUnconfiguredMapData_ReturnExpectedValues() { // Setup @@ -163,7 +198,7 @@ } [Test] - public void Constructor_Always_PropertiesHaveExpectedAttributesValues() + public void Constructor_WithoutMapData_PropertiesHaveExpectedAttributesValues() { // Setup var container = new BackgroundMapDataContainer(); @@ -194,5 +229,99 @@ "Weergeven", "Geeft aan of de geselecteerde achtergrond kaartlaag in alle kaarten van dit traject wordt weergegeven."); } + + [Test] + public void Constructor_WithMapData_PropertiesHaveExpectedAttributesValues() + { + // Setup + var container = new BackgroundMapDataContainer + { + MapData = new TestImageBasedMapData("name", true) + }; + + // Call + var properties = new BackgroundMapDataContainerProperties(container); + + // Assert + PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); + Assert.AreEqual(3, dynamicProperties.Count); + + PropertyDescriptor nameProperty = dynamicProperties[requiredNamePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, + "Algemeen", + "Omschrijving", + "Omschrijving van de achtergrond kaartlaag.", + true); + + PropertyDescriptor transparencyPropertyIndex = dynamicProperties[requiredTransparencyPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(transparencyPropertyIndex, + "Algemeen", + "Transparantie", + "Transparantie waarmee de achtergrond kaartlaag wordt weergegeven."); + + PropertyDescriptor visibilityProperty = dynamicProperties[requiredVisibilityPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(visibilityProperty, + "Algemeen", + "Weergeven", + "Geeft aan of de geselecteerde achtergrond kaartlaag in alle kaarten van dit traject wordt weergegeven."); + } + + [Test] + public void Constructor_WithWmtsMapData_PropertiesHaveExpectedAttributesValues() + { + // Setup + var container = new BackgroundMapDataContainer + { + MapData = WmtsMapData.CreateDefaultPdokMapData() + }; + + // Call + var properties = new BackgroundMapDataContainerProperties(container); + + // Assert + PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); + Assert.AreEqual(6, dynamicProperties.Count); + + PropertyDescriptor nameProperty = dynamicProperties[requiredNamePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, + "Algemeen", + "Omschrijving", + "Omschrijving van de achtergrond kaartlaag.", + true); + + PropertyDescriptor transparencyPropertyIndex = dynamicProperties[requiredTransparencyPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(transparencyPropertyIndex, + "Algemeen", + "Transparantie", + "Transparantie waarmee de achtergrond kaartlaag wordt weergegeven."); + + PropertyDescriptor visibilityProperty = dynamicProperties[requiredVisibilityPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(visibilityProperty, + "Algemeen", + "Weergeven", + "Geeft aan of de geselecteerde achtergrond kaartlaag in alle kaarten van dit traject wordt weergegeven."); + + const string wmtsCategory = "WMTS"; + PropertyDescriptor urlProperty = dynamicProperties[wmtsUrlPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(urlProperty, + wmtsCategory, + "URL", + "Volledige URL naar de Web Map Tile Service (WMTS) die als achtergrond kaartlaag gebruikt wordt.", + true); + + PropertyDescriptor selectedCapabilityProperty = dynamicProperties[wmtsSelectedCapabilityPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(selectedCapabilityProperty, + wmtsCategory, + "Kaartlaag", + "De naam van de geselecteerde kaartlaag.", + true); + + PropertyDescriptor preferredFormatProperty = dynamicProperties[wmtsPreferredFormatPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(preferredFormatProperty, + wmtsCategory, + "Formaat", + "Het type afbeelding die door de geselecteerde kaartlaag aangeleverd wordt.", + true); + } } } \ No newline at end of file