Index: Core/Plugins/src/Core.Plugins.Map/Core.Plugins.Map.csproj =================================================================== diff -u -r7a02214c204a80a085b50b8d5fd7f90b9e0b4149 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/src/Core.Plugins.Map/Core.Plugins.Map.csproj (.../Core.Plugins.Map.csproj) (revision 7a02214c204a80a085b50b8d5fd7f90b9e0b4149) +++ Core/Plugins/src/Core.Plugins.Map/Core.Plugins.Map.csproj (.../Core.Plugins.Map.csproj) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -80,6 +80,7 @@ True Resources.resx + Index: Core/Plugins/src/Core.Plugins.Map/PropertyClasses/FeatureBasedMapDataProperties.cs =================================================================== diff -u --- Core/Plugins/src/Core.Plugins.Map/PropertyClasses/FeatureBasedMapDataProperties.cs (revision 0) +++ Core/Plugins/src/Core.Plugins.Map/PropertyClasses/FeatureBasedMapDataProperties.cs (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -0,0 +1,117 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing.Design; +using System.Linq; +using Core.Common.Gui.Attributes; +using Core.Common.Gui.PropertyBag; +using Core.Common.Utils.Attributes; +using Core.Components.Gis.Data; +using Core.Plugins.Map.Properties; +using Core.Plugins.Map.UITypeEditors; + +namespace Core.Plugins.Map.PropertyClasses +{ + /// + /// Base ViewModel of for properties panel. + /// + public abstract class FeatureBasedMapDataProperties : ObjectProperties where T : FeatureBasedMapData + { + private const int namePropertyIndex = 0; + private const int typePropertyIndex = 1; + private const int showLabelsPropertyIndex = 2; + private const int selectedMetaDataAttributePropertyIndex = 3; + + [PropertyOrder(namePropertyIndex)] + [ResourcesCategory(typeof(Resources), "Categories_General")] + [ResourcesDisplayName(typeof(Resources), "MapData_Name_DisplayName")] + [ResourcesDescription(typeof(Resources), "MapData_Name_Description")] + public string Name + { + get + { + return data.Name; + } + } + + [PropertyOrder(typePropertyIndex)] + [ResourcesCategory(typeof(Resources), "Categories_General")] + [ResourcesDisplayName(typeof(Resources), "MapData_Type_DisplayName")] + [ResourcesDescription(typeof(Resources), "MapData_Type_Description")] + public abstract string Type { get; } + + [PropertyOrder(showLabelsPropertyIndex)] + [DynamicReadOnly] + [ResourcesCategory(typeof(Resources), "Categories_Label")] + [ResourcesDisplayName(typeof(Resources), "MapData_ShowLabels_DisplayName")] + [ResourcesDescription(typeof(Resources), "MapData_ShowLabels_Description")] + public bool ShowLabels + { + get + { + return data.ShowLabels; + } + set + { + data.ShowLabels = value; + data.NotifyObservers(); + } + } + + [PropertyOrder(selectedMetaDataAttributePropertyIndex)] + [DynamicVisible] + [Editor(typeof(MetaDataAttributeEditor), typeof(UITypeEditor))] + [ResourcesCategory(typeof(Resources), "Categories_Label")] + [ResourcesDisplayName(typeof(Resources), "Mapdata_SelectedMetaDataAttribute_DisplayName")] + [ResourcesDescription(typeof(Resources), "Mapdata_SelectedMetaDataAttribute_Description")] + public string SelectedMetaDataAttribute + { + get + { + return data.SelectedMetaDataAttribute; + } + set + { + data.SelectedMetaDataAttribute = value; + data.NotifyObservers(); + } + } + + public IEnumerable GetAvailableMetaDataAttributes() + { + return data.MetaData; + } + + [DynamicReadOnlyValidationMethod] + public bool DynamicReadonlyValidator(string propertyName) + { + return !data.MetaData.Any(); + } + + [DynamicVisibleValidationMethod] + public bool DynamicVisibleValidationMethod(string propertyName) + { + return data.ShowLabels; + } + } +} \ No newline at end of file Index: Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapLineDataProperties.cs =================================================================== diff -u -r85bd9b0f9d23da455c7445094c7ce192c56d64b8 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapLineDataProperties.cs (.../MapLineDataProperties.cs) (revision 85bd9b0f9d23da455c7445094c7ce192c56d64b8) +++ Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapLineDataProperties.cs (.../MapLineDataProperties.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,9 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using Core.Common.Gui.Attributes; -using Core.Common.Gui.PropertyBag; -using Core.Common.Utils.Attributes; using Core.Components.Gis.Data; using Core.Plugins.Map.Properties; @@ -30,51 +27,14 @@ /// /// ViewModel of for properties panel. /// - public class MapLineDataProperties : ObjectProperties + public class MapLineDataProperties : FeatureBasedMapDataProperties { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - - [PropertyOrder(namePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Name_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Name_Description")] - public string Name + public override string Type { get { - return data.Name; - } - } - - [PropertyOrder(typePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Type_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Type_Description")] - public string Type - { - get - { return Resources.MapData_Type_Lines; } } - - [PropertyOrder(showLabelsPropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_Label")] - [ResourcesDisplayName(typeof(Resources), "MapData_ShowLabels_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_ShowLabels_Description")] - public bool ShowLabels - { - get - { - return data.ShowLabels; - } - set - { - data.ShowLabels = value; - data.NotifyObservers(); - } - } } } \ No newline at end of file Index: Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPointDataProperties.cs =================================================================== diff -u -r5e5325511c8d18cd4377905ce050825ad9316026 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPointDataProperties.cs (.../MapPointDataProperties.cs) (revision 5e5325511c8d18cd4377905ce050825ad9316026) +++ Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPointDataProperties.cs (.../MapPointDataProperties.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,105 +19,22 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing.Design; -using System.Linq; -using Core.Common.Gui.Attributes; -using Core.Common.Gui.PropertyBag; -using Core.Common.Utils.Attributes; using Core.Components.Gis.Data; using Core.Plugins.Map.Properties; -using Core.Plugins.Map.UITypeEditors; namespace Core.Plugins.Map.PropertyClasses { /// /// ViewModel of for properties panel. /// - public class MapPointDataProperties : ObjectProperties + public class MapPointDataProperties : FeatureBasedMapDataProperties { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - private const int selectedMetaDataAttributePropertyIndex = 3; - - [PropertyOrder(namePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Name_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Name_Description")] - public string Name + public override string Type { get { - return data.Name; - } - } - - [PropertyOrder(typePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Type_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Type_Description")] - public string Type - { - get - { return Resources.MapData_Type_Points; } } - - [PropertyOrder(showLabelsPropertyIndex)] - [DynamicReadOnly] - [ResourcesCategory(typeof(Resources), "Categories_Label")] - [ResourcesDisplayName(typeof(Resources), "MapData_ShowLabels_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_ShowLabels_Description")] - public bool ShowLabels - { - get - { - return data.ShowLabels; - } - set - { - data.ShowLabels = value; - data.NotifyObservers(); - } - } - - [PropertyOrder(selectedMetaDataAttributePropertyIndex)] - [DynamicVisible] - [Editor(typeof(MetaDataAttributeEditor), typeof(UITypeEditor))] - [ResourcesCategory(typeof(Resources), "Categories_Label")] - [ResourcesDisplayName(typeof(Resources), "Mapdata_SelectedMetaDataAttribute_DisplayName")] - [ResourcesDescription(typeof(Resources), "Mapdata_SelectedMetaDataAttribute_Description")] - public string SelectedMetaDataAttribute - { - get - { - return data.SelectedMetaDataAttribute; - } - set - { - data.SelectedMetaDataAttribute = value; - data.NotifyObservers(); - } - } - - public IEnumerable GetAvailableMetaDataAttributes() - { - return data.MetaData; - } - - [DynamicReadOnlyValidationMethod] - public bool DynamicReadonlyValidator(string propertyName) - { - return !data.MetaData.Any(); - } - - [DynamicVisibleValidationMethod] - public bool DynamicVisibleValidationMethod(string propertyName) - { - return data.ShowLabels; - } } } \ No newline at end of file Index: Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPolygonDataProperties.cs =================================================================== diff -u -r85bd9b0f9d23da455c7445094c7ce192c56d64b8 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPolygonDataProperties.cs (.../MapPolygonDataProperties.cs) (revision 85bd9b0f9d23da455c7445094c7ce192c56d64b8) +++ Core/Plugins/src/Core.Plugins.Map/PropertyClasses/MapPolygonDataProperties.cs (.../MapPolygonDataProperties.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,9 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using Core.Common.Gui.Attributes; -using Core.Common.Gui.PropertyBag; -using Core.Common.Utils.Attributes; using Core.Components.Gis.Data; using Core.Plugins.Map.Properties; @@ -30,51 +27,14 @@ /// /// ViewModel of for properties panel. /// - public class MapPolygonDataProperties : ObjectProperties + public class MapPolygonDataProperties : FeatureBasedMapDataProperties { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - - [PropertyOrder(namePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Name_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Name_Description")] - public string Name + public override string Type { get { - return data.Name; - } - } - - [PropertyOrder(typePropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_General")] - [ResourcesDisplayName(typeof(Resources), "MapData_Type_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_Type_Description")] - public string Type - { - get - { return Resources.MapData_Type_Polygons; } } - - [PropertyOrder(showLabelsPropertyIndex)] - [ResourcesCategory(typeof(Resources), "Categories_Label")] - [ResourcesDisplayName(typeof(Resources), "MapData_ShowLabels_DisplayName")] - [ResourcesDescription(typeof(Resources), "MapData_ShowLabels_Description")] - public bool ShowLabels - { - get - { - return data.ShowLabels; - } - set - { - data.ShowLabels = value; - data.NotifyObservers(); - } - } } } \ No newline at end of file Index: Core/Plugins/test/Core.Plugins.Map.Test/Core.Plugins.Map.Test.csproj =================================================================== diff -u -r7a02214c204a80a085b50b8d5fd7f90b9e0b4149 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/test/Core.Plugins.Map.Test/Core.Plugins.Map.Test.csproj (.../Core.Plugins.Map.Test.csproj) (revision 7a02214c204a80a085b50b8d5fd7f90b9e0b4149) +++ Core/Plugins/test/Core.Plugins.Map.Test/Core.Plugins.Map.Test.csproj (.../Core.Plugins.Map.Test.csproj) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -77,6 +77,7 @@ + Index: Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/FeatureBasedMapDataPropertiesTest.cs =================================================================== diff -u --- Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/FeatureBasedMapDataPropertiesTest.cs (revision 0) +++ Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/FeatureBasedMapDataPropertiesTest.cs (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -0,0 +1,179 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// 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; +using Core.Common.Gui.PropertyBag; +using Core.Common.TestUtil; +using Core.Components.Gis.Data; +using Core.Components.Gis.Features; +using Core.Components.Gis.Geometries; +using Core.Plugins.Map.PropertyClasses; +using NUnit.Framework; +using Rhino.Mocks; + +namespace Core.Plugins.Map.Test.PropertyClasses +{ + [TestFixture] + public class FeatureBasedMapDataPropertiesTest + { + private const int namePropertyIndex = 0; + private const int typePropertyIndex = 1; + private const int showLabelsPropertyIndex = 2; + private const int selectedMetaDataAttributePropertyIndex = 3; + + [Test] + public void Constructor_ExpectedValues() + { + // Call + var properties = new TestFeatureBasedMapDataProperties(); + + // Assert + Assert.IsInstanceOf>(properties); + Assert.IsNull(properties.Data); + } + + [Test] + public void Data_SetNewMapPointDataInstance_ReturnCorrectPropertyValues() + { + // Setup + var mapPointData = new MapPointData("Test"); + var properties = new TestFeatureBasedMapDataProperties(); + + // Call + properties.Data = mapPointData; + + // Assert + Assert.AreEqual(mapPointData.Name, properties.Name); + Assert.AreEqual("Test feature based map data", properties.Type); + Assert.AreEqual(mapPointData.ShowLabels, properties.ShowLabels); + } + + [Test] + [Combinatorial] + public void Constructor_Always_PropertiesHaveExpectedAttributesValues([Values(true, false)] bool hasMetaData, + [Values(true, false)] bool showLabels) + { + // Setup + var feature = new MapFeature(Enumerable.Empty()); + if (hasMetaData) + { + feature.MetaData["key"] = "value"; + } + + var mapPointData = new MapPointData("Test") + { + Features = new[] + { + feature + }, + ShowLabels = showLabels + }; + + // Call + var properties = new TestFeatureBasedMapDataProperties + { + Data = mapPointData + }; + + // Assert + PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); + Assert.AreEqual(showLabels ? 4 : 3, dynamicProperties.Count); + + const string generalCategory = "Algemeen"; + const string labelCategory = "Label"; + + PropertyDescriptor nameProperty = dynamicProperties[namePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, + generalCategory, + "Naam", + "De naam van de kaartlaag.", + true); + + PropertyDescriptor typeProperty = dynamicProperties[typePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(typeProperty, + generalCategory, + "Type", + "Type van de data dat wordt getoond op de kaartlaag.", + true); + + PropertyDescriptor showlabelsProperty = dynamicProperties[showLabelsPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(showlabelsProperty, + labelCategory, + "Weergeven", + "Geeft aan of op deze kaartlaag labels moeten worden weergegeven.", + !hasMetaData); + + if (showLabels) + { + PropertyDescriptor selectedMetaDataAttributeProperty = dynamicProperties[selectedMetaDataAttributePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(selectedMetaDataAttributeProperty, + labelCategory, + "Op basis van", + "Toont de eigenschap op basis waarvan labels op de geselecteerde kaartlaag worden weergegeven."); + } + } + + [Test] + public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() + { + // Setup + const int numberOfChangedProperties = 2; + var mocks = new MockRepository(); + var observerMock = mocks.StrictMock(); + observerMock.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); + mocks.ReplayAll(); + + var mapPointData = new MapPointData("Test") + { + ShowLabels = true + }; + + mapPointData.Attach(observerMock); + + var properties = new TestFeatureBasedMapDataProperties + { + Data = mapPointData + }; + + // Call + properties.ShowLabels = false; + properties.SelectedMetaDataAttribute = "ID"; + + // Assert + Assert.AreEqual(properties.ShowLabels, mapPointData.ShowLabels); + Assert.AreEqual(properties.SelectedMetaDataAttribute, mapPointData.SelectedMetaDataAttribute); + mocks.VerifyAll(); + } + + private class TestFeatureBasedMapDataProperties : FeatureBasedMapDataProperties + { + public override string Type + { + get + { + return "Test feature based map data"; + } + } + } + } +} \ No newline at end of file Index: Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapLineDataPropertiesTest.cs =================================================================== diff -u -r7a02214c204a80a085b50b8d5fd7f90b9e0b4149 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapLineDataPropertiesTest.cs (.../MapLineDataPropertiesTest.cs) (revision 7a02214c204a80a085b50b8d5fd7f90b9e0b4149) +++ Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapLineDataPropertiesTest.cs (.../MapLineDataPropertiesTest.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,118 +19,25 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.ComponentModel; -using Core.Common.Base; -using Core.Common.Gui.PropertyBag; -using Core.Common.TestUtil; using Core.Components.Gis.Data; using Core.Plugins.Map.PropertyClasses; using NUnit.Framework; -using Rhino.Mocks; namespace Core.Plugins.Map.Test.PropertyClasses { [TestFixture] public class MapLineDataPropertiesTest { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - [Test] public void Constructor_ExpectedValues() { // Call var properties = new MapLineDataProperties(); // Assert - Assert.IsInstanceOf>(properties); + Assert.IsInstanceOf>(properties); Assert.IsNull(properties.Data); - } - - [Test] - public void Data_SetNewMapLineDataInstance_ReturnCorrectPropertyValues() - { - // Setup - var mapLineData = new MapLineData("Test"); - var properties = new MapLineDataProperties(); - - // Call - properties.Data = mapLineData; - - // Assert - Assert.AreEqual(mapLineData.Name, properties.Name); Assert.AreEqual("Lijnen", properties.Type); - Assert.AreEqual(mapLineData.ShowLabels, properties.ShowLabels); } - - [Test] - public void Constructor_Always_PropertiesHaveExpectedAttributesValues() - { - // Setup - var mapLineData = new MapLineData("Test"); - - // Call - var properties = new MapLineDataProperties - { - Data = mapLineData - }; - - // Assert - PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); - Assert.AreEqual(3, dynamicProperties.Count); - - const string generalCategory = "Algemeen"; - const string labelCategory = "Label"; - - PropertyDescriptor nameProperty = dynamicProperties[namePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, - generalCategory, - "Naam", - "De naam van de kaartlaag.", - true); - - PropertyDescriptor typeProperty = dynamicProperties[typePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(typeProperty, - generalCategory, - "Type", - "Type van de data dat wordt getoond op de kaartlaag.", - true); - - PropertyDescriptor showlabelsProperty = dynamicProperties[showLabelsPropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(showlabelsProperty, - labelCategory, - "Weergeven", - "Geeft aan of op deze kaartlaag labels moeten worden weergegeven."); - } - - [Test] - public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() - { - // Setup - var mocks = new MockRepository(); - var observerMock = mocks.StrictMock(); - observerMock.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); - - var mapLineData = new MapLineData("Test") - { - ShowLabels = true - }; - - mapLineData.Attach(observerMock); - - var properties = new MapLineDataProperties - { - Data = mapLineData - }; - - // Call - properties.ShowLabels = false; - - // Assert - Assert.AreEqual(properties.ShowLabels, mapLineData.ShowLabels); - mocks.VerifyAll(); - } } } \ No newline at end of file Index: Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPointDataPropertiesTest.cs =================================================================== diff -u -r5e5325511c8d18cd4377905ce050825ad9316026 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPointDataPropertiesTest.cs (.../MapPointDataPropertiesTest.cs) (revision 5e5325511c8d18cd4377905ce050825ad9316026) +++ Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPointDataPropertiesTest.cs (.../MapPointDataPropertiesTest.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,150 +19,25 @@ // 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; -using Core.Common.Gui.PropertyBag; -using Core.Common.TestUtil; using Core.Components.Gis.Data; -using Core.Components.Gis.Features; -using Core.Components.Gis.Geometries; using Core.Plugins.Map.PropertyClasses; using NUnit.Framework; -using Rhino.Mocks; namespace Core.Plugins.Map.Test.PropertyClasses { [TestFixture] public class MapPointDataPropertiesTest { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - private const int selectedMetaDataAttributePropertyIndex = 3; - [Test] public void Constructor_ExpectedValues() { // Call var properties = new MapPointDataProperties(); // Assert - Assert.IsInstanceOf>(properties); + Assert.IsInstanceOf>(properties); Assert.IsNull(properties.Data); - } - - [Test] - public void Data_SetNewMapPointDataInstance_ReturnCorrectPropertyValues() - { - // Setup - var mapPointData = new MapPointData("Test"); - var properties = new MapPointDataProperties(); - - // Call - properties.Data = mapPointData; - - // Assert - Assert.AreEqual(mapPointData.Name, properties.Name); Assert.AreEqual("Punten", properties.Type); - Assert.AreEqual(mapPointData.ShowLabels, properties.ShowLabels); } - - [Test] - [Combinatorial] - public void Constructor_Always_PropertiesHaveExpectedAttributesValues([Values(true, false)] bool hasMetaData, - [Values(true, false)] bool showLabels) - { - // Setup - var feature = new MapFeature(Enumerable.Empty()); - if (hasMetaData) - { - feature.MetaData["key"] = "value"; - } - - var mapPointData = new MapPointData("Test") - { - Features = new[] - { - feature - }, - ShowLabels = showLabels - }; - - // Call - var properties = new MapPointDataProperties - { - Data = mapPointData - }; - - // Assert - PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); - Assert.AreEqual(showLabels ? 4 : 3, dynamicProperties.Count); - - const string generalCategory = "Algemeen"; - const string labelCategory = "Label"; - - PropertyDescriptor nameProperty = dynamicProperties[namePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, - generalCategory, - "Naam", - "De naam van de kaartlaag.", - true); - - PropertyDescriptor typeProperty = dynamicProperties[typePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(typeProperty, - generalCategory, - "Type", - "Type van de data dat wordt getoond op de kaartlaag.", - true); - - PropertyDescriptor showlabelsProperty = dynamicProperties[showLabelsPropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(showlabelsProperty, - labelCategory, - "Weergeven", - "Geeft aan of op deze kaartlaag labels moeten worden weergegeven.", - !hasMetaData); - - if (showLabels) - { - PropertyDescriptor selectedMetaDataAttributeProperty = dynamicProperties[selectedMetaDataAttributePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(selectedMetaDataAttributeProperty, - labelCategory, - "Op basis van", - "Toont de eigenschap op basis waarvan labels op de geselecteerde kaartlaag worden weergegeven."); - } - } - - [Test] - public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() - { - // Setup - const int numberOfChangedProperties = 2; - var mocks = new MockRepository(); - var observerMock = mocks.StrictMock(); - observerMock.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); - mocks.ReplayAll(); - - var mapPointData = new MapPointData("Test") - { - ShowLabels = true - }; - - mapPointData.Attach(observerMock); - - var properties = new MapPointDataProperties - { - Data = mapPointData - }; - - // Call - properties.ShowLabels = false; - properties.SelectedMetaDataAttribute = "ID"; - - // Assert - Assert.AreEqual(properties.ShowLabels, mapPointData.ShowLabels); - Assert.AreEqual(properties.SelectedMetaDataAttribute, mapPointData.SelectedMetaDataAttribute); - mocks.VerifyAll(); - } } } \ No newline at end of file Index: Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPolygonDataPropertiesTest.cs =================================================================== diff -u -r7a02214c204a80a085b50b8d5fd7f90b9e0b4149 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPolygonDataPropertiesTest.cs (.../MapPolygonDataPropertiesTest.cs) (revision 7a02214c204a80a085b50b8d5fd7f90b9e0b4149) +++ Core/Plugins/test/Core.Plugins.Map.Test/PropertyClasses/MapPolygonDataPropertiesTest.cs (.../MapPolygonDataPropertiesTest.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -19,118 +19,25 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.ComponentModel; -using Core.Common.Base; -using Core.Common.Gui.PropertyBag; -using Core.Common.TestUtil; using Core.Components.Gis.Data; using Core.Plugins.Map.PropertyClasses; using NUnit.Framework; -using Rhino.Mocks; namespace Core.Plugins.Map.Test.PropertyClasses { [TestFixture] public class MapPolygonDataPropertiesTest { - private const int namePropertyIndex = 0; - private const int typePropertyIndex = 1; - private const int showLabelsPropertyIndex = 2; - [Test] public void Constructor_ExpectedValues() { // Call var properties = new MapPolygonDataProperties(); // Assert - Assert.IsInstanceOf>(properties); + Assert.IsInstanceOf>(properties); Assert.IsNull(properties.Data); - } - - [Test] - public void Data_SetNewMapPolygonDataInstance_ReturnCorrectPropertyValues() - { - // Setup - var mapPolygonData = new MapPolygonData("Test"); - var properties = new MapPolygonDataProperties(); - - // Call - properties.Data = mapPolygonData; - - // Assert - Assert.AreEqual(mapPolygonData.Name, properties.Name); Assert.AreEqual("Polygonen", properties.Type); - Assert.AreEqual(mapPolygonData.ShowLabels, properties.ShowLabels); } - - [Test] - public void Constructor_Always_PropertiesHaveExpectedAttributesValues() - { - // Setup - var mapPolygonData = new MapPolygonData("Test"); - - // Call - var properties = new MapPolygonDataProperties - { - Data = mapPolygonData - }; - - // Assert - PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); - Assert.AreEqual(3, dynamicProperties.Count); - - const string generalCategory = "Algemeen"; - const string labelCategory = "Label"; - - PropertyDescriptor nameProperty = dynamicProperties[namePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, - generalCategory, - "Naam", - "De naam van de kaartlaag.", - true); - - PropertyDescriptor typeProperty = dynamicProperties[typePropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(typeProperty, - generalCategory, - "Type", - "Type van de data dat wordt getoond op de kaartlaag.", - true); - - PropertyDescriptor showlabelsProperty = dynamicProperties[showLabelsPropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(showlabelsProperty, - labelCategory, - "Weergeven", - "Geeft aan of op deze kaartlaag labels moeten worden weergegeven."); - } - - [Test] - public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() - { - // Setup - var mocks = new MockRepository(); - var observerMock = mocks.StrictMock(); - observerMock.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); - - var mapPolygonData = new MapPolygonData("Test") - { - ShowLabels = true - }; - - mapPolygonData.Attach(observerMock); - - var properties = new MapPolygonDataProperties - { - Data = mapPolygonData - }; - - // Call - properties.ShowLabels = false; - - // Assert - Assert.AreEqual(properties.ShowLabels, mapPolygonData.ShowLabels); - mocks.VerifyAll(); - } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapDataFactoryTest.cs =================================================================== diff -u -r07e54440666b51d4a93039da2f8b5fa031fe4fe2 -r0d83632a0219af77be977b8dfaed374a0b00998e --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapDataFactoryTest.cs (.../RingtoetsMapDataFactoryTest.cs) (revision 07e54440666b51d4a93039da2f8b5fa031fe4fe2) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/RingtoetsMapDataFactoryTest.cs (.../RingtoetsMapDataFactoryTest.cs) (revision 0d83632a0219af77be977b8dfaed374a0b00998e) @@ -25,8 +25,6 @@ using Core.Components.Gis.Style; using NUnit.Framework; using Ringtoets.Common.Forms.Views; -using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; -using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; namespace Ringtoets.Common.Forms.Test.Views {