static void Main(string[] args) { var sequenceContent = File.ReadAllText("C:\\Users\\mircea_dogaru\\Documents\\Visual Studio 2015\\Projects\\Builder\\Builder\\Sequencer\\Sequences.xml"); var sequenceLoader = new SequenceLoader(); var actions = sequenceLoader.Load(sequenceContent, "1"); var runner = new SequenceRunner(); runner.Load(actions); runner.Run(); while (true) { runner.Update(); if (runner.HasFinishedRunning) { Console.WriteLine("Runner finished execution"); Console.ReadLine(); return; } Thread.Sleep(Convert.ToInt32(Global.DeltaTime * 1000)); } }
public async Task SequenceCommandTest() { using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30)); var cancellationToken = cancellationTokenSource.Token; using var runner = new SequenceRunner().WithLogging(); await runner.CallAsync( new Command("sequence", "2", "clipboard-set", "keyboard ^v", "123"), cancellationToken); }
public async Task SequenceMethodTest() { using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30)); var cancellationToken = cancellationTokenSource.Token; using var runner = new SequenceRunner().WithLogging(); runner.AsyncCommandReceived += async(_, _, token) => { await Task.Delay(TimeSpan.FromSeconds(1), token).ConfigureAwait(false); return(EmptyArray <IValue> .Value); }; await runner.SequenceAsync( new ICommand[] { new Command("clipboard-set"), new Command("keyboard ^v"), }, new [] { "123" }, cancellationToken); }
public async Task SampleWillRunService() { var sequence = new Sequence { PrimarySequence = { new OutputEvent { StartTime = TimeSpan.FromMilliseconds(0), EndTime = TimeSpan.FromMilliseconds(10), ChannelName = "Output" } } }; var service = A.Fake <IDataAquisition>(); var config = A.Fake <IConfigService>(); A.CallTo(() => config.Config).Returns(new Config { Channels = { new Channel { Name = "Output" } } }); using (var runSequence = new SequenceRunner(service, config)) { runSequence.RunSequence(sequence); await Task.Delay(15); } A.CallTo(() => service.SetChannelValue(A <Channel> .Ignored, A <double> .Ignored)).MustHaveHappened(Repeated.AtLeast.Twice); }