namespace XFEEDToolBox.Plugin;
internal static unsafe partial class Navigation
{
private static uint CommerceDockedSelfTest()
{
var memory=Platform.Allocate(8192);if(memory==0)return 0;
try
{
var dock=memory;var station=memory+4096;const uint market=4210924803;uint passed=0;
Write(dock+0x4E0,station);Write(station+0xC0,8u);Write(station+0xB0,(ulong)market);Write(dock+0x4C0,5u);
if(ReadCommerceDocking(dock,market,out var state,out var actual)&&state==5&&actual==market)passed|=1;
Write(dock+0x4C0,7u);if(ReadCommerceDocking(dock,market,out _,out _))passed|=2;
Write(dock+0x4C0,4u);if(!ReadCommerceDocking(dock,market,out state,out actual)&&state==4&&actual==market)passed|=4;
Write(dock+0x4C0,5u);if(!ReadCommerceDocking(dock,market-1,out _,out _))passed|=8;
Write(station+0xC0,1u);if(!ReadCommerceDocking(dock,market,out _,out actual)&&actual==0)passed|=16;
Write(dock+0x4E0,(nuint)0);if(!ReadCommerceDocking(dock,market,out _,out _))passed|=32;
if(!ReadCommerceDocking(0,market,out state,out actual)&&state==0&&actual==0)passed|=64;
return passed;
}
finally{Platform.Free(memory);}
}
#if PLUGIN_NAVIGATION
[UnmanagedCallersOnly(EntryPoint="XFENavigationCommerceDockedSelfTest")]
internal static uint ExportCommerceDockedSelfTest()=>RunTest(CommerceDockedSelfTest);
#endif
}
namespace XFEEDToolBox.Plugin;
internal static unsafe partial class Navigation
{
private static uint CommerceDockedSelfTest()
{
var memory=Platform.Allocate(8192);if(memory==0)return 0;
try
{
var dock=memory;var station=memory+4096;const uint market=4210924803;uint passed=0;
Write(dock+0x4E0,station);Write(station+0xC0,8u);Write(station+0xB0,(ulong)market);Write(dock+0x4C0,5u);
if(ReadCommerceDocking(dock,market,out var state,out var actual)&&state==5&&actual==market)passed|=1;
Write(dock+0x4C0,7u);if(ReadCommerceDocking(dock,market,out _,out _))passed|=2;
Write(dock+0x4C0,4u);if(!ReadCommerceDocking(dock,market,out state,out actual)&&state==4&&actual==market)passed|=4;
Write(dock+0x4C0,5u);if(!ReadCommerceDocking(dock,market-1,out _,out _))passed|=8;
Write(station+0xC0,1u);if(!ReadCommerceDocking(dock,market,out _,out actual)&&actual==0)passed|=16;
Write(dock+0x4E0,(nuint)0);if(!ReadCommerceDocking(dock,market,out _,out _))passed|=32;
if(!ReadCommerceDocking(0,market,out state,out actual)&&state==0&&actual==0)passed|=64;
return passed;
}
finally{Platform.Free(memory);}
}
#if PLUGIN_NAVIGATION
[UnmanagedCallersOnly(EntryPoint="XFENavigationCommerceDockedSelfTest")]
internal static uint ExportCommerceDockedSelfTest()=>RunTest(CommerceDockedSelfTest);
#endif
}