using Admin.NET.Plugin.AiDOP.Infrastructure; using Xunit; namespace Admin.NET.Plugin.AiDOP.Tests.S0.Sales; /// /// S0 Batch2 列表分页与 PagingGuard 行为一致(单元测试)。 /// public class PagingGuardTests { [Theory] [InlineData(0, 0, 1, 10)] [InlineData(-1, -5, 1, 10)] [InlineData(2, 10, 2, 10)] [InlineData(1, 500, 1, 200)] public void Normalize_ClampsPageAndPageSize(int page, int pageSize, int expectedPage, int expectedPageSize) { var (p, ps) = PagingGuard.Normalize(page, pageSize); Assert.Equal(expectedPage, p); Assert.Equal(expectedPageSize, ps); } [Fact] public void Normalize_CustomMaxPageSize_IsRespected() { var (p, ps) = PagingGuard.Normalize(1, 100, maxPageSize: 50); Assert.Equal(1, p); Assert.Equal(50, ps); } }