From a8b7992b212cdfa85aed537c3cc9b346d9a2ca45 Mon Sep 17 00:00:00 2001 From: Andrew Wilkinson Date: Sun, 8 Jan 2017 19:21:11 +0000 Subject: [PATCH] Workaround for issues when passing Vector4 into xUnit tests --- .../Colors/ColorConstructorTests.cs | 57 +++++++++++-------- .../Colors/ColorPackingTests.cs | 31 +++++----- 2 files changed, 50 insertions(+), 38 deletions(-) diff --git a/tests/ImageSharp.Tests/Colors/ColorConstructorTests.cs b/tests/ImageSharp.Tests/Colors/ColorConstructorTests.cs index a7ece164f..3ec8188cd 100644 --- a/tests/ImageSharp.Tests/Colors/ColorConstructorTests.cs +++ b/tests/ImageSharp.Tests/Colors/ColorConstructorTests.cs @@ -27,16 +27,18 @@ namespace ImageSharp.Tests.Colors foreach (var vector4 in vector4Values) { - yield return new object[] { new Argb(vector4), vector4 }; - yield return new object[] { new Bgra4444(vector4), vector4 }; - yield return new object[] { new Bgra5551(vector4), vector4 }; - yield return new object[] { new Byte4(vector4), vector4 }; - yield return new object[] { new HalfVector4(vector4), vector4 }; - yield return new object[] { new NormalizedByte4(vector4), vector4 }; - yield return new object[] { new NormalizedShort4(vector4), vector4 }; - yield return new object[] { new Rgba1010102(vector4), vector4 }; - yield return new object[] { new Rgba64(vector4), vector4 }; - yield return new object[] { new Short4(vector4), vector4 }; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; + + yield return new object[] { new Argb(vector4), vector4Components }; + yield return new object[] { new Bgra4444(vector4), vector4Components }; + yield return new object[] { new Bgra5551(vector4), vector4Components }; + yield return new object[] { new Byte4(vector4), vector4Components }; + yield return new object[] { new HalfVector4(vector4), vector4Components }; + yield return new object[] { new NormalizedByte4(vector4), vector4Components }; + yield return new object[] { new NormalizedShort4(vector4), vector4Components }; + yield return new object[] { new Rgba1010102(vector4), vector4Components }; + yield return new object[] { new Rgba64(vector4), vector4Components }; + yield return new object[] { new Short4(vector4), vector4Components }; } } } @@ -57,9 +59,10 @@ namespace ImageSharp.Tests.Colors foreach (var vector3 in vector3Values.Keys) { var vector4 = vector3Values[vector3]; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; - yield return new object[] { new Argb(vector3), vector4 }; - yield return new object[] { new Bgr565(vector3), vector4 }; + yield return new object[] { new Argb(vector3), vector4Components }; + yield return new object[] { new Bgr565(vector3), vector4Components }; } } } @@ -80,16 +83,18 @@ namespace ImageSharp.Tests.Colors foreach (var vector4 in vector4Values) { - yield return new object[] { new Argb(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Bgra4444(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Bgra5551(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Byte4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new HalfVector4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new NormalizedByte4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new NormalizedShort4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Rgba1010102(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Rgba64(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; - yield return new object[] { new Short4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4 }; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; + + yield return new object[] { new Argb(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Bgra4444(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Bgra5551(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Byte4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new HalfVector4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new NormalizedByte4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new NormalizedShort4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Rgba1010102(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Rgba64(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; + yield return new object[] { new Short4(vector4.X, vector4.Y, vector4.Z, vector4.W), vector4Components }; } } } @@ -110,9 +115,10 @@ namespace ImageSharp.Tests.Colors foreach (var vector3 in vector3Values.Keys) { var vector4 = vector3Values[vector3]; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; - yield return new object[] { new Argb(vector3.X, vector3.Y, vector3.Z), vector4 }; - yield return new object[] { new Bgr565(vector3.X, vector3.Y, vector3.Z), vector4 }; + yield return new object[] { new Argb(vector3.X, vector3.Y, vector3.Z), vector4Components }; + yield return new object[] { new Bgr565(vector3.X, vector3.Y, vector3.Z), vector4Components }; } } } @@ -122,10 +128,11 @@ namespace ImageSharp.Tests.Colors [MemberData(nameof(Vector3Data))] [MemberData(nameof(Float4Data))] [MemberData(nameof(Float3Data))] - public void ConstructorToVector4(IPackedVector packedVector, Vector4 expectedVector4) + public void ConstructorToVector4(IPackedVector packedVector, float[] expectedVector4Components) { // Arrange var precision = 2; + var expectedVector4 = new Vector4(expectedVector4Components[0], expectedVector4Components[1], expectedVector4Components[2], expectedVector4Components[3]); // Act var vector4 = packedVector.ToVector4(); diff --git a/tests/ImageSharp.Tests/Colors/ColorPackingTests.cs b/tests/ImageSharp.Tests/Colors/ColorPackingTests.cs index d4fc337a6..a1057a2c2 100644 --- a/tests/ImageSharp.Tests/Colors/ColorPackingTests.cs +++ b/tests/ImageSharp.Tests/Colors/ColorPackingTests.cs @@ -27,16 +27,18 @@ namespace ImageSharp.Tests.Colors foreach (var vector4 in vector4Values) { - yield return new object[] { new Argb(), vector4 }; - yield return new object[] { new Bgra4444(), vector4 }; - yield return new object[] { new Bgra5551(), vector4 }; - yield return new object[] { new Byte4(), vector4 }; - yield return new object[] { new HalfVector4(), vector4 }; - yield return new object[] { new NormalizedByte4(), vector4 }; - yield return new object[] { new NormalizedShort4(), vector4 }; - yield return new object[] { new Rgba1010102(), vector4 }; - yield return new object[] { new Rgba64(), vector4 }; - yield return new object[] { new Short4(), vector4 }; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; + + yield return new object[] { new Argb(), vector4Components }; + yield return new object[] { new Bgra4444(), vector4Components }; + yield return new object[] { new Bgra5551(), vector4Components }; + yield return new object[] { new Byte4(), vector4Components }; + yield return new object[] { new HalfVector4(), vector4Components }; + yield return new object[] { new NormalizedByte4(), vector4Components }; + yield return new object[] { new NormalizedShort4(), vector4Components }; + yield return new object[] { new Rgba1010102(), vector4Components }; + yield return new object[] { new Rgba64(), vector4Components }; + yield return new object[] { new Short4(), vector4Components }; } } } @@ -56,8 +58,10 @@ namespace ImageSharp.Tests.Colors foreach (var vector4 in vector4Values) { - yield return new object[] { new Argb(), vector4 }; - yield return new object[] { new Bgr565(), vector4 }; + var vector4Components = new float[] { vector4.X, vector4.Y, vector4.Z, vector4.W }; + + yield return new object[] { new Argb(), vector4Components }; + yield return new object[] { new Bgr565(), vector4Components }; } } } @@ -65,10 +69,11 @@ namespace ImageSharp.Tests.Colors [Theory] [MemberData(nameof(Vector4PackData))] [MemberData(nameof(Vector3PackData))] - public void FromVector4ToVector4(IPackedVector packedVector, Vector4 vector4ToPack) + public void FromVector4ToVector4(IPackedVector packedVector, float[] vector4ComponentsToPack) { // Arrange var precision = 2; + var vector4ToPack = new Vector4(vector4ComponentsToPack[0], vector4ComponentsToPack[1], vector4ComponentsToPack[2], vector4ComponentsToPack[3]); packedVector.PackFromVector4(vector4ToPack); // Act