From f19c4ca4d55412bf8e381258097d754c06e3e1c8 Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Sun, 11 Oct 2026 19:01:25 +0300 Subject: [PATCH] [Tests] Cover the written mip statistics report --- .../Gpu/Images/MipStatisticsTests.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/SharpEmu.Libs.Tests/Gpu/Images/MipStatisticsTests.cs b/tests/SharpEmu.Libs.Tests/Gpu/Images/MipStatisticsTests.cs index 4edc1da..51bdbed 100644 --- a/tests/SharpEmu.Libs.Tests/Gpu/Images/MipStatisticsTests.cs +++ b/tests/SharpEmu.Libs.Tests/Gpu/Images/MipStatisticsTests.cs @@ -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() {