using XFEEDToolBox.Core.Rendering;
using XFEExtension.NetCore.XUnit.Attributes;
namespace XFEEDToolBox.Test;
[TestFixture]
public sealed class GalaxyOriginalPlaneTests
{
[Test] public void AuthoredPlaneKeepsSourceTopologyNormalsUvsAndPackedInstance()
{
var source=GalaxyOriginalPlane.Reference;
Check.Equal(196,source.PackedMesh.Length);Check.Equal(4,source.Vertices.Count);Check.Equal(6,source.Indices.Count);
Check.That(source.Indices.SequenceEqual(new ushort[]{0,1,2,2,3,0}));
Check.That(source.Vertices.All(v=>v.Normal.Y==1&&Math.Abs(v.Normal.X+1f/127)<.000001));
Check.That(source.Vertices.Min(v=>v.Uv.X)<.001f&&source.Vertices.Max(v=>v.Uv.X)>.99f);
Check.That(source.Vertices.Min(v=>v.Uv.Y)<.001f&&source.Vertices.Max(v=>v.Uv.Y)>.99f);
var q=GalaxyOriginalPlaneResources.Quaternion;
Check.That(Math.Abs(q.X)<.000001&&Math.Abs(q.Y-1)<.000001&&Math.Abs(q.Z)<.000001&&Math.Abs(q.W)<.000001);
Check.Equal(100000f,GalaxyOriginalPlaneResources.WorldScale);
Check.Equal(14392.1904296875f,source.Material1.X);Check.Equal(1772.406982421875f,source.Material1.Y);
}
[Test] public void PlaneKeepsEveryOriginalSrgbBc7MipAndItsPadding()
{
var source=GalaxyOriginalPlane.Reference;
Check.Equal(5596160,source.TexturePayload.Length);Check.Equal(12,source.Mips.Count);
Check.Equal(8192,source.Mips[0].RowPitch);Check.Equal(4194304,source.Mips[0].Size);
Check.Equal(5595648,source.Mips[^1].Offset);Check.Equal(512,source.Mips[^1].Size);
Check.Equal(256,source.Mips[^1].RowPitch);Check.That(source.TexturePayload.Span.ContainsAnyExcept((byte)0));
}
}
using XFEEDToolBox.Core.Rendering;
using XFEExtension.NetCore.XUnit.Attributes;
namespace XFEEDToolBox.Test;
[TestFixture]
public sealed class GalaxyOriginalPlaneTests
{
[Test] public void AuthoredPlaneKeepsSourceTopologyNormalsUvsAndPackedInstance()
{
var source=GalaxyOriginalPlane.Reference;
Check.Equal(196,source.PackedMesh.Length);Check.Equal(4,source.Vertices.Count);Check.Equal(6,source.Indices.Count);
Check.That(source.Indices.SequenceEqual(new ushort[]{0,1,2,2,3,0}));
Check.That(source.Vertices.All(v=>v.Normal.Y==1&&Math.Abs(v.Normal.X+1f/127)<.000001));
Check.That(source.Vertices.Min(v=>v.Uv.X)<.001f&&source.Vertices.Max(v=>v.Uv.X)>.99f);
Check.That(source.Vertices.Min(v=>v.Uv.Y)<.001f&&source.Vertices.Max(v=>v.Uv.Y)>.99f);
var q=GalaxyOriginalPlaneResources.Quaternion;
Check.That(Math.Abs(q.X)<.000001&&Math.Abs(q.Y-1)<.000001&&Math.Abs(q.Z)<.000001&&Math.Abs(q.W)<.000001);
Check.Equal(100000f,GalaxyOriginalPlaneResources.WorldScale);
Check.Equal(14392.1904296875f,source.Material1.X);Check.Equal(1772.406982421875f,source.Material1.Y);
}
[Test] public void PlaneKeepsEveryOriginalSrgbBc7MipAndItsPadding()
{
var source=GalaxyOriginalPlane.Reference;
Check.Equal(5596160,source.TexturePayload.Length);Check.Equal(12,source.Mips.Count);
Check.Equal(8192,source.Mips[0].RowPitch);Check.Equal(4194304,source.Mips[0].Size);
Check.Equal(5595648,source.Mips[^1].Offset);Check.Equal(512,source.Mips[^1].Size);
Check.Equal(256,source.Mips[^1].RowPitch);Check.That(source.TexturePayload.Span.ContainsAnyExcept((byte)0));
}
}