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));
}
}
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));
}
}