using UnitTestSharp; using Blacklight.Core; using Blacklight.SharpDX9.Extensions; namespace Blacklight.SharpDX9.UnitTesting { public class ColorTests : TestFixture { public class ToArgbTests : TestFixture { // ToArgb() replaced two legacy packings: the explicit ToDX().ToArgb() and the implicit Color4->int the // sprite path leaned on. It has to reproduce both bit-for-bit across the whole 0..255 range or colors // shift. public void MatchesLegacySharpDXPacking() { void CheckChannels(byte red, byte green, byte blue, byte alpha) { var color = new Color { Red = red, Green = green, Blue = blue, Alpha = alpha }; int viaExplicitToArgb = color.ToDX().ToArgb(); int viaImplicitColor4 = color.ToDX(); CheckEqual(viaExplicitToArgb, color.ToArgb()); CheckEqual(viaImplicitColor4, color.ToArgb()); } for (int value = 0; value <= 255; ++value) { CheckChannels((byte)value, 0, 0, 0); CheckChannels(0, (byte)value, 0, 0); CheckChannels(0, 0, (byte)value, 0); CheckChannels(0, 0, 0, (byte)value); CheckChannels((byte)value, (byte)value, (byte)value, (byte)value); } } } } }