public void GivenMapPointDataPropertiesWithMapTheme_WhenCategoryThemePropertySet_ThenMapDataNotified() { // Given var random = new Random(21); var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); var mapPointData = new MapPointData("Test", new PointStyle(), new MapTheme <PointCategoryTheme>("Attribute", new[] { new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), new PointStyle()) })); mapPointData.Attach(observer); var properties = new MapPointDataProperties(mapPointData, Enumerable.Empty <MapDataCollection>()); // When PointCategoryThemeProperties categoryThemeProperties = properties.CategoryThemes.First(); categoryThemeProperties.Size = random.Next(1, 48); // Then mocks.VerifyAll(); }
public void Constructor_WithMapTheme_ReturnCorrectPropertyValues() { // Setup const string attributeName = "Attribute"; var categoryTheme = new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), new PointStyle()); var mapPointData = new MapPointData("Test", new PointStyle(), new MapTheme <PointCategoryTheme>(attributeName, new[] { categoryTheme })); // Call var properties = new MapPointDataProperties(mapPointData, Enumerable.Empty <MapDataCollection>()); // Assert Assert.AreEqual("Categorie", properties.StyleType); Assert.AreEqual(mapPointData.ShowLabels, properties.ShowLabels); Assert.IsEmpty(properties.SelectedMetaDataAttribute.MetaDataAttribute); Assert.AreEqual(mapPointData.MetaData, properties.GetAvailableMetaDataAttributes()); Assert.AreEqual(1, properties.CategoryThemes.Length); PointCategoryThemeProperties pointCategoryThemeProperties = properties.CategoryThemes.First(); Assert.AreSame(categoryTheme, pointCategoryThemeProperties.Data); ValueCriterionTestHelper.AssertValueCriterionFormatExpression(attributeName, categoryTheme.Criterion, pointCategoryThemeProperties.Criterion); }
public void Constructor_WithValidArguments_PropertiesHaveExpectedAttributeValues() { // Setup var categoryTheme = new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), new PointStyle()); // Call var properties = new PointCategoryThemeProperties(categoryTheme, string.Empty, new MapPointData("Name")); // Assert PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Assert.AreEqual(6, dynamicProperties.Count); const string styleCategory = "Stijl"; PropertyDescriptor colorProperty = dynamicProperties[colorPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(colorProperty, styleCategory, "Kleur", "De kleur van de symbolen waarmee deze categorie wordt weergegeven."); PropertyDescriptor strokeColorProperty = dynamicProperties[strokeColorPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(strokeColorProperty, styleCategory, "Lijnkleur", "De kleur van de lijn van de symbolen waarmee deze categorie wordt weergegeven."); PropertyDescriptor strokeThicknessProperty = dynamicProperties[strokeThicknessPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(strokeThicknessProperty, styleCategory, "Lijndikte", "De dikte van de lijn van de symbolen waarmee deze categorie wordt weergegeven."); PropertyDescriptor sizeProperty = dynamicProperties[sizePropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(sizeProperty, styleCategory, "Grootte", "De grootte van de symbolen waarmee deze categorie wordt weergegeven."); PropertyDescriptor symbolProperty = dynamicProperties[symbolPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(symbolProperty, styleCategory, "Symbool", "Het symbool waarmee deze categorie wordt weergegeven."); }
public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() { // Setup var random = new Random(21); var mocks = new MockRepository(); var observer = mocks.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()).Repeat.Times(5); mocks.ReplayAll(); var mapData = new MapPointData("Name"); mapData.Attach(observer); var categoryTheme = new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), new PointStyle()); var properties = new PointCategoryThemeProperties(categoryTheme, string.Empty, mapData); Color color = Color.FromKnownColor(random.NextEnumValue <KnownColor>()); Color strokeColor = Color.FromKnownColor(random.NextEnumValue <KnownColor>()); int strokeThickness = random.Next(1, 48); int size = random.Next(1, 48); var symbol = random.NextEnumValue <PointSymbol>(); // Call properties.Color = color; properties.StrokeColor = strokeColor; properties.StrokeThickness = strokeThickness; properties.Size = size; properties.Symbol = symbol; // Assert PointStyle actualStyle = categoryTheme.Style; Assert.AreEqual(color, actualStyle.Color); Assert.AreEqual(strokeColor, actualStyle.StrokeColor); Assert.AreEqual(strokeThickness, actualStyle.StrokeThickness); Assert.AreEqual(size, actualStyle.Size); Assert.AreEqual(symbol, actualStyle.Symbol); mocks.VerifyAll(); }
public void Constructor_ExpectedValues() { // Setup var categoryTheme = new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), new PointStyle()); // Call var properties = new PointCategoryThemeProperties(categoryTheme, string.Empty, new MapPointData("Name")); // Assert Assert.IsInstanceOf <CategoryThemeProperties <PointCategoryTheme> >(properties); TestHelper.AssertTypeConverter <PointCategoryThemeProperties, ColorTypeConverter>( nameof(PointCategoryThemeProperties.Color)); TestHelper.AssertTypeConverter <PointCategoryThemeProperties, ColorTypeConverter>( nameof(PointCategoryThemeProperties.StrokeColor)); TestHelper.AssertTypeConverter <PointCategoryThemeProperties, EnumTypeConverter>( nameof(PointCategoryThemeProperties.Symbol)); }
public void Constructor_WithValidArguments_ReturnExpectedPropertyValues() { // Setup const string attributeName = "AttributeName"; ValueCriterion valueCriterion = ValueCriterionTestFactory.CreateValueCriterion(); var categoryTheme = new PointCategoryTheme(valueCriterion, new PointStyle()); var properties = new PointCategoryThemeProperties(categoryTheme, attributeName, new MapPointData("Name")); // Assert Assert.AreSame(categoryTheme, properties.Data); Assert.AreEqual(categoryTheme.Style.Color, properties.Color); Assert.AreEqual(categoryTheme.Style.StrokeColor, properties.StrokeColor); Assert.AreEqual(categoryTheme.Style.StrokeThickness, properties.StrokeThickness); Assert.AreEqual(categoryTheme.Style.Symbol, properties.Symbol); Assert.AreEqual(categoryTheme.Style.Size, properties.Size); ValueCriterionTestHelper.AssertValueCriterionFormatExpression(attributeName, valueCriterion, properties.Criterion); }