using Admin.NET.Plugin.AiDOP.Dto.S0.Manufacturing; using Xunit; namespace Admin.NET.Plugin.AiDOP.Tests.S0.Manufacturing; /// /// S0 Batch3 制造:列表查询 page / pageNo 与 EffectivePage 契约(单元测试)。 /// public class AdoS0MfgPagedQueryTests { [Theory] [InlineData(0, 1)] [InlineData(-3, 1)] [InlineData(3, 3)] public void EffectivePage_WhenPageNoUnset_UsesPageWithClampToOne(int page, int expected) { var q = new AdoS0StdOpMasterQueryDto { Page = page }; Assert.Equal(expected, q.EffectivePage); } [Fact] public void EffectivePage_WhenPageNoPositive_OverridesPage() { var q = new AdoS0StdOpMasterQueryDto { Page = 99, PageNo = 2 }; Assert.Equal(2, q.EffectivePage); } [Fact] public void EffectivePage_WhenPageNoPositive_OverridesSmallPage() { var q = new AdoS0StdOpMasterQueryDto { Page = 1, PageNo = 5 }; Assert.Equal(5, q.EffectivePage); } [Fact] public void EffectivePage_WhenPageNoZero_FallsBackToPage() { var q = new AdoS0ProductStructureQueryDto { Page = 4, PageNo = 0 }; Assert.Equal(4, q.EffectivePage); } }