Index: Riskeer/Common/src/Riskeer.Common.Forms/Factories/MapThemeFactory.cs
===================================================================
diff -u -r96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a -rc36957d0b7c7da0c4e5d5c0bb5e186b49d493d97
--- Riskeer/Common/src/Riskeer.Common.Forms/Factories/MapThemeFactory.cs (.../MapThemeFactory.cs) (revision 96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Factories/MapThemeFactory.cs (.../MapThemeFactory.cs) (revision c36957d0b7c7da0c4e5d5c0bb5e186b49d493d97)
@@ -19,11 +19,15 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
+using System.Collections.Generic;
using System.Drawing;
using Core.Common.Util;
using Core.Components.Gis.Style;
using Core.Components.Gis.Theme;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.Forms;
+using Riskeer.Common.Forms.Helpers;
using Riskeer.Common.Forms.Properties;
namespace Riskeer.Common.Forms.Factories
@@ -37,26 +41,27 @@
private const LineDashStyle lineDashStyle = LineDashStyle.Solid;
///
- /// Creates a based on the values of .
+ /// Creates a based on the values of .
///
/// The created .
+ /// Thrown when
+ /// is a valid value, but unsupported.
public static MapTheme CreateDisplayFailureMechanismAssemblyCategoryGroupMapTheme()
{
- return new MapTheme(Resources.AssemblyCategory_Group_DisplayName, new[]
+ var categoryThemes = new List();
+
+ foreach (FailureMechanismSectionAssemblyGroup enumValue in Enum.GetValues(typeof(FailureMechanismSectionAssemblyGroup)))
{
- CreateCategoryTheme(Color.FromArgb(255, 0, 255, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.Iv),
- CreateCategoryTheme(Color.FromArgb(255, 118, 147, 60), DisplayFailureMechanismSectionAssemblyCategoryGroup.IIv),
- CreateCategoryTheme(Color.FromArgb(255, 255, 255, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.IIIv),
- CreateCategoryTheme(Color.FromArgb(255, 204, 192, 218), DisplayFailureMechanismSectionAssemblyCategoryGroup.IVv),
- CreateCategoryTheme(Color.FromArgb(255, 255, 153, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.Vv),
- CreateCategoryTheme(Color.FromArgb(255, 255, 0, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.VIv),
- CreateCategoryTheme(Color.FromArgb(255, 255, 255, 255), DisplayFailureMechanismSectionAssemblyCategoryGroup.VIIv),
- CreateCategoryTheme(Color.FromArgb(0, 0, 0, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.NotApplicable),
- CreateCategoryTheme(Color.FromArgb(0, 0, 0, 0), DisplayFailureMechanismSectionAssemblyCategoryGroup.None)
- });
+ LineCategoryTheme theme = CreateCategoryTheme(AssemblyGroupColorHelper.GetFailureMechanismSectionAssemblyCategoryGroupColor(enumValue),
+ DisplayFailureMechanismSectionAssemblyGroupConverter.Convert(enumValue));
+
+ categoryThemes.Add(theme);
+ }
+
+ return new MapTheme(Resources.AssemblyGroup_DisplayName, categoryThemes);
}
- private static LineCategoryTheme CreateCategoryTheme(Color color, DisplayFailureMechanismSectionAssemblyCategoryGroup categoryGroup)
+ private static LineCategoryTheme CreateCategoryTheme(Color color, DisplayFailureMechanismSectionAssemblyGroup categoryGroup)
{
var lineStyle = new LineStyle
{
@@ -68,10 +73,10 @@
return new LineCategoryTheme(CreateCriterion(categoryGroup), lineStyle);
}
- private static ValueCriterion CreateCriterion(DisplayFailureMechanismSectionAssemblyCategoryGroup category)
+ private static ValueCriterion CreateCriterion(DisplayFailureMechanismSectionAssemblyGroup category)
{
return new ValueCriterion(ValueCriterionOperator.EqualValue,
- new EnumDisplayWrapper(category).DisplayName);
+ new EnumDisplayWrapper(category).DisplayName);
}
}
}
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Factories/MapThemeFactoryTest.cs
===================================================================
diff -u -r96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a -rc36957d0b7c7da0c4e5d5c0bb5e186b49d493d97
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Factories/MapThemeFactoryTest.cs (.../MapThemeFactoryTest.cs) (revision 96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Factories/MapThemeFactoryTest.cs (.../MapThemeFactoryTest.cs) (revision c36957d0b7c7da0c4e5d5c0bb5e186b49d493d97)
@@ -36,7 +36,7 @@
MapTheme mapTheme = MapThemeFactory.CreateDisplayFailureMechanismAssemblyCategoryGroupMapTheme();
// Assert
- MapThemeTestHelper.AssertDisplayFailureMechanismSectionAssemblyCategoryGroupMapTheme(mapTheme);
+ MapThemeTestHelper.AssertDisplayFailureMechanismSectionAssemblyGroupMapTheme(mapTheme);
}
}
}
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Forms.TestUtil/MapThemeTestHelper.cs
===================================================================
diff -u -r96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a -rc36957d0b7c7da0c4e5d5c0bb5e186b49d493d97
--- Riskeer/Common/test/Riskeer.Common.Forms.TestUtil/MapThemeTestHelper.cs (.../MapThemeTestHelper.cs) (revision 96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a)
+++ Riskeer/Common/test/Riskeer.Common.Forms.TestUtil/MapThemeTestHelper.cs (.../MapThemeTestHelper.cs) (revision c36957d0b7c7da0c4e5d5c0bb5e186b49d493d97)
@@ -24,6 +24,7 @@
using Core.Components.Gis.Style;
using Core.Components.Gis.Theme;
using NUnit.Framework;
+using Riskeer.AssemblyTool.Data;
using Riskeer.AssemblyTool.Forms;
namespace Riskeer.Common.Forms.TestUtil
@@ -58,6 +59,33 @@
AssertCategoryTheme("-", Color.FromArgb(0, 0, 0, 0), theme.CategoryThemes.ElementAt(7));
AssertCategoryTheme(string.Empty, Color.FromArgb(0, 0, 0, 0), theme.CategoryThemes.ElementAt(8));
}
+
+ ///
+ /// Asserts whether the is configured for category values
+ /// of type .
+ ///
+ /// The to assert.
+ /// Thrown when:
+ ///
+ /// - does not have the expected attribute name it categorizes its data on.
+ /// - does not have the expected number of criteria as themes.
+ /// - does not have the expected categorical criteria as themes.
+ ///
+ public static void AssertDisplayFailureMechanismSectionAssemblyGroupMapTheme(MapTheme theme)
+ {
+ Assert.AreEqual("Duidingsklasse", theme.AttributeName);
+ Assert.AreEqual(10, theme.CategoryThemes.Count());
+ AssertCategoryTheme("ND", Color.FromArgb(255, 192, 192, 192), theme.CategoryThemes.ElementAt(0));
+ AssertCategoryTheme("+III", Color.FromArgb(255, 34, 139, 34), theme.CategoryThemes.ElementAt(1));
+ AssertCategoryTheme("+II", Color.FromArgb(255, 146, 208, 80), theme.CategoryThemes.ElementAt(2));
+ AssertCategoryTheme("+I", Color.FromArgb(255, 198, 224, 180), theme.CategoryThemes.ElementAt(3));
+ AssertCategoryTheme("0", Color.FromArgb(255, 255, 255, 0), theme.CategoryThemes.ElementAt(4));
+ AssertCategoryTheme("-I", Color.FromArgb(255, 255, 165, 0), theme.CategoryThemes.ElementAt(5));
+ AssertCategoryTheme("-II", Color.FromArgb(255, 255, 0, 0), theme.CategoryThemes.ElementAt(6));
+ AssertCategoryTheme("-III", Color.FromArgb(255, 178, 34, 34), theme.CategoryThemes.ElementAt(7));
+ AssertCategoryTheme("D", Color.FromArgb(255, 255, 90, 172), theme.CategoryThemes.ElementAt(8));
+ AssertCategoryTheme(string.Empty, Color.FromArgb(255, 255, 255, 255), theme.CategoryThemes.ElementAt(9));
+ }
private static void AssertCategoryTheme(string expectedValue, Color expectedColor, LineCategoryTheme categoryTheme)
{