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