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