文件同步需要快速失败,超时时间定为3秒
智能大石头 authored at 2026-01-07 09:31:42
1.07 KiB
Stardust
using System;
using System.Reflection;
using Stardust;
using Xunit;

namespace ClientTest;

public class DpiNormalizeTests
{
    private static String? Normalize(String? dpi)
    {
        var mi = typeof(StarClient).GetMethod("NormalizeDpi", BindingFlags.NonPublic | BindingFlags.Static);
        Assert.NotNull(mi);

        return (String?)mi.Invoke(null, [dpi]);
    }

    [Theory(DisplayName = "DPI 规范化:过滤异常值")]
    [InlineData(null)]
    [InlineData("")]
    [InlineData("0*96")]
    [InlineData("96*0")]
    [InlineData("3072*3072")]
    [InlineData("9999*96")]
    public void NormalizeDpi_FilterInvalid(String? dpi)
    {
        var rs = Normalize(dpi);
        Assert.Null(rs);
    }

    [Theory(DisplayName = "DPI 规范化:保留或规整合法值")]
    [InlineData("96*96", "96*96")]
    [InlineData("96x96", "96*96")]
    [InlineData("120*120", "120*120")]
    [InlineData("96*97", "96*96")]
    public void NormalizeDpi_NormalizeValid(String input, String expected)
    {
        var rs = Normalize(input);
        Assert.Equal(expected, rs);
    }
}