35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using Age.Engine.Model;
|
|
using Xunit;
|
|
|
|
public class BlendMathTests
|
|
{
|
|
[Fact]
|
|
public void NegativeColorKey_IsNoKey()
|
|
{
|
|
Assert.False(BlendMath.HasColorKey(-1));
|
|
Assert.False(BlendMath.ColorKeyMatches(0, 0, 0, -1)); // never matches when no key
|
|
}
|
|
|
|
[Fact]
|
|
public void ZeroColorKey_KeysBlack()
|
|
{
|
|
Assert.True(BlendMath.HasColorKey(0));
|
|
Assert.True(BlendMath.ColorKeyMatches(0, 0, 0, 0)); // (0,0,0) == key black
|
|
Assert.False(BlendMath.ColorKeyMatches(1, 0, 0, 0)); // near-black is NOT keyed (exact match)
|
|
}
|
|
|
|
[Fact]
|
|
public void ColorKey_MatchesRgb888Bytes()
|
|
{
|
|
long key = 0xFF00FF; // magenta 0xRRGGBB
|
|
Assert.True(BlendMath.ColorKeyMatches(0xFF, 0x00, 0xFF, key));
|
|
Assert.False(BlendMath.ColorKeyMatches(0xFE, 0x00, 0xFF, key));
|
|
}
|
|
|
|
[Fact]
|
|
public void UnpackArgb_SplitsBytes()
|
|
{
|
|
Assert.Equal((0x80, 0x12, 0x34, 0x56), BlendMath.UnpackArgb(0x80123456));
|
|
}
|
|
}
|