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