Index: Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj
===================================================================
diff -u -r8b125fe0ebdc0a3b6861dc25e2dd8314bcc5a395 -r0c45ab7d619015e9b177a38b37a01817dd4f2f25
--- Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj (.../Core.Components.Gis.csproj) (revision 8b125fe0ebdc0a3b6861dc25e2dd8314bcc5a395)
+++ Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj (.../Core.Components.Gis.csproj) (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -15,6 +15,9 @@
+
+
+
Index: Core/Components/src/Core.Components.Gis/Theme/LineCategoryTheme.cs
===================================================================
diff -u
--- Core/Components/src/Core.Components.Gis/Theme/LineCategoryTheme.cs (revision 0)
+++ Core/Components/src/Core.Components.Gis/Theme/LineCategoryTheme.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,55 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Drawing;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Style;
+
+namespace Core.Components.Gis.Theme
+{
+ ///
+ /// Class to define categories for .
+ ///
+ public class LineCategoryTheme : CategoryTheme
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The belonging to the category.
+ /// The belonging to the category.
+ /// Thrown when any parameter is null.
+ public LineCategoryTheme(ValueCriterion criterion, LineStyle style) : base(Color.AliceBlue, criterion)
+ {
+ if (style == null)
+ {
+ throw new ArgumentNullException(nameof(style));
+ }
+
+ Style = style;
+ }
+
+ ///
+ /// Gets the of the category.
+ ///
+ public LineStyle Style { get; }
+ }
+}
\ No newline at end of file
Index: Core/Components/src/Core.Components.Gis/Theme/PointCategoryTheme.cs
===================================================================
diff -u
--- Core/Components/src/Core.Components.Gis/Theme/PointCategoryTheme.cs (revision 0)
+++ Core/Components/src/Core.Components.Gis/Theme/PointCategoryTheme.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,55 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Drawing;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Style;
+
+namespace Core.Components.Gis.Theme
+{
+ ///
+ /// Class to define categories for .
+ ///
+ public class PointCategoryTheme : CategoryTheme
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The belonging to the category.
+ /// The belonging to the category.
+ /// Thrown when any parameter is null.
+ public PointCategoryTheme(ValueCriterion criterion, PointStyle style) : base(Color.AliceBlue, criterion)
+ {
+ if (style == null)
+ {
+ throw new ArgumentNullException(nameof(style));
+ }
+
+ Style = style;
+ }
+
+ ///
+ /// Gets the of the category.
+ ///
+ public PointStyle Style { get; }
+ }
+}
\ No newline at end of file
Index: Core/Components/src/Core.Components.Gis/Theme/PolygonCategoryTheme.cs
===================================================================
diff -u
--- Core/Components/src/Core.Components.Gis/Theme/PolygonCategoryTheme.cs (revision 0)
+++ Core/Components/src/Core.Components.Gis/Theme/PolygonCategoryTheme.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,55 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Drawing;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Style;
+
+namespace Core.Components.Gis.Theme
+{
+ ///
+ /// Class to define categories for .
+ ///
+ public class PolygonCategoryTheme : CategoryTheme
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The belonging to the category.
+ /// The belonging to the category.
+ /// Thrown when any parameter is null.
+ public PolygonCategoryTheme(ValueCriterion criterion, PolygonStyle style) : base(Color.AliceBlue, criterion)
+ {
+ if (style == null)
+ {
+ throw new ArgumentNullException(nameof(style));
+ }
+
+ Style = style;
+ }
+
+ ///
+ /// Gets the of the category.
+ ///
+ public PolygonStyle Style { get; }
+ }
+}
\ No newline at end of file
Index: Core/Components/test/Core.Components.Gis.Test/Core.Components.Gis.Test.csproj
===================================================================
diff -u -r8b125fe0ebdc0a3b6861dc25e2dd8314bcc5a395 -r0c45ab7d619015e9b177a38b37a01817dd4f2f25
--- Core/Components/test/Core.Components.Gis.Test/Core.Components.Gis.Test.csproj (.../Core.Components.Gis.Test.csproj) (revision 8b125fe0ebdc0a3b6861dc25e2dd8314bcc5a395)
+++ Core/Components/test/Core.Components.Gis.Test/Core.Components.Gis.Test.csproj (.../Core.Components.Gis.Test.csproj) (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -20,6 +20,9 @@
+
+
+
Index: Core/Components/test/Core.Components.Gis.Test/Theme/LineCategoryThemeTest.cs
===================================================================
diff -u
--- Core/Components/test/Core.Components.Gis.Test/Theme/LineCategoryThemeTest.cs (revision 0)
+++ Core/Components/test/Core.Components.Gis.Test/Theme/LineCategoryThemeTest.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Core.Components.Gis.Style;
+using Core.Components.Gis.TestUtil;
+using Core.Components.Gis.Theme;
+using NUnit.Framework;
+
+namespace Core.Components.Gis.Test.Theme
+{
+ [TestFixture]
+ public class LineCategoryThemeTest
+ {
+ [Test]
+ public void Constructor_StyleNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new LineCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("style", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Setup
+ ValueCriterion valueCriterion = ValueCriterionTestFactory.CreateValueCriterion();
+ var style = new LineStyle();
+
+ // Call
+ var category = new LineCategoryTheme(valueCriterion, style);
+
+ // Assert
+ Assert.IsInstanceOf(category);
+ Assert.AreSame(valueCriterion, category.Criterion);
+ Assert.AreSame(style, category.Style);
+ }
+ }
+}
\ No newline at end of file
Index: Core/Components/test/Core.Components.Gis.Test/Theme/PointCategoryThemeTest.cs
===================================================================
diff -u
--- Core/Components/test/Core.Components.Gis.Test/Theme/PointCategoryThemeTest.cs (revision 0)
+++ Core/Components/test/Core.Components.Gis.Test/Theme/PointCategoryThemeTest.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Core.Components.Gis.Style;
+using Core.Components.Gis.TestUtil;
+using Core.Components.Gis.Theme;
+using NUnit.Framework;
+
+namespace Core.Components.Gis.Test.Theme
+{
+ [TestFixture]
+ public class PointCategoryThemeTest
+ {
+ [Test]
+ public void Constructor_StyleNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new PointCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("style", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Setup
+ ValueCriterion valueCriterion = ValueCriterionTestFactory.CreateValueCriterion();
+ var style = new PointStyle();
+
+ // Call
+ var category = new PointCategoryTheme(valueCriterion, style);
+
+ // Assert
+ Assert.IsInstanceOf(category);
+ Assert.AreSame(valueCriterion, category.Criterion);
+ Assert.AreSame(style, category.Style);
+ }
+ }
+}
\ No newline at end of file
Index: Core/Components/test/Core.Components.Gis.Test/Theme/PolygonCategoryThemeTest.cs
===================================================================
diff -u
--- Core/Components/test/Core.Components.Gis.Test/Theme/PolygonCategoryThemeTest.cs (revision 0)
+++ Core/Components/test/Core.Components.Gis.Test/Theme/PolygonCategoryThemeTest.cs (revision 0c45ab7d619015e9b177a38b37a01817dd4f2f25)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Core.Components.Gis.Style;
+using Core.Components.Gis.TestUtil;
+using Core.Components.Gis.Theme;
+using NUnit.Framework;
+
+namespace Core.Components.Gis.Test.Theme
+{
+ [TestFixture]
+ public class PolygonCategoryThemeTest
+ {
+ [Test]
+ public void Constructor_StyleNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new PolygonCategoryTheme(ValueCriterionTestFactory.CreateValueCriterion(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("style", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Setup
+ ValueCriterion valueCriterion = ValueCriterionTestFactory.CreateValueCriterion();
+ var style = new PolygonStyle();
+
+ // Call
+ var category = new PolygonCategoryTheme(valueCriterion, style);
+
+ // Assert
+ Assert.IsInstanceOf(category);
+ Assert.AreSame(valueCriterion, category.Criterion);
+ Assert.AreSame(style, category.Style);
+ }
+ }
+}
\ No newline at end of file