Browse Source

Workaround for issues when passing Vector4 into xUnit tests

af/merge-core
Andrew Wilkinson 9 years ago
parent
commit
a8b7992b21
  1. 57
      tests/ImageSharp.Tests/Colors/ColorConstructorTests.cs
  2. 31
      tests/ImageSharp.Tests/Colors/ColorPackingTests.cs

57
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();

31
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

Loading…
Cancel
Save