using BCnEncoder.Decoder;
using BCnEncoder.Shared;
using XFEEDToolBox.Core.Rendering;
using XFEExtension.NetCore.XUnit.Attributes;
namespace XFEEDToolBox.Test;
[TestFixture]
public sealed class GalaxyOriginalGridTextureTests
{
[Test] public void SectorLineRetainsOriginalBc7PaddedMipChainAndNamedFadeInputs()
{
var source=GalaxyOriginalGridTexture.Reference;
Check.Equal(353280,source.Payload.Length);Check.Equal(10,source.Mips.Count);
Check.Equal(2048,source.Mips[0].RowPitch);Check.Equal(262144,source.Mips[0].SliceBytes);
Check.Equal(352768,source.Mips[^1].Offset);Check.Equal(512,source.Mips[^1].Size);
Check.Equal(2.31f,source.AuthoredFade.X);Check.Equal(2f,source.AuthoredFade.Y);
Check.Equal(.38f,source.AuthoredFade.Z);Check.Equal(.06f,source.AuthoredFade.W);
}
[Test] public void ActualGridPatternUsesFirstAtlasRowWithTransparentBorders()
{
var source=GalaxyOriginalGridTexture.Reference;
var decoded=new BcDecoder().DecodeRaw(source.Payload.Span[..source.Mips[0].SliceBytes].ToArray(),512,512,CompressionFormat.Bc7);
Check.That(decoded[10*512+256].a<=1);Check.That(decoded[32*512+256].a>=254);
Check.That(decoded[60*512+256].a<=1);
// The second row is a different authored dash pattern. It must not
// replace the grid's original y=0..1/8 selection or be regenerated.
Check.That(decoded[95*512+128].a<=1);Check.That(decoded[95*512+256].a>=254);
}
}
using BCnEncoder.Decoder;
using BCnEncoder.Shared;
using XFEEDToolBox.Core.Rendering;
using XFEExtension.NetCore.XUnit.Attributes;
namespace XFEEDToolBox.Test;
[TestFixture]
public sealed class GalaxyOriginalGridTextureTests
{
[Test] public void SectorLineRetainsOriginalBc7PaddedMipChainAndNamedFadeInputs()
{
var source=GalaxyOriginalGridTexture.Reference;
Check.Equal(353280,source.Payload.Length);Check.Equal(10,source.Mips.Count);
Check.Equal(2048,source.Mips[0].RowPitch);Check.Equal(262144,source.Mips[0].SliceBytes);
Check.Equal(352768,source.Mips[^1].Offset);Check.Equal(512,source.Mips[^1].Size);
Check.Equal(2.31f,source.AuthoredFade.X);Check.Equal(2f,source.AuthoredFade.Y);
Check.Equal(.38f,source.AuthoredFade.Z);Check.Equal(.06f,source.AuthoredFade.W);
}
[Test] public void ActualGridPatternUsesFirstAtlasRowWithTransparentBorders()
{
var source=GalaxyOriginalGridTexture.Reference;
var decoded=new BcDecoder().DecodeRaw(source.Payload.Span[..source.Mips[0].SliceBytes].ToArray(),512,512,CompressionFormat.Bc7);
Check.That(decoded[10*512+256].a<=1);Check.That(decoded[32*512+256].a>=254);
Check.That(decoded[60*512+256].a<=1);
// The second row is a different authored dash pattern. It must not
// replace the grid's original y=0..1/8 selection or be regenerated.
Check.That(decoded[95*512+128].a<=1);Check.That(decoded[95*512+256].a>=254);
}
}