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
                }
            };
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }