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

XFEEDToolBox

【WinUI】XFE精英危险工具箱

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

namespace XFEEDToolBox.Test;
[TestFixture]
public sealed class NavigationRouteProgressTests
{
    private static NavWaypoint Point(long id)=>new(id,"System "+id,new(id,0,0),"K");
    private static NavigationJournalState At(long current,params long[] route)=>new(){CurrentSystemAddress=current,Route=route.Select(Point).ToArray()};
    [Test]public void ConsumedHopsAndTheFinalSingleWaypointRemainTheSameItinerary()
    {
        long[] original=[1,2,3,4];
        foreach(var state in new[]{At(1,1,2,3,4),At(1,2,3,4),At(2,2,3,4),At(2,3,4),At(3,4),At(4,4)})
            Check.That(NavigationRouteProgress.SameItinerary(original,state));
    }
    [Test]public void CancellationSkippingUnvisitedHopsAndDifferentDestinationsStillStop()
    {
        long[] original=[1,2,3,4];
        foreach(var state in new[]{At(1),At(2),At(1,3,4),At(1,2,4),At(2,3,99),At(2,4,3),At(99,3,4)})
            Check.That(!NavigationRouteProgress.SameItinerary(original,state));
    }
}