public void Setup() { _configManager = Substitute.For <IConfigManager <FFmpegConfig> >(); _argumentGenerator = Substitute.For <IFFmpegArgumentGenerator>(); _jobRunner = new MockJobRunner(_configManager, _argumentGenerator); _videoSource = new VideoStreamInfo() { Index = 0 }; _videoOutput = new VideoOutputStream() { SourceStreamIndex = 0 }; _transcodeJob = new TranscodeJob() { SourceInfo = new MediaInfo() { FileName = "source", Streams = new List <StreamInfo>() { _videoSource } }, OutputFileName = "destination", Streams = new List <OutputStream>() { _videoOutput } }; }
public void TaskRunnerBasicTest() { string[] strs = { "one", "two", "three", "four", "five", "six", "seven" }; var runner = new MockJobRunner(3); runner.Run(); strs.ToList().ForEach(runner.EnqueueJob); runner.Stop(); Assert.AreEqual(runner.Result, string.Join("", strs)); }
public void TaskRunnerCanReEnter() { string[] strs = { "one", "two", "three", "four", "five", "six", "seven" }; var runner = new MockJobRunner(3); runner.Run(); strs.Take(2).ToList().ForEach(runner.EnqueueJob); Thread.Sleep(TimeSpan.FromMilliseconds(10000)); runner.EnqueueRange(strs.Skip(2)); runner.Stop(); Assert.AreEqual(runner.Result, string.Join("", strs)); }
public void ItQueuesALongRunningTask() { var options = new LongRunningJobOptions { TaskTime = 99 }; MockJobRunner.Setup(r => r.Queue <LongRunningJob, LongRunningJobOptions>( It.IsAny <Action <LongRunningJobOptions> >() ) ) .Callback((Action <LongRunningJobOptions> cb) => { cb(options); }); Subject.LongRunningTask(); Assert.That(options.TaskTime, Is.EqualTo(10)); }