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;","信号源")); } }