[Tests] Cover the written mip statistics report

This commit is contained in:
ParantezTech 2026-10-11 19:01:25 +03:00
parent c61c1602aa
commit f19c4ca4d5
1 changed files with 25 additions and 0 deletions

View File

@ -114,6 +114,31 @@ public sealed class MipStatisticsTests
Assert.All(report, static value => Assert.Equal(0, value));
}
[Fact]
public void WrittenReport_PointsAFullReportAtItsCounters()
{
var statistics = new MipStatistics();
statistics.NoteSampled(Texture(slot: 3));
var report = new byte[MipStatistics.ReportBytes];
statistics.WriteReport(report);
Assert.Equal(MipStatistics.FirstCounterOffset, BinaryPrimitives.ReadUInt32LittleEndian(report));
Assert.Equal((0x10000u, 3u, 0x10000u, 0u), Counter(report, 3));
}
[Fact]
public void WrittenReport_MarksAShortBufferValidWithoutCounters()
{
var statistics = new MipStatistics();
var report = new byte[16];
statistics.WriteReport(report);
Assert.Equal(MipStatistics.ReportWithoutCounters, BinaryPrimitives.ReadUInt32LittleEndian(report));
Assert.All(report[sizeof(uint)..], value => Assert.Equal(0, value));
}
[Fact]
public void ImageField_CarriesTheCounterBaseLevelAndMinimumLod()
{