// 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.ComponentModel;
using System.Drawing;
using Core.Components.Chart.Styles;
using Core.Components.OxyPlot.Converter;
using NUnit.Framework;
using OxyPlot;
namespace Core.Components.OxyPlot.Test.Converter
{
[TestFixture]
public class ChartDataHelperTest
{
#region Convert Color
[Test]
[TestCase(KnownColor.Blue)]
[TestCase(KnownColor.Red)]
[TestCase(KnownColor.Green)]
public void Convert_Color_ReturnsOxyColor(KnownColor knownColor)
{
// Setup
Color color = Color.FromKnownColor(knownColor);
// Call
OxyColor oxyColor = ChartDataHelper.Convert(color);
// Assert
OxyColor originalColor = OxyColor.FromArgb(color.A, color.R, color.G, color.B);
Assert.AreEqual(originalColor, oxyColor);
}
#endregion
#region Convert DashStyle
[Test]
public void Convert_Solid_ReturnsSolid()
{
// Call
LineStyle lineStyle = ChartDataHelper.Convert(ChartLineDashStyle.Solid);
// Assert
Assert.AreEqual(LineStyle.Solid, lineStyle);
}
[Test]
public void Convert_Dash_ReturnsDash()
{
// Call
LineStyle lineStyle = ChartDataHelper.Convert(ChartLineDashStyle.Dash);
// Assert
Assert.AreEqual(LineStyle.Dash, lineStyle);
}
[Test]
public void Convert_Dot_ReturnsDot()
{
// Call
LineStyle lineStyle = ChartDataHelper.Convert(ChartLineDashStyle.Dot);
// Assert
Assert.AreEqual(LineStyle.Dot, lineStyle);
}
[Test]
public void Convert_DashDot_ReturnsDashDot()
{
// Call
LineStyle lineStyle = ChartDataHelper.Convert(ChartLineDashStyle.DashDot);
// Assert
Assert.AreEqual(LineStyle.DashDot, lineStyle);
}
[Test]
public void Convert_DashDotDot_ReturnsDashDotDot()
{
// Call
LineStyle lineStyle = ChartDataHelper.Convert(ChartLineDashStyle.DashDotDot);
// Assert
Assert.AreEqual(LineStyle.DashDotDot, lineStyle);
}
[Test]
public void Convert_Unknown_ThrowsInvalidEnumArgumentException()
{
// Call
TestDelegate call = () => ChartDataHelper.Convert((ChartLineDashStyle) 100);
// Assert
Assert.Throws(call);
}
#endregion
#region Convert ChartPointSymbol
[Test]
public void Convert_Circle_ReturnsCircle()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Circle);
// Assert
Assert.AreEqual(MarkerType.Circle, markerType);
}
[Test]
public void Convert_Square_ReturnsSquare()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Square);
// Assert
Assert.AreEqual(MarkerType.Square, markerType);
}
[Test]
public void Convert_Diamond_ReturnsDiamond()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Diamond);
// Assert
Assert.AreEqual(MarkerType.Diamond, markerType);
}
[Test]
public void Convert_Triangle_ReturnsTriangle()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Triangle);
// Assert
Assert.AreEqual(MarkerType.Triangle, markerType);
}
[Test]
public void Convert_Star_ReturnsStar()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Star);
// Assert
Assert.AreEqual(MarkerType.Star, markerType);
}
[Test]
public void Convert_Cross_ReturnsTriangle()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Cross);
// Assert
Assert.AreEqual(MarkerType.Cross, markerType);
}
[Test]
public void Convert_Plus_ReturnsStar()
{
// Call
MarkerType markerType = ChartDataHelper.Convert(ChartPointSymbol.Plus);
// Assert
Assert.AreEqual(MarkerType.Plus, markerType);
}
[Test]
public void Convert_UnknownChartPointSymbol_ThrowsInvalidEnumArgumentException()
{
// Call
TestDelegate call = () => ChartDataHelper.Convert((ChartPointSymbol) 10);
// Assert
Assert.Throws(call);
}
#endregion
}
}