From ae195e914616b589ddbfb0fdba42676e55736d01 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sun, 20 Aug 2017 14:27:11 +0100 Subject: [PATCH] internalise colorspace interfaces --- .../ColorSpaces/IAlmostEquatable.cs | 2 +- src/ImageSharp/ColorSpaces/IColorVector.cs | 2 +- .../Colorspaces/ColorSpaceEqualityTests.cs | 39 +++++++++++-------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/ImageSharp/ColorSpaces/IAlmostEquatable.cs b/src/ImageSharp/ColorSpaces/IAlmostEquatable.cs index 3f62f75ac..08c2dafbc 100644 --- a/src/ImageSharp/ColorSpaces/IAlmostEquatable.cs +++ b/src/ImageSharp/ColorSpaces/IAlmostEquatable.cs @@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.ColorSpaces /// /// The type of objects to compare. /// The object specifying the type to specify precision with. - public interface IAlmostEquatable + internal interface IAlmostEquatable where TPrecision : struct, IComparable { /// diff --git a/src/ImageSharp/ColorSpaces/IColorVector.cs b/src/ImageSharp/ColorSpaces/IColorVector.cs index 3903e1c09..85c040b86 100644 --- a/src/ImageSharp/ColorSpaces/IColorVector.cs +++ b/src/ImageSharp/ColorSpaces/IColorVector.cs @@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorSpaces /// /// Color represented as a vector in its color space /// - public interface IColorVector + internal interface IColorVector { /// /// Gets the vector representation of the color diff --git a/tests/ImageSharp.Tests/Colorspaces/ColorSpaceEqualityTests.cs b/tests/ImageSharp.Tests/Colorspaces/ColorSpaceEqualityTests.cs index 7fdebcac4..ee6336c97 100644 --- a/tests/ImageSharp.Tests/Colorspaces/ColorSpaceEqualityTests.cs +++ b/tests/ImageSharp.Tests/Colorspaces/ColorSpaceEqualityTests.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Collections.Generic; +using System.Linq; using System.Numerics; using SixLabors.ImageSharp.ColorSpaces; using Xunit; @@ -14,24 +16,26 @@ namespace SixLabors.ImageSharp.Tests.Colorspaces /// public class ColorSpaceEqualityTests { - public static readonly TheoryData EmptyData = - new TheoryData + internal static readonly Dictionary EmptyDataLookup = + new Dictionary { - CieLab.Empty, - CieLch.Empty, - CieLchuv.Empty, - CieLuv.Empty, - CieXyz.Empty, - CieXyy.Empty, - Hsl.Empty, - Hsl.Empty, - HunterLab.Empty, - Lms.Empty, - LinearRgb.Empty, - Rgb.Empty, - YCbCr.Empty + {nameof( CieLab), CieLab.Empty }, + {nameof( CieLch), CieLch.Empty }, + {nameof( CieLchuv), CieLchuv.Empty }, + {nameof( CieLuv), CieLuv.Empty }, + {nameof( CieXyz), CieXyz.Empty }, + {nameof( CieXyy), CieXyy.Empty }, + {nameof( Hsl), Hsl.Empty }, + {nameof( Hsl), Hsl.Empty }, + {nameof( HunterLab), HunterLab.Empty }, + {nameof( Lms), Lms.Empty }, + {nameof( LinearRgb), LinearRgb.Empty }, + {nameof( Rgb), Rgb.Empty }, + {nameof( YCbCr), YCbCr.Empty } }; + public static readonly IEnumerable EmptyData = EmptyDataLookup.Select(x => new [] { x.Key }); + public static readonly TheoryData EqualityData = new TheoryData { @@ -139,10 +143,11 @@ namespace SixLabors.ImageSharp.Tests.Colorspaces [Theory] [MemberData(nameof(EmptyData))] - public void Vector_Equals_WhenTrue(IColorVector color) + public void Vector_Equals_WhenTrue(string color) { + IColorVector colorVector = EmptyDataLookup[color]; // Act - bool equal = color.Vector.Equals(Vector3.Zero); + bool equal = colorVector.Vector.Equals(Vector3.Zero); // Assert Assert.True(equal);