48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using StandardScene.Magnetic.Protocol;
|
|||
|
|
using StandardScene.Magnetic.Tasking;
|
||
|
|
using Xunit;
|
||
|
|
|
||
|
|
namespace StandardScene.Magnetic.Tests.Tasking
|
||
|
|
{
|
||
|
|
public class Fass2ActionResolverTests
|
||
|
|
{
|
||
|
|
[Fact]
|
||
|
|
public void PassWithLift_IsNotCompleteUntilMechanismMatches()
|
||
|
|
{
|
||
|
|
var expected = new Fass2NodeMessage
|
||
|
|
{
|
||
|
|
Node = 3,
|
||
|
|
StartStop = Fass2TaskBuilder.StartStopPass,
|
||
|
|
Lift = 1
|
||
|
|
};
|
||
|
|
var actual = new Fass2NodeMessage
|
||
|
|
{
|
||
|
|
Node = 3,
|
||
|
|
StartStop = Fass2TaskBuilder.StartStopPass,
|
||
|
|
Lift = 0
|
||
|
|
};
|
||
|
|
|
||
|
|
Assert.True(Fass2ActionResolver.RequiresActionWait(expected));
|
||
|
|
Assert.False(Fass2ActionResolver.IsStationActionComplete(expected, actual, vehicleState: 2));
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public void PlainPass_CompletesWithoutMechanism()
|
||
|
|
{
|
||
|
|
var expected = new Fass2NodeMessage
|
||
|
|
{
|
||
|
|
Node = 3,
|
||
|
|
StartStop = Fass2TaskBuilder.StartStopPass
|
||
|
|
};
|
||
|
|
var actual = new Fass2NodeMessage
|
||
|
|
{
|
||
|
|
Node = 3,
|
||
|
|
StartStop = Fass2TaskBuilder.StartStopPass
|
||
|
|
};
|
||
|
|
|
||
|
|
Assert.False(Fass2ActionResolver.RequiresActionWait(expected));
|
||
|
|
Assert.True(Fass2ActionResolver.IsStationActionComplete(expected, actual, vehicleState: 2));
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|