Index: Core/Components/src/Core.Components.Chart.Forms/Core.Components.Chart.Forms.csproj =================================================================== diff -u --- Core/Components/src/Core.Components.Chart.Forms/Core.Components.Chart.Forms.csproj (revision 0) +++ Core/Components/src/Core.Components.Chart.Forms/Core.Components.Chart.Forms.csproj (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,76 @@ + + + + + {2465CCA1-C505-4827-9454-4FD5FD9194CD} + Library + Properties + Core.Components.Chart.Forms + Core.Components.Chart.Forms + v4.0 + 512 + + + true + full + false + DEBUG;TRACE + prompt + + + none + true + TRACE + prompt + + + TRACE + true + true + pdbonly + prompt + AllRules.ruleset + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + + Copying.Lesser.licenseheader + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + False + + + {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} + Core.Common.Controls + False + + + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} + Core.Components.Chart + False + + + + + \ No newline at end of file Index: Core/Components/src/Core.Components.Chart.Forms/IChartControl.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart.Forms/IChartControl.cs (revision 0) +++ Core/Components/src/Core.Components.Chart.Forms/IChartControl.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,85 @@ +// Copyright (C) Stichting Deltares 2017. 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.Chart.Data; + +namespace Core.Components.Chart.Forms +{ + /// + /// Interface describing general chart interactions. + /// + public interface IChartControl + { + /// + /// Gets a value indicating whether or not the chart can be panned with the left mouse button. + /// + bool IsPanningEnabled { get; } + + /// + /// Gets a value indicating whether or not the chart can be zoomed by rectangle with the left mouse button. + /// + bool IsRectangleZoomingEnabled { get; } + + /// + /// Gets or sets the data to show in the . + /// + ChartDataCollection Data { get; set; } + + /// + /// Gets or sets the title of the chart. + /// + string ChartTitle { get; set; } + + /// + /// Gets or sets the title of the bottom axis in the view. + /// + string BottomAxisTitle { get; set; } + + /// + /// Gets or sets the title of the left axis in the view. + /// + string LeftAxisTitle { get; set; } + + /// + /// Toggles panning of the . Panning is invoked by clicking the left mouse-button. + /// + void TogglePanning(); + + /// + /// Toggles rectangle zooming of the . Rectangle zooming is invoked by clicking the left mouse-button. + /// + void ToggleRectangleZooming(); + + /// + /// Zooms to a level so that everything is in view. + /// + void ZoomToAllVisibleLayers(); + + /// + /// Zooms to a level such that the given chart data is in view. + /// + /// The data to zoom to. + /// Thrown when + /// is not part of . + void ZoomToAllVisibleLayers(ChartData layerData); + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart.Forms/IChartView.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart.Forms/IChartView.cs (revision 0) +++ Core/Components/src/Core.Components.Chart.Forms/IChartView.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,36 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Common.Controls.Views; + +namespace Core.Components.Chart.Forms +{ + /// + /// Interface describing that contain a as one of its components. + /// + public interface IChartView : IView + { + /// + /// Gets the set for this . + /// + IChartControl Chart { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart.Forms/Properties/AssemblyInfo.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart.Forms/Properties/AssemblyInfo.cs (revision 0) +++ Core/Components/src/Core.Components.Chart.Forms/Properties/AssemblyInfo.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,27 @@ +// Copyright (C) Stichting Deltares 2017. 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Core.Components.DotSpatial")] +[assembly: AssemblyProduct("Core.Components.DotSpatial")] +[assembly: Guid("2465CCA1-C505-4827-9454-4FD5FD9194CD")] \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Core.Components.Chart.csproj =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Core.Components.Chart.csproj (revision 0) +++ Core/Components/src/Core.Components.Chart/Core.Components.Chart.csproj (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,93 @@ + + + + + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} + Library + Properties + Core.Components.Chart + Core.Components.Chart + v4.0 + 512 + + + true + full + false + DEBUG;TRACE + prompt + + + none + true + TRACE + prompt + + + pdbonly + true + TRACE + prompt + + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + False + + + {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98} + Core.Common.Utils + False + + + + + Copying.Lesser.licenseheader + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartAreaData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartAreaData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartAreaData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Chart.Styles; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents data in 2D space which forms a closed area. + /// + public class ChartAreaData : PointBasedChartData + { + private static readonly ChartAreaStyle defaultChartAreaStyle = new ChartAreaStyle + { + FillColor = Color.Gray, + StrokeColor = Color.Black, + StrokeThickness = 2 + }; + + /// + /// Creates a new instance of with default styling. + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartAreaData(string name) : this(name, defaultChartAreaStyle) {} + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// The style of the data. + /// Thrown when is + /// null or only whitespace. + /// Thrown when + /// is null. + public ChartAreaData(string name, ChartAreaStyle style) : base(name) + { + if (style == null) + { + throw new ArgumentNullException(nameof(style)); + } + Style = style; + } + + /// + /// Gets the style of the chart area. + /// + public ChartAreaStyle Style { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,75 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base; + +namespace Core.Components.Chart.Data +{ + /// + /// Abstract class for data with the purpose of becoming visible in charting components. + /// + public abstract class ChartData : Observable + { + private string name; + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// Thrown when is null or only whitespace. + protected ChartData(string name) + { + Name = name; + IsVisible = true; + } + + /// + /// Gets or sets the name of the . + /// + /// Thrown when is null or only whitespace. + public string Name + { + get + { + return name; + } + set + { + if (string.IsNullOrWhiteSpace(value)) + { + throw new ArgumentException("A name must be set to the chart data."); + } + name = value; + } + } + + /// + /// Gets or sets a value indicating whether the is visible. + /// + public bool IsVisible { get; set; } + + /// + /// Gets a value indicating whether the has data. + /// + public abstract bool HasData { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartDataCollection.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartDataCollection.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartDataCollection.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,112 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Linq; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents a collection of . + /// + public class ChartDataCollection : ChartData + { + private readonly IList chartDataList; + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartDataCollection(string name) : base(name) + { + chartDataList = new List(); + } + + /// + /// Gets the collection of of the . + /// + public IEnumerable Collection + { + get + { + return chartDataList; + } + } + + /// + /// Adds an item to the collection of . + /// + /// The item to add to the collection. + /// Thrown when is null. + public void Add(ChartData item) + { + if (item == null) + { + throw new ArgumentNullException(nameof(item), @"An item cannot be null when adding it to the collection."); + } + chartDataList.Add(item); + } + + /// + /// Inserts the given item into the collection of on the given index. + /// + /// The position to insert the item on. + /// The item to insert. + /// Thrown when is null. + /// Thrown when is less than 0 or greater than the size of . + public void Insert(int index, ChartData item) + { + if (item == null) + { + throw new ArgumentNullException(nameof(item), @"An item cannot be null when adding it to the collection."); + } + chartDataList.Insert(index, item); + } + + /// + /// Removes the given item from the collection of . + /// + /// The item to remove. + public void Remove(ChartData item) + { + chartDataList.Remove(item); + } + + /// + /// Removes all items from the collection of . + /// + public void Clear() + { + chartDataList.Clear(); + } + + public override bool HasData + { + get + { + return chartDataList.Any(c => c.HasData); + } + } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartDataCollectionExtensions.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartDataCollectionExtensions.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartDataCollectionExtensions.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,61 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; + +namespace Core.Components.Chart.Data +{ + /// + /// Extension methods for . + /// + public static class ChartDataCollectionExtensions + { + /// + /// Gets all the recursively in the given . + /// + /// The collection to get all from. + /// An of . + /// Thrown when is null. + public static IEnumerable GetChartDataRecursively(this ChartDataCollection chartDataCollection) + { + if (chartDataCollection == null) + { + throw new ArgumentNullException(nameof(chartDataCollection)); + } + var chartDataList = new List(); + + foreach (ChartData chartData in chartDataCollection.Collection) + { + var nestedChartDataCollection = chartData as ChartDataCollection; + if (nestedChartDataCollection != null) + { + chartDataList.AddRange(GetChartDataRecursively(nestedChartDataCollection)); + continue; + } + + chartDataList.Add(chartData); + } + + return chartDataList; + } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartLineData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartLineData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartLineData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Chart.Styles; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents data in 2D space which is visible as a line. + /// + public class ChartLineData : PointBasedChartData + { + private static readonly ChartLineStyle defaultChartLineStyle = new ChartLineStyle + { + Color = Color.Black, + Width = 2, + DashStyle = ChartLineDashStyle.Solid + }; + + /// + /// Creates a new instance of with default styling. + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartLineData(string name) : this(name, defaultChartLineStyle) {} + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// The style of the data. + /// Thrown when is + /// null or only whitespace. + /// Thrown when + /// is null. + public ChartLineData(string name, ChartLineStyle style) : base(name) + { + if (style == null) + { + throw new ArgumentNullException(nameof(style)); + } + Style = style; + } + + /// + /// Gets the style of the line. + /// + public ChartLineStyle Style { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartMultipleAreaData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartMultipleAreaData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartMultipleAreaData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,112 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Drawing; +using System.Linq; +using Core.Common.Base.Geometry; +using Core.Components.Chart.Styles; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents data in 2D space which forms multiple closed areas. + /// + public class ChartMultipleAreaData : ChartData + { + private static readonly ChartAreaStyle defaultChartAreaStyle = new ChartAreaStyle + { + FillColor = Color.Gray, + StrokeColor = Color.Black, + StrokeThickness = 2 + }; + + private IEnumerable areas; + + /// + /// Creates a new instance of with default styling. + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartMultipleAreaData(string name) : this(name, defaultChartAreaStyle) {} + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// The style of the data. + /// Thrown when is + /// null or only whitespace. + /// Thrown when + /// is null. + public ChartMultipleAreaData(string name, ChartAreaStyle style) : base(name) + { + if (style == null) + { + throw new ArgumentNullException(nameof(style)); + } + Style = style; + Areas = new List(); + } + + public override bool HasData + { + get + { + return areas.Any(l => l.Any()); + } + } + + /// + /// Gets or sets the areas that are described by the . + /// + /// Thrown when is null. + /// Thrown when contains any null value. + public IEnumerable Areas + { + get + { + return areas; + } + set + { + if (value == null) + { + throw new ArgumentNullException(nameof(value), @"The collection of point arrays cannot be null."); + } + + if (value.Any(array => array == null)) + { + throw new ArgumentException(@"The collection of point arrays cannot contain null values.", nameof(value)); + } + + areas = value; + } + } + + /// + /// Gets the style of the . + /// + public ChartAreaStyle Style { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartMultipleLineData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartMultipleLineData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartMultipleLineData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,114 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Drawing; +using System.Linq; +using Core.Common.Base.Geometry; +using Core.Components.Chart.Styles; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents data in 2D space which forms multiple lines. + /// + public class ChartMultipleLineData : ChartData + { + private static readonly ChartLineStyle defaultChartLineStyle = new ChartLineStyle + { + Color = Color.Black, + Width = 2, + DashStyle = ChartLineDashStyle.Solid + }; + + private IEnumerable lines; + + /// + /// Creates a new instance of with default styling. + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartMultipleLineData(string name) : this(name, defaultChartLineStyle) {} + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// The style of the data. + /// Thrown when is + /// null or only whitespace. + /// Thrown when + /// is null. + public ChartMultipleLineData(string name, ChartLineStyle style) : base(name) + { + if (style == null) + { + throw new ArgumentNullException(nameof(style)); + } + Style = style; + Lines = new List(); + } + + public override bool HasData + { + get + { + return lines.Any(l => l.Any()); + } + } + + /// + /// Gets or sets the lines that are described by the . + /// + /// Thrown when + /// is null. + /// Thrown when contains + /// any null value. + public IEnumerable Lines + { + get + { + return lines; + } + set + { + if (value == null) + { + throw new ArgumentNullException(nameof(value), @"The collection of point arrays cannot be null."); + } + + if (value.Any(array => array == null)) + { + throw new ArgumentException(@"The collection of point arrays cannot contain null values.", nameof(value)); + } + + lines = value; + } + } + + /// + /// Gets the style of the . + /// + public ChartLineStyle Style { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/ChartPointData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/ChartPointData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/ChartPointData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,73 @@ +// Copyright (C) Stichting Deltares 2017. 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.Chart.Styles; + +namespace Core.Components.Chart.Data +{ + /// + /// This class represents data in 2D space which is visible as points. + /// + public class ChartPointData : PointBasedChartData + { + private static readonly ChartPointStyle defaultChartPointStyle = new ChartPointStyle + { + Color = Color.Black, + StrokeColor = Color.Black, + Size = 2, + StrokeThickness = 1, + Symbol = ChartPointSymbol.Square + }; + + /// + /// Creates a new instance of with default styling. + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + public ChartPointData(string name) : this(name, defaultChartPointStyle) {} + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// The style of the data. + /// Thrown when is + /// null or only whitespace. + /// Thrown when + /// is null. + public ChartPointData(string name, ChartPointStyle style) : base(name) + { + if (style == null) + { + throw new ArgumentNullException(nameof(style)); + } + Style = style; + } + + /// + /// Gets the style of the points. + /// + public ChartPointStyle Style { get; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Data/PointBasedChartData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Data/PointBasedChartData.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Data/PointBasedChartData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,75 @@ +// Copyright (C) Stichting Deltares 2017. 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.Linq; +using Core.Common.Base.Geometry; + +namespace Core.Components.Chart.Data +{ + /// + /// Base class for that is based on an array of points in 2D space. + /// + public abstract class PointBasedChartData : ChartData + { + private Point2D[] points; + + /// + /// Creates a new instance of . + /// + /// The name of the . + /// Thrown when is + /// null or only whitespace. + protected PointBasedChartData(string name) : base(name) + { + points = new Point2D[0]; + } + + /// + /// Gets or sets an array of points in 2D space. + /// + /// Thrown when is null. + public Point2D[] Points + { + get + { + return points; + } + set + { + if (value == null) + { + throw new ArgumentNullException(nameof(value), @"The array of points cannot be null."); + } + + points = value; + } + } + + public override bool HasData + { + get + { + return Points.Any(); + } + } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Properties/AssemblyInfo.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Properties/AssemblyInfo.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Properties/AssemblyInfo.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,27 @@ +// Copyright (C) Stichting Deltares 2017. 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Core.Components.Chart")] +[assembly: AssemblyProduct("Core.Components.Chart")] +[assembly: Guid("8e0dc3cd-7dbd-4cc6-b6a4-3173f43e81b4")] \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Properties/Resources.Designer.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Properties/Resources.Designer.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Properties/Resources.Designer.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,198 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Core.Components.Chart.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Core.Components.Chart.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Onderbroken. + /// + internal static string ChartLineDashStyle_Dash_DisplayName { + get { + return ResourceManager.GetString("ChartLineDashStyle_Dash_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Streep-stip. + /// + internal static string ChartLineDashStyle_DashDot_DisplayName { + get { + return ResourceManager.GetString("ChartLineDashStyle_DashDot_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Streep-stip-stip. + /// + internal static string ChartLineDashStyle_DashDotDot_DisplayName { + get { + return ResourceManager.GetString("ChartLineDashStyle_DashDotDot_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Gestippeld. + /// + internal static string ChartLineDashStyle_Dot_DisplayName { + get { + return ResourceManager.GetString("ChartLineDashStyle_Dot_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Doorgetrokken. + /// + internal static string ChartLineDashStyle_Solid_DisplayName { + get { + return ResourceManager.GetString("ChartLineDashStyle_Solid_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cirkel. + /// + internal static string Circle_DisplayName { + get { + return ResourceManager.GetString("Circle_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kruis. + /// + internal static string Cross_DisplayName { + get { + return ResourceManager.GetString("Cross_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ruit. + /// + internal static string Diamond_DisplayName { + get { + return ResourceManager.GetString("Diamond_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plus. + /// + internal static string Plus_DisplayName { + get { + return ResourceManager.GetString("Plus_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor grootte moet in het bereik {0} liggen.. + /// + internal static string Size_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("Size_Value_should_be_in_Range_0_", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Vierkant. + /// + internal static string Square_DisplayName { + get { + return ResourceManager.GetString("Square_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ster. + /// + internal static string Star_DisplayName { + get { + return ResourceManager.GetString("Star_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor lijndikte moet in het bereik {0} liggen.. + /// + internal static string StrokeThickness_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("StrokeThickness_Value_should_be_in_Range_0_", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Driehoek. + /// + internal static string Triangle_DisplayName { + get { + return ResourceManager.GetString("Triangle_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor lijndikte moet in het bereik {0} liggen.. + /// + internal static string Width_Value_should_be_in_Range_0_ { + get { + return ResourceManager.GetString("Width_Value_should_be_in_Range_0_", resourceCulture); + } + } + } +} Index: Core/Components/src/Core.Components.Chart/Properties/Resources.resx =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Properties/Resources.resx (revision 0) +++ Core/Components/src/Core.Components.Chart/Properties/Resources.resx (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cirkel + + + Streep-stip-stip + + + Streep-stip + + + Onderbroken + + + Gestippeld + + + Doorgetrokken + + + Ruit + + + De waarde voor grootte moet in het bereik {0} liggen. + + + Vierkant + + + Ster + + + De waarde voor lijndikte moet in het bereik {0} liggen. + + + Driehoek + + + De waarde voor lijndikte moet in het bereik {0} liggen. + + + Kruis + + + Plus + + \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Styles/ChartAreaStyle.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Styles/ChartAreaStyle.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Styles/ChartAreaStyle.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base.Data; +using Core.Components.Chart.Properties; + +namespace Core.Components.Chart.Styles +{ + /// + /// This class represents styling of a area on a chart. + /// + public class ChartAreaStyle + { + private readonly Range strokeThicknessValidityRange = new Range(0, 48); + private int strokeThickness; + + /// + /// Gets or sets the area fill color. + /// + public Color FillColor { get; set; } + + /// + /// Gets or sets the area stroke color. + /// + public Color StrokeColor { get; set; } + + /// + /// Gets or sets the area border stroke thickness. + /// + /// Thrown when value is not in range [0, 48]. + public int StrokeThickness + { + get + { + return strokeThickness; + } + set + { + if (strokeThicknessValidityRange.InRange(value)) + { + strokeThickness = value; + } + else + { + string message = string.Format(Resources.StrokeThickness_Value_should_be_in_Range_0_, strokeThicknessValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Styles/ChartLineDashStyle.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Styles/ChartLineDashStyle.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Styles/ChartLineDashStyle.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,43 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Common.Utils.Attributes; +using Core.Components.Chart.Properties; + +namespace Core.Components.Chart.Styles +{ + /// + /// All dash styles supported by . + /// + public enum ChartLineDashStyle + { + [ResourcesDisplayName(typeof(Resources), nameof(Resources.ChartLineDashStyle_Solid_DisplayName))] + Solid, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.ChartLineDashStyle_Dash_DisplayName))] + Dash, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.ChartLineDashStyle_Dot_DisplayName))] + Dot, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.ChartLineDashStyle_DashDot_DisplayName))] + DashDot, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.ChartLineDashStyle_DashDotDot_DisplayName))] + DashDotDot + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Styles/ChartLineStyle.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Styles/ChartLineStyle.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Styles/ChartLineStyle.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base.Data; +using Core.Components.Chart.Properties; + +namespace Core.Components.Chart.Styles +{ + /// + /// This class represents styling of a line on a chart. + /// + public class ChartLineStyle + { + private readonly Range widthValidityRange = new Range(0, 48); + private int width; + + /// + /// Gets or sets the line color. + /// + public Color Color { get; set; } + + /// + /// Gets or sets the line width. + /// + /// Thrown when value is not in range [0, 48]. + public int Width + { + get + { + return width; + } + set + { + if (widthValidityRange.InRange(value)) + { + width = value; + } + else + { + string message = string.Format(Resources.Width_Value_should_be_in_Range_0_, widthValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } + + /// + /// Gets or sets the line dash style. + /// + public ChartLineDashStyle DashStyle { get; set; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Styles/ChartPointStyle.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Styles/ChartPointStyle.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Styles/ChartPointStyle.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,103 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base.Data; +using Core.Components.Chart.Properties; + +namespace Core.Components.Chart.Styles +{ + /// + /// This class represents styling of a point on a chart. + /// + public class ChartPointStyle + { + private readonly Range strokeThicknessValidityRange = new Range(0, 48); + private readonly Range sizeValidityRange = new Range(0, 48); + + private int size; + private int strokeThickness; + + /// + /// Gets or sets the point color. + /// + public Color Color { get; set; } + + /// + /// Gets or sets the point stroke color. + /// + public Color StrokeColor { get; set; } + + /// + /// Gets or sets the point size. + /// + /// Thrown when value is not in range [0, 48]. + public int Size + { + get + { + return size; + } + set + { + if (sizeValidityRange.InRange(value)) + { + size = value; + } + else + { + string message = string.Format(Resources.Size_Value_should_be_in_Range_0_, sizeValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } + + /// + /// Gets or sets the point stroke thickness. + /// + /// Thrown when value is not in range [0, 48]. + public int StrokeThickness + { + get + { + return strokeThickness; + } + set + { + if (strokeThicknessValidityRange.InRange(value)) + { + strokeThickness = value; + } + else + { + string message = string.Format(Resources.StrokeThickness_Value_should_be_in_Range_0_, strokeThicknessValidityRange); + throw new ArgumentOutOfRangeException(nameof(value), message); + } + } + } + + /// + /// Gets or sets the point symbol. + /// + public ChartPointSymbol Symbol { get; set; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Chart/Styles/ChartPointSymbol.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Chart/Styles/ChartPointSymbol.cs (revision 0) +++ Core/Components/src/Core.Components.Chart/Styles/ChartPointSymbol.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,47 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Common.Utils.Attributes; +using Core.Components.Chart.Properties; + +namespace Core.Components.Chart.Styles +{ + /// + /// All symbols supported by . + /// + public enum ChartPointSymbol + { + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Circle_DisplayName))] + Circle, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Square_DisplayName))] + Square, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Diamond_DisplayName))] + Diamond, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Triangle_DisplayName))] + Triangle, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Star_DisplayName))] + Star, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Cross_DisplayName))] + Cross, + [ResourcesDisplayName(typeof(Resources), nameof(Resources.Plus_DisplayName))] + Plus + } +} \ No newline at end of file Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting.Forms/Core.Components.Chart.Forms.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting.Forms/IChartControl.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting.Forms/IChartView.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting.Forms/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Core.Components.Chart.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartAreaData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartDataCollection.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartDataCollectionExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartLineData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartMultipleAreaData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartMultipleLineData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/ChartPointData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Data/PointBasedChartData.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Properties/Resources.Designer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Properties/Resources.resx'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Styles/ChartAreaStyle.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Styles/ChartLineDashStyle.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Styles/ChartLineStyle.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Styles/ChartPointStyle.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/src/Core.Components.Charting/Styles/ChartPointSymbol.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Core/Components/src/Core.Components.OxyPlot.Forms/Core.Components.OxyPlot.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Components/src/Core.Components.OxyPlot.Forms/Core.Components.OxyPlot.Forms.csproj (.../Core.Components.OxyPlot.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Components/src/Core.Components.OxyPlot.Forms/Core.Components.OxyPlot.Forms.csproj (.../Core.Components.OxyPlot.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -78,12 +78,12 @@ Core.Common.Base False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Core/Components/src/Core.Components.OxyPlot/Core.Components.OxyPlot.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Components/src/Core.Components.OxyPlot/Core.Components.OxyPlot.csproj (.../Core.Components.OxyPlot.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Components/src/Core.Components.OxyPlot/Core.Components.OxyPlot.csproj (.../Core.Components.OxyPlot.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -79,7 +79,7 @@ Core.Common.Base False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Core/Components/test/Core.Components.Chart.Test/Core.Components.Chart.Test.csproj =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Core.Components.Chart.Test.csproj (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Core.Components.Chart.Test.csproj (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,102 @@ + + + + Debug + x86 + {F40A7DC1-A697-41A7-8676-6C0AD8274FB4} + Library + Properties + Core.Components.Chart.Test + Core.Components.Chart.Test + v4.0 + 512 + + + true + bin\Debug\ + 4 + x86 + MinimumRecommendedRules.ruleset + TRACE;DEBUG + full + + + bin\Release\ + 4 + x86 + MinimumRecommendedRules.ruleset + TRACE + true + none + + + bin\ReleaseForCodeCoverage\ + TRACE + true + none + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\packages\NUnit.3.6.0\lib\net40\nunit.framework.dll + True + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + + + + + + + + + + + + + + Copying.Lesser.licenseheader + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {D749EE4C-CE50-4C17-BF01-9A953028C126} + Core.Common.TestUtil + + + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} + Core.Components.Chart + + + {E900A014-CA87-4374-87F0-813D653A9698} + Core.Components.Chart.TestUtil + + + + + \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartAreaDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartAreaDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartAreaDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,95 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartAreaDataTest + { + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Call + var data = new ChartAreaData("test data"); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreEqual(Color.Gray, data.Style.FillColor); + Assert.AreEqual(Color.Black, data.Style.StrokeColor); + Assert.AreEqual(2, data.Style.StrokeThickness); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new ChartAreaData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Constructor_StyleNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => new ChartAreaData("test data", null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("style", exception.ParamName); + } + + [Test] + public void Constructor_WithStyle_ExpectedValue() + { + // Setup + var style = new ChartAreaStyle + { + FillColor = Color.Red, + StrokeColor = Color.Fuchsia, + StrokeThickness = 3 + }; + + // Call + var data = new ChartAreaData("test data", style); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreSame(style, data.Style); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionExtensionsTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionExtensionsTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionExtensionsTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Linq; +using Core.Components.Chart.Data; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartDataCollectionExtensionsTest + { + [Test] + public void GetFeatureBasedChartDataRecursively_ChartDataCollectionNull_ThrowArgumentNullException() + { + // Setup + ChartDataCollection collection = null; + + // Call + TestDelegate test = () => collection.GetChartDataRecursively(); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("chartDataCollection", exception.ParamName); + } + + [Test] + public void GetFeatureBasedChartDataRecursively_CollectionWithNestedData_ReturnAllFeatureBasedChartData() + { + // Setup + var line = new ChartLineData("line"); + var polygon = new ChartAreaData("polygon"); + var nestedCollection = new ChartDataCollection("nested"); + nestedCollection.Add(line); + nestedCollection.Add(polygon); + + var collection = new ChartDataCollection("test"); + var point = new ChartPointData("point"); + collection.Add(point); + collection.Add(nestedCollection); + + // Call + ChartData[] featureBasedChartDatas = collection.GetChartDataRecursively().ToArray(); + + // Assert + Assert.AreEqual(3, featureBasedChartDatas.Length); + Assert.IsInstanceOf(featureBasedChartDatas[0]); + Assert.IsInstanceOf(featureBasedChartDatas[1]); + Assert.IsInstanceOf(featureBasedChartDatas[2]); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartDataCollectionTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,233 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Linq; +using Core.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.TestUtil; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartDataCollectionTest + { + [Test] + [TestCase("")] + [TestCase(" ")] + [TestCase(null)] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new ChartDataCollection(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Setup + const string name = "Some name"; + + // Call + var chartDataCollection = new ChartDataCollection(name); + + // Assert + Assert.AreEqual(name, chartDataCollection.Name); + Assert.IsInstanceOf(chartDataCollection); + CollectionAssert.IsEmpty(chartDataCollection.Collection); + } + + [Test] + public void Add_NotNull_AddsItemToCollection() + { + // Setup + var item = new ChartLineData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + // Call + chartDataCollection.Add(item); + + // Assert + List chartData = chartDataCollection.Collection.ToList(); + Assert.AreEqual(1, chartData.Count); + Assert.AreSame(item, chartData.First()); + } + + [Test] + public void Add_Null_ThrowsArgumentNullException() + { + // Setup + var chartDataCollection = new ChartDataCollection("test"); + + // Call + TestDelegate call = () => chartDataCollection.Add(null); + + // Assert + const string expectedMessage = "An item cannot be null when adding it to the collection."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + public void Insert_ItemNotNullAndValidIndex_InsertsItemToCollectionAtGivenIndex() + { + // Setup + var itemToInsert = new ChartLineData("test"); + var existingItem = new TestChartData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(existingItem); + + // Precondition + Assert.AreEqual(1, chartDataCollection.Collection.Count()); + Assert.AreSame(existingItem, chartDataCollection.Collection.ElementAt(0)); + + // Call + chartDataCollection.Insert(0, itemToInsert); + + // Assert + Assert.AreEqual(2, chartDataCollection.Collection.Count()); + Assert.AreSame(itemToInsert, chartDataCollection.Collection.ElementAt(0)); + Assert.AreSame(existingItem, chartDataCollection.Collection.ElementAt(1)); + } + + [Test] + public void Insert_ItemNull_ThrowsArgumentNullException() + { + // Setup + var chartDataCollection = new ChartDataCollection("test"); + + // Call + TestDelegate call = () => chartDataCollection.Insert(0, null); + + // Assert + const string expectedMessage = "An item cannot be null when adding it to the collection."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + public void Remove_ExistingItem_RemovesItem() + { + // Setup + var item = new ChartLineData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(item); + + // Precondition + Assert.AreEqual(1, chartDataCollection.Collection.Count()); + Assert.IsInstanceOf(chartDataCollection.Collection.First()); + + // Call + chartDataCollection.Remove(item); + + // Assert + CollectionAssert.IsEmpty(chartDataCollection.Collection); + } + + [Test] + public void Remove_Null_DoesNotRemove() + { + // Setup + var item = new ChartLineData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(item); + + // Precondition + Assert.AreEqual(1, chartDataCollection.Collection.Count()); + Assert.IsInstanceOf(chartDataCollection.Collection.First()); + List listBeforeRemove = chartDataCollection.Collection.ToList(); + + // Call + chartDataCollection.Remove(null); + + // Assert + CollectionAssert.AreEqual(listBeforeRemove, chartDataCollection.Collection); + } + + [Test] + public void Remove_NotExistingItem_DoesNotRemove() + { + // Setup + var item = new ChartLineData("test"); + var otherItem = new ChartPointData("another test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(item); + + // Precondition + Assert.AreEqual(1, chartDataCollection.Collection.Count()); + Assert.IsInstanceOf(chartDataCollection.Collection.First()); + List listBeforeRemove = chartDataCollection.Collection.ToList(); + + // Call + chartDataCollection.Remove(otherItem); + + // Assert + CollectionAssert.AreEqual(listBeforeRemove, chartDataCollection.Collection); + } + + [Test] + public void Clear_Always_RemovesAllItems() + { + // Setup + var item1 = new ChartLineData("test"); + var item2 = new ChartLineData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(item1); + chartDataCollection.Add(item2); + + // Precondition + Assert.AreEqual(2, chartDataCollection.Collection.Count()); + + // Call + chartDataCollection.Clear(); + + // Assert + CollectionAssert.IsEmpty(chartDataCollection.Collection); + } + + [TestCase(-1)] + [TestCase(2)] + public void Insert_InvalidIndex_ThrowsArgumentOutOfRangeException(int invalidIndex) + { + // Setup + var itemToInsert = new ChartLineData("test"); + var existingItem = new TestChartData("test"); + var chartDataCollection = new ChartDataCollection("test"); + + chartDataCollection.Add(existingItem); + + // Call + TestDelegate call = () => chartDataCollection.Insert(invalidIndex, itemToInsert); + + // Assert + Assert.Throws(call, "index"); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,99 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base; +using Core.Common.TestUtil; +using Core.Components.Chart.TestUtil; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartDataTest + { + [Test] + [TestCase(null)] + [TestCase(" ")] + [TestCase("")] + public void ParameteredConstructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate call = () => new TestChartData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + public void ParameteredConstructor_ExpectedValues() + { + // Setup + const string name = "Some name"; + + // Call + var data = new TestChartData(name); + + // Assert + Assert.IsInstanceOf(data); + Assert.AreEqual(name, data.Name); + Assert.IsTrue(data.IsVisible); + } + + [Test] + public void Name_SetName_ReturnsNewName() + { + // Setup + const string name = "Some name"; + const string newName = "Something"; + var data = new TestChartData(name); + + // Precondition + Assert.AreEqual(name, data.Name); + + // Call + data.Name = newName; + + // Assert + Assert.AreNotEqual(name, data.Name); + Assert.AreEqual(newName, data.Name); + } + + [Test] + [TestCase(null)] + [TestCase(" ")] + [TestCase("")] + public void Name_InvalidName_ThrowsArgumentException(string invalidName) + { + // Setup + const string name = "Some name"; + var data = new TestChartData(name); + + // Call + TestDelegate call = () => data.Name = invalidName; + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartLineDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartLineDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartLineDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,95 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartLineDataTest + { + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Call + var data = new ChartLineData("test data"); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreEqual(Color.Black, data.Style.Color); + Assert.AreEqual(2, data.Style.Width); + Assert.AreEqual(ChartLineDashStyle.Solid, data.Style.DashStyle); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new ChartLineData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Constructor_StyleNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => new ChartLineData("test data", null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("style", exception.ParamName); + } + + [Test] + public void Constructor_WithStyle_ExpectedValue() + { + // Setup + var style = new ChartLineStyle + { + Color = Color.Red, + Width = 3, + DashStyle = ChartLineDashStyle.DashDot + }; + + // Call + var data = new ChartLineData("test data", style); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreSame(style, data.Style); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleAreaDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleAreaDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleAreaDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,141 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Drawing; +using Core.Common.Base.Geometry; +using Core.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartMultipleAreaDataTest + { + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Call + var data = new ChartMultipleAreaData("test data"); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsInstanceOf(data); + Assert.AreEqual(Color.Gray, data.Style.FillColor); + Assert.AreEqual(Color.Black, data.Style.StrokeColor); + Assert.AreEqual(2, data.Style.StrokeThickness); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new ChartMultipleAreaData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Constructor_StyleNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => new ChartAreaData("test data", null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("style", exception.ParamName); + } + + [Test] + public void Constructor_WithStyle_ExpectedValue() + { + // Setup + var style = new ChartAreaStyle + { + FillColor = Color.Red, + StrokeColor = Color.Fuchsia, + StrokeThickness = 3 + }; + + // Call + var data = new ChartMultipleAreaData("test data", style); + + // Assert + Assert.AreEqual("test data", data.Name); + CollectionAssert.IsEmpty(data.Areas); + Assert.IsInstanceOf(data); + Assert.AreSame(style, data.Style); + } + + [Test] + public void Areas_SetValidNewValue_GetsNewValue() + { + // Setup + var data = new ChartMultipleAreaData("test data"); + var areas = new List(); + + // Call + data.Areas = areas; + + // Assert + Assert.AreSame(areas, data.Areas); + } + + [Test] + public void Areas_SetNullValue_ThrowsArgumentNullException() + { + // Setup + var data = new ChartMultipleAreaData("test data"); + + // Call + TestDelegate test = () => data.Areas = null; + + // Assert + const string expectedMessage = "The collection of point arrays cannot be null."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Areas_SetValueContainingNullValue_ThrowsArgumentException() + { + // Setup + var data = new ChartMultipleAreaData("test data"); + + // Call + TestDelegate test = () => data.Areas = new List + { + null + }; + + // Assert + const string expectedMessage = "The collection of point arrays cannot contain null values."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleLineDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleLineDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartMultipleLineDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,127 @@ +// Copyright (C) Stichting Deltares 2017. 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.Collections.Generic; +using System.Drawing; +using Core.Common.Base.Geometry; +using Core.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartMultipleLineDataTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Call + var data = new ChartMultipleLineData("test data"); + + // Assert + Assert.IsInstanceOf(data); + CollectionAssert.IsEmpty(data.Lines); + Assert.AreEqual(Color.Black, data.Style.Color); + Assert.AreEqual(2, data.Style.Width); + Assert.AreEqual(ChartLineDashStyle.Solid, data.Style.DashStyle); + } + + [Test] + public void Constructor_StyleNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => new ChartLineData("test data", null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("style", exception.ParamName); + } + + [Test] + public void Constructor_WithStyle_ExpectedValue() + { + // Setup + var style = new ChartLineStyle + { + Color = Color.Red, + Width = 3, + DashStyle = ChartLineDashStyle.DashDot + }; + + // Call + var data = new ChartMultipleLineData("test data", style); + + // Assert + Assert.AreEqual("test data", data.Name); + CollectionAssert.IsEmpty(data.Lines); + Assert.IsInstanceOf(data); + Assert.AreSame(style, data.Style); + } + + [Test] + public void Lines_SetValidNewValue_GetsNewValue() + { + // Setup + var data = new ChartMultipleLineData("test data"); + var lines = new List(); + + // Call + data.Lines = lines; + + // Assert + Assert.AreSame(lines, data.Lines); + } + + [Test] + public void Lines_SetNullValue_ThrowsArgumentNullException() + { + // Setup + var data = new ChartMultipleLineData("test data"); + + // Call + TestDelegate test = () => data.Lines = null; + + // Assert + const string expectedMessage = "The collection of point arrays cannot be null."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Lines_SetValueContainingNullValue_ThrowsArgumentException() + { + // Setup + var data = new ChartMultipleLineData("test data"); + + // Call + TestDelegate test = () => data.Lines = new List + { + null + }; + + // Assert + const string expectedMessage = "The collection of point arrays cannot contain null values."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartPointDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartPointDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartPointDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,99 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Data; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartPointDataTest + { + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Call + var data = new ChartPointData("test data"); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreEqual(Color.Black, data.Style.Color); + Assert.AreEqual(2, data.Style.Size); + Assert.AreEqual(ChartPointSymbol.Square, data.Style.Symbol); + Assert.AreEqual(Color.Black, data.Style.StrokeColor); + Assert.AreEqual(1, data.Style.StrokeThickness); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new ChartPointData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Constructor_StyleNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => new ChartPointData("test data", null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("style", exception.ParamName); + } + + [Test] + public void Constructor_WithStyle_ExpectedValue() + { + // Setup + var style = new ChartPointStyle + { + Color = Color.Red, + StrokeColor = Color.Blue, + Size = 2, + StrokeThickness = 2, + Symbol = ChartPointSymbol.Circle + }; + + // Call + var data = new ChartPointData("test data", style); + + // Assert + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + Assert.IsInstanceOf(data); + Assert.AreSame(style, data.Style); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/ChartPointSymbolTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/ChartPointSymbolTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/ChartPointSymbolTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,94 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Common.TestUtil; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class ChartPointSymbolTest : EnumTestFixture + { + protected override IDictionary ExpectedDisplayNameForEnumValues + { + get + { + return new Dictionary + { + { + ChartPointSymbol.Circle, "Cirkel" + }, + { + ChartPointSymbol.Square, "Vierkant" + }, + { + ChartPointSymbol.Diamond, "Ruit" + }, + { + ChartPointSymbol.Triangle, "Driehoek" + }, + { + ChartPointSymbol.Star, "Ster" + }, + { + ChartPointSymbol.Cross, "Kruis" + }, + { + ChartPointSymbol.Plus, "Plus" + } + }; + } + } + + protected override IDictionary ExpectedValueForEnumValues + { + get + { + return new Dictionary + { + { + ChartPointSymbol.Circle, 0 + }, + { + ChartPointSymbol.Square, 1 + }, + { + ChartPointSymbol.Diamond, 2 + }, + { + ChartPointSymbol.Triangle, 3 + }, + { + ChartPointSymbol.Star, 4 + }, + { + ChartPointSymbol.Cross, 5 + }, + { + ChartPointSymbol.Plus, 6 + } + }; + } + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Data/PointBasedChartDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Data/PointBasedChartDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Data/PointBasedChartDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,96 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.Base.Geometry; +using Core.Common.TestUtil; +using Core.Components.Chart.Data; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Data +{ + [TestFixture] + public class PointBasedChartDataTest + { + [Test] + public void Constructor_ValidName_NameAndDefaultValuesSet() + { + // Call + var data = new TestPointBasedChartData("test data"); + + // Assert + Assert.IsInstanceOf(data); + Assert.AreEqual("test data", data.Name); + Assert.IsEmpty(data.Points); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidName_ThrowsArgumentException(string invalidName) + { + // Call + TestDelegate test = () => new TestPointBasedChartData(invalidName); + + // Assert + const string expectedMessage = "A name must be set to the chart data."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + public void Points_SetValidNewValue_GetsNewValue() + { + // Setup + var data = new TestPointBasedChartData("test data"); + var points = new[] + { + new Point2D(0.0, 1.0), + new Point2D(2.5, 1.1) + }; + + // Call + data.Points = points; + + // Assert + Assert.AreSame(points, data.Points); + } + + [Test] + public void Points_SetNullValue_ThrowsArgumentNullException() + { + // Setup + var data = new TestPointBasedChartData("test data"); + + // Call + TestDelegate test = () => data.Points = null; + + // Assert + const string expectedMessage = "The array of points cannot be null."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + private class TestPointBasedChartData : PointBasedChartData + { + public TestPointBasedChartData(string name) : base(name) {} + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Properties/AssemblyInfo.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Properties/AssemblyInfo.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,27 @@ +// Copyright (C) Stichting Deltares 2017. 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Core.Components.Chart.Test")] +[assembly: AssemblyProduct("Core.Components.Chart.Test")] +[assembly: Guid("da0ce3e0-6a5d-438f-a29d-797a82c4d72b")] \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Styles/ChartAreaStyleTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Styles/ChartAreaStyleTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Styles/ChartAreaStyleTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,91 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Styles +{ + [TestFixture] + public class ChartAreaStyleTest + { + [Test] + public void Constructor_WithAllParameters_SetsProperties() + { + // Setup + Color fillColor = Color.AliceBlue; + Color strokeColor = Color.Blue; + const int width = 3; + + // Call + var areaStyle = new ChartAreaStyle + { + FillColor = fillColor, + StrokeColor = strokeColor, + StrokeThickness = width + }; + + // Assert + Assert.AreEqual(fillColor, areaStyle.FillColor); + Assert.AreEqual(strokeColor, areaStyle.StrokeColor); + Assert.AreEqual(width, areaStyle.StrokeThickness); + } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void StrokeThickness_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var polygonStyle = new ChartAreaStyle(); + + // Call + TestDelegate test = () => polygonStyle.StrokeThickness = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void StrokeThickness_SetValidValue_ValueSet(int validValue) + { + // Setup + var polygonStyle = new ChartAreaStyle(); + + // Call + polygonStyle.StrokeThickness = validValue; + + // Assert + Assert.AreEqual(validValue, polygonStyle.StrokeThickness); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineDashStyleTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineDashStyleTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineDashStyleTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,82 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Common.TestUtil; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Styles +{ + [TestFixture] + public class ChartLineDashStyleTest : EnumTestFixture + { + protected override IDictionary ExpectedDisplayNameForEnumValues + { + get + { + return new Dictionary + { + { + ChartLineDashStyle.Solid, "Doorgetrokken" + }, + { + ChartLineDashStyle.Dash, "Onderbroken" + }, + { + ChartLineDashStyle.Dot, "Gestippeld" + }, + { + ChartLineDashStyle.DashDot, "Streep-stip" + }, + { + ChartLineDashStyle.DashDotDot, "Streep-stip-stip" + } + }; + } + } + + protected override IDictionary ExpectedValueForEnumValues + { + get + { + return new Dictionary + { + { + ChartLineDashStyle.Solid, 0 + }, + { + ChartLineDashStyle.Dash, 1 + }, + { + ChartLineDashStyle.Dot, 2 + }, + { + ChartLineDashStyle.DashDot, 3 + }, + { + ChartLineDashStyle.DashDotDot, 4 + } + }; + } + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineStyleTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineStyleTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Styles/ChartLineStyleTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,91 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Styles +{ + [TestFixture] + public class ChartLineStyleTest + { + [Test] + public void Constructor_WithStyle_SetsProperties() + { + // Setup + Color color = Color.AliceBlue; + const int width = 3; + const ChartLineDashStyle style = ChartLineDashStyle.Solid; + + // Call + var lineStyle = new ChartLineStyle + { + Color = color, + Width = width, + DashStyle = style + }; + + // Assert + Assert.AreEqual(color, lineStyle.Color); + Assert.AreEqual(width, lineStyle.Width); + Assert.AreEqual(style, lineStyle.DashStyle); + } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void Width_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var lineStyle = new ChartLineStyle(); + + // Call + TestDelegate test = () => lineStyle.Width = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void Width_SetValidValue_ValueSet(int validValue) + { + // Setup + var lineStyle = new ChartLineStyle(); + + // Call + lineStyle.Width = validValue; + + // Assert + Assert.AreEqual(validValue, lineStyle.Width); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/Styles/ChartPointStyleTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/Styles/ChartPointStyleTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/Styles/ChartPointStyleTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,133 @@ +// Copyright (C) Stichting Deltares 2017. 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.Common.TestUtil; +using Core.Components.Chart.Styles; +using NUnit.Framework; + +namespace Core.Components.Chart.Test.Styles +{ + [TestFixture] + public class ChartPointStyleTest + { + [Test] + public void Constructor_WithAllParameters_SetsProperties() + { + // Setup + Color color = Color.AliceBlue; + const int size = 3; + Color strokeColor = Color.AntiqueWhite; + const int strokeThickness = 2; + const ChartPointSymbol symbol = ChartPointSymbol.Circle; + + // Call + var pointStyle = new ChartPointStyle + { + Color = color, + StrokeColor = strokeColor, + Size = size, + StrokeThickness = strokeThickness, + Symbol = symbol + }; + + // Assert + Assert.AreEqual(color, pointStyle.Color); + Assert.AreEqual(size, pointStyle.Size); + Assert.AreEqual(strokeColor, pointStyle.StrokeColor); + Assert.AreEqual(strokeThickness, pointStyle.StrokeThickness); + Assert.AreEqual(symbol, pointStyle.Symbol); + } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void Size_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + TestDelegate test = () => pointStyle.Size = invalidValue; + + // Assert + const string message = "De waarde voor grootte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void Size_SetValidValue_ValueSet(int validValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + pointStyle.Size = validValue; + + // Assert + Assert.AreEqual(validValue, pointStyle.Size); + } + + [Test] + [TestCase(-1)] + [TestCase(-10)] + [TestCase(49)] + [TestCase(501)] + [TestCase(int.MaxValue)] + [TestCase(int.MinValue)] + public void StrokeThickness_SetInvalidValue_ThrowsArgumentOutOfRangeException(int invalidValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + TestDelegate test = () => pointStyle.StrokeThickness = invalidValue; + + // Assert + const string message = "De waarde voor lijndikte moet in het bereik [0, 48] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] + [TestCase(0)] + [TestCase(10)] + [TestCase(48)] + public void StrokeThickness_SetValidValue_ValueSet(int validValue) + { + // Setup + var pointStyle = new ChartPointStyle(); + + // Call + pointStyle.StrokeThickness = validValue; + + // Assert + Assert.AreEqual(validValue, pointStyle.StrokeThickness); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.Test/packages.config =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.Test/packages.config (revision 0) +++ Core/Components/test/Core.Components.Chart.Test/packages.config (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,25 @@ + + + + \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil.Test/Core.Components.Chart.TestUtil.Test.csproj =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil.Test/Core.Components.Chart.TestUtil.Test.csproj (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil.Test/Core.Components.Chart.TestUtil.Test.csproj (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,84 @@ + + + + Debug + x86 + {1FD22BC2-B3D5-49D5-9E9B-694BE547DB6D} + Library + Properties + Core.Components.Chart.TestUtil.Test + Core.Components.Chart.TestUtil.Test + v4.0 + 512 + + + true + bin\Debug\ + 4 + x86 + MinimumRecommendedRules.ruleset + TRACE;DEBUG + full + + + bin\Release\ + 4 + x86 + MinimumRecommendedRules.ruleset + TRACE + true + none + + + bin\ReleaseForCodeCoverage\ + TRACE + true + none + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\packages\NUnit.3.6.0\lib\net40\nunit.framework.dll + True + + + + + + + Properties\GlobalAssembly.cs + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} + Core.Components.Chart + + + {E900A014-CA87-4374-87F0-813D653A9698} + Core.Components.Chart.TestUtil + + + + + Copying.Lesser.licenseheader + + + + + + \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil.Test/Properties/AssemblyInfo.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil.Test/Properties/AssemblyInfo.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,27 @@ +// Copyright (C) Stichting Deltares 2017. 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Core.Components.Chart.TestUtil.Test")] +[assembly: AssemblyProduct("Core.Components.Chart.TestUtil.Test")] +[assembly: Guid("1fd22bc2-b3d5-49d5-9e9b-694be547db6d")] \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil.Test/TestChartDataTest.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil.Test/TestChartDataTest.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil.Test/TestChartDataTest.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,71 @@ +// Copyright (C) Stichting Deltares 2017. 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.Chart.Data; +using NUnit.Framework; + +namespace Core.Components.Chart.TestUtil.Test +{ + [TestFixture] + public class TestChartDataTest + { + [Test] + public void DefaultConstructor_InstanceWithExpectedProperties() + { + // Call + var chartData = new TestChartData(); + + // Assert + Assert.IsInstanceOf(chartData); + Assert.AreEqual("test data", chartData.Name); + Assert.IsFalse(chartData.HasData); + } + + [Test] + public void Constructor_WithName_InstanceWithExpectedProperties() + { + // Setup + const string name = "some name"; + + // Call + var chartData = new TestChartData(name); + + // Assert + Assert.IsInstanceOf(chartData); + Assert.AreEqual(name, chartData.Name); + Assert.IsFalse(chartData.HasData); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_WithoutName_InstanceWithExpectedProperties(string name) + { + // Call + TestDelegate test = () => new TestChartData(name); + + // Assert + Assert.Throws(test); + } + } +} \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil.Test/packages.config =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil.Test/packages.config (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil.Test/packages.config (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil/Core.Components.Chart.TestUtil.csproj =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil/Core.Components.Chart.TestUtil.csproj (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil/Core.Components.Chart.TestUtil.csproj (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,73 @@ + + + + Debug + x86 + {E900A014-CA87-4374-87F0-813D653A9698} + Library + Properties + Core.Components.Chart.TestUtil + Core.Components.Chart.TestUtil + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + none + true + bin\Release\ + TRACE + prompt + 4 + + + bin\ReleaseForCodeCoverage\ + TRACE + true + pdbonly + prompt + 4 + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} + Core.Components.Chart + + + + + Copying.Lesser.licenseheader + + + + + \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil/Properties/AssemblyInfo.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil/Properties/AssemblyInfo.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil/Properties/AssemblyInfo.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,27 @@ +// Copyright (C) Stichting Deltares 2017. 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Core.Components.Chart.TestUtil")] +[assembly: AssemblyProduct("Core.Components.Chart.TestUtil")] +[assembly: Guid("509c07ec-1f58-411d-a3c1-f6d7bdd0e8b6")] \ No newline at end of file Index: Core/Components/test/Core.Components.Chart.TestUtil/TestChartData.cs =================================================================== diff -u --- Core/Components/test/Core.Components.Chart.TestUtil/TestChartData.cs (revision 0) +++ Core/Components/test/Core.Components.Chart.TestUtil/TestChartData.cs (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -0,0 +1,44 @@ +// Copyright (C) Stichting Deltares 2017. 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 Core.Components.Chart.Data; + +namespace Core.Components.Chart.TestUtil +{ + /// + /// A class representing a ChartData type which is not in the regular codebase. + /// + public class TestChartData : ChartData + { + /// + /// Creates a new instance of . + /// + /// The name for the . + public TestChartData(string name) : base(name) {} + + /// + /// Creates a new instance of . + /// + public TestChartData() : base("test data") {} + + public override bool HasData { get; } + } +} \ No newline at end of file Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Core.Components.Chart.Test.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartAreaDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartDataCollectionExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartDataCollectionTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartLineDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartMultipleAreaDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartMultipleLineDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartPointDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/ChartPointSymbolTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Data/PointBasedChartDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Styles/ChartAreaStyleTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Styles/ChartLineDashStyleTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Styles/ChartLineStyleTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/Styles/ChartPointStyleTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.Test/packages.config'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil.Test/Core.Components.Chart.TestUtil.Test.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil.Test/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil.Test/TestChartDataTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil.Test/packages.config'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil/Core.Components.Chart.TestUtil.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae refers to a dead (removed) revision in file `Core/Components/test/Core.Components.Charting.TestUtil/TestChartData.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Core/Components/test/Core.Components.OxyPlot.Forms.Test/Core.Components.OxyPlot.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Components/test/Core.Components.OxyPlot.Forms.Test/Core.Components.OxyPlot.Forms.Test.csproj (.../Core.Components.OxyPlot.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Components/test/Core.Components.OxyPlot.Forms.Test/Core.Components.OxyPlot.Forms.Test.csproj (.../Core.Components.OxyPlot.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -83,11 +83,11 @@ {D749EE4C-CE50-4C17-BF01-9A953028C126} Core.Common.TestUtil - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart Index: Core/Components/test/Core.Components.OxyPlot.Test/Core.Components.OxyPlot.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Components/test/Core.Components.OxyPlot.Test/Core.Components.OxyPlot.Test.csproj (.../Core.Components.OxyPlot.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Components/test/Core.Components.OxyPlot.Test/Core.Components.OxyPlot.Test.csproj (.../Core.Components.OxyPlot.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -91,15 +91,15 @@ {D749EE4C-CE50-4C17-BF01-9A953028C126} Core.Common.TestUtil - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart {2344A7BD-7E25-4A1A-982E-6C674AF5167A} Core.Components.OxyPlot - + {E900A014-CA87-4374-87F0-813D653A9698} Core.Components.Chart.TestUtil Index: Core/Plugins/src/Core.Plugins.Chart/Core.Plugins.Chart.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Plugins/src/Core.Plugins.Chart/Core.Plugins.Chart.csproj (.../Core.Plugins.Chart.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Plugins/src/Core.Plugins.Chart/Core.Plugins.Chart.csproj (.../Core.Plugins.Chart.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -109,12 +109,12 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Core/Plugins/test/Core.Plugins.Chart.Test/Core.Plugins.Chart.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Core/Plugins/test/Core.Plugins.Chart.Test/Core.Plugins.Chart.Test.csproj (.../Core.Plugins.Chart.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Plugins/test/Core.Plugins.Chart.Test/Core.Plugins.Chart.Test.csproj (.../Core.Plugins.Chart.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -124,19 +124,19 @@ {D749EE4C-CE50-4C17-BF01-9A953028C126} Core.Common.TestUtil - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart {DADAA0A5-288C-49CB-9F08-337F16832C86} Core.Components.OxyPlot.Forms - + {E900A014-CA87-4374-87F0-813D653A9698} Core.Components.Chart.TestUtil Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -97,12 +97,12 @@ Core.Common.Utils False - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -89,11 +89,11 @@ {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} Core.Common.Gui - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart Index: Ringtoets.sln =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets.sln (.../Ringtoets.sln) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets.sln (.../Ringtoets.sln) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -395,7 +395,7 @@ {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart", "Core\Components\src\Core.Components.Charting\Core.Components.Chart.csproj", "{516EBC95-B8F2-428C-B7F6-733F01BF8FDD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart", "Core\Components\src\Core.Components.Chart\Core.Components.Chart.csproj", "{516EBC95-B8F2-428C-B7F6-733F01BF8FDD}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection @@ -410,12 +410,12 @@ {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.Test", "Core\Components\test\Core.Components.Charting.Test\Core.Components.Chart.Test.csproj", "{F40A7DC1-A697-41A7-8676-6C0AD8274FB4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.Test", "Core\Components\test\Core.Components.Chart.Test\Core.Components.Chart.Test.csproj", "{F40A7DC1-A697-41A7-8676-6C0AD8274FB4}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.TestUtil", "Core\Components\test\Core.Components.Charting.TestUtil\Core.Components.Chart.TestUtil.csproj", "{E900A014-CA87-4374-87F0-813D653A9698}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.TestUtil", "Core\Components\test\Core.Components.Chart.TestUtil\Core.Components.Chart.TestUtil.csproj", "{E900A014-CA87-4374-87F0-813D653A9698}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection @@ -524,7 +524,7 @@ {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.Forms", "Core\Components\src\Core.Components.Charting.Forms\Core.Components.Chart.Forms.csproj", "{2465CCA1-C505-4827-9454-4FD5FD9194CD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.Forms", "Core\Components\src\Core.Components.Chart.Forms\Core.Components.Chart.Forms.csproj", "{2465CCA1-C505-4827-9454-4FD5FD9194CD}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection @@ -1639,7 +1639,7 @@ {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.TestUtil.Test", "Core\Components\test\Core.Components.Charting.TestUtil.Test\Core.Components.Chart.TestUtil.Test.csproj", "{1FD22BC2-B3D5-49D5-9E9B-694BE547DB6D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Components.Chart.TestUtil.Test", "Core\Components\test\Core.Components.Chart.TestUtil.Test\Core.Components.Chart.TestUtil.Test.csproj", "{1FD22BC2-B3D5-49D5-9E9B-694BE547DB6D}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -239,7 +239,7 @@ Core.Common.Utils False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -166,7 +166,7 @@ {e02482c7-f12b-42f0-bb2b-c7ec17503a72} Core.Components.BruTile - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -119,12 +119,12 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart False Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -82,7 +82,7 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -113,11 +113,11 @@ {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} Core.Common.Controls - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -119,7 +119,7 @@ {D749EE4C-CE50-4C17-BF01-9A953028C126} Core.Common.TestUtil - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms True Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj (.../Ringtoets.Integration.Plugin.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj (.../Ringtoets.Integration.Plugin.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -96,7 +96,7 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -168,11 +168,11 @@ {E02482C7-F12B-42F0-BB2B-C7EC17503A72} Core.Components.BruTile - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Ringtoets.MacroStabilityInwards.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Ringtoets.MacroStabilityInwards.Forms.csproj (.../Ringtoets.MacroStabilityInwards.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Ringtoets.MacroStabilityInwards.Forms.csproj (.../Ringtoets.MacroStabilityInwards.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -141,12 +141,12 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/Ringtoets.MacroStabilityInwards.Plugin.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/Ringtoets.MacroStabilityInwards.Plugin.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/Ringtoets.MacroStabilityInwards.Plugin.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -92,7 +92,7 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Ringtoets.MacroStabilityInwards.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Ringtoets.MacroStabilityInwards.Forms.Test.csproj (.../Ringtoets.MacroStabilityInwards.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Ringtoets.MacroStabilityInwards.Forms.Test.csproj (.../Ringtoets.MacroStabilityInwards.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -119,11 +119,11 @@ {e02482c7-f12b-42f0-bb2b-c7ec17503a72} Core.Components.BruTile - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -131,7 +131,7 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtil - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -147,12 +147,12 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516EBC95-B8F2-428C-B7F6-733F01BF8FDD} Core.Components.Chart False Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -94,7 +94,7 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -129,11 +129,11 @@ {e02482c7-f12b-42f0-bb2b-c7ec17503a72} Core.Components.BruTile - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -133,7 +133,7 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtil - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/Ringtoets.Revetment.Forms.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/Ringtoets.Revetment.Forms.csproj (.../Ringtoets.Revetment.Forms.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/Ringtoets.Revetment.Forms.csproj (.../Ringtoets.Revetment.Forms.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -89,12 +89,12 @@ Core.Common.Utils False - + {2465cca1-c505-4827-9454-4fd5fd9194cd} Core.Components.Chart.Forms False - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart False Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Forms.Test/Ringtoets.Revetment.Forms.Test.csproj =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -r4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae --- Ringtoets/Revetment/test/Ringtoets.Revetment.Forms.Test/Ringtoets.Revetment.Forms.Test.csproj (.../Ringtoets.Revetment.Forms.Test.csproj) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.Forms.Test/Ringtoets.Revetment.Forms.Test.csproj (.../Ringtoets.Revetment.Forms.Test.csproj) (revision 4a60f6ca9a08736cfaf0fac6e6f2e89e9fa59aae) @@ -94,11 +94,11 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtil - + {2465CCA1-C505-4827-9454-4FD5FD9194CD} Core.Components.Chart.Forms - + {516ebc95-b8f2-428c-b7f6-733f01bf8fdd} Core.Components.Chart