XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEEDToolBox.Core.Localization;
using XFEEDToolBox.Core.Navigation;
using XFEEDToolBox.Core.Presentation;
using XFEExtension.NetCore.XUnit.Attributes;

namespace XFEEDToolBox.Test;

[TestFixture]
public class GameNavigationNamesTests
{
    [Test] public void SignalTemplatesUseTheExactGameChineseTypeLabels()
    {
        Check.Equal("衰变信号",GameNavigationNames.Location("$USS_DegradedEmissions;"));
        Check.Equal("加密信号",GameNavigationNames.Location("$USS_EncodedEmissions;"));
        Check.Equal("高阶材料信号",GameNavigationNames.Location("$USS_HighGradeEmissions;"));
        Check.Equal("导航信标",GameNavigationNames.Location("$MULTIPLAYER_SCENARIO42_TITLE;"));
        Check.Equal("贸易信标",GameNavigationNames.Location("$USS_TradingBeacon;"));
        Check.Equal("未探索",GameNavigationNames.Location("Unexplored"));
    }
    [Test] public void LiteralLabelsAndBeltNamesUseGameTextWithoutRenamingProperNames()
    {
        Check.Equal("HIP 12099 A 小行星带 2",GameNavigationNames.Location("HIP 12099 A Belt Cluster 2"));
        Check.Equal("衰变信号",GameNavigationNames.Location("Degraded Emissions"));
        foreach(var name in new[]{"SPACEBALL1 | L1NK","Jameson Crash Site","Ray Enterprise","Nav Beacon Cafe","中文航母 ABC-123"})
            Check.Equal(name,GameNavigationNames.Location(name));
    }
    [Test] public void LocalizedSearchAndRowsKeepTheOriginalTargetIdentityAndName()
    {
        var original=new SystemLocation(1,101,"$USS_DegradedEmissions;","$MULTIPLAYER_SCENARIO42_TITLE;",22,SystemLocationCategory.Signal,null,null,100,false,"native-identity");
        var row=new SystemLocationLiveRow(original);
        Check.Equal("衰变信号",row.Name);Check.Equal("信号源 · 导航信标",row.Details);
        var snapshot=new CurrentSystemSnapshot(1,"HIP 12099",1,1,DateTimeOffset.UtcNow,[original]);
        foreach(var search in new[]{"衰变","DegradedEmissions","导航信标"})
            Check.That(ReferenceEquals(original,new SystemLocationFilter(Search:search).Apply(snapshot).Single()));
        Check.Equal("$USS_DegradedEmissions;",row.Record.Name);Check.Equal("native-identity",row.Record.Identity);
    }
    [Test] public void UnknownResourceTokensFallBackToTheirCategoryWithoutLeakingInternalKeys()
    {
        Check.Equal("信号源",GameNavigationNames.Location("$UNKNOWN_NEW_SIGNAL;","信号源"));
        Check.Equal("",GameNavigationNames.Location("$UNKNOWN_SECONDARY;",""));
        Check.Equal("不明信号源",GameNavigationNames.Location("$USS;","信号源"));
    }
}