public void FrameDelayJob_NegativeNumberOfFrames_InstantExecution() { // Arrange var job = new FrameDelayJob(-20); // Act // Assert Assert.True(job.IsFinished); Assert.True(job.Task.IsCompleted); Assert.False(job.Task.IsCanceled); Assert.False(job.Task.IsFaulted); Assert.True(job.Task.Status == TaskStatus.RanToCompletion); }
public void FrameDelayJob_5Frames_DelayedExecution() { // Arrange var job = new FrameDelayJob(5); Assert.False(job.IsFinished); Assert.False(job.Task.IsCompleted); // Act Assert.False(job.Update(1)); Assert.False(job.Update(1)); Assert.False(job.Update(1)); Assert.False(job.Update(1)); // 5th frame should be the final one Assert.True(job.Update(1)); // Assert Assert.True(job.IsFinished); Assert.True(job.Task.IsCompleted); }
/// <summary> /// Delays execution for a number of frames /// </summary> /// <param name="numFrames"></param> public static Task FrameDelay(int numFrames) { var frameDelayJob = new FrameDelayJob(numFrames); return CreateTaskFromJob(frameDelayJob); }
/// <summary> /// Delays execution for a number of frames /// </summary> /// <param name="numFrames"></param> public static Task FrameDelay(int numFrames) { var frameDelayJob = new FrameDelayJob(numFrames); return(CreateTaskFromJob(frameDelayJob)); }