Пример #1
0
        public void Initialize()
        {
            _pipelineMediator    = new Mock <IStepMediator>();
            _webClient           = new Mock <IEncodeWebClient>();
            _ffmpegProcess       = new Mock <IFfmpeg>();
            _watchDogTimer       = new Mock <IWatchDogTimer>();
            _dataReceiveHandler  = new Mock <IDataReceivedHandler>();
            _encodeStringBuilder = new Mock <IEncodeStringBuilder>();
            _tokenSource         = new Mock <CancellationTokenSourceWrapper>();

            _pipelineStep = new EncodeStep(_pipelineMediator.Object, _webClient.Object, _ffmpegProcess.Object, _watchDogTimer.Object);

            _encoderStatus = new EncoderStatus()
            {
                EncoderState = EncoderState.Failed,
                ErrorMessage = "errorMessage"
            };
            _stepData = new CreatorStepData()
            {
                EncoderState        = EncoderState.Completed,
                EncodeStringBuilder = _encodeStringBuilder.Object,
                DataReceivedHandler = _dataReceiveHandler.Object
            };

            _encodeStringBuilder.Setup(m => m.GetContentType()).Returns(ContentType);
            _encodeStringBuilder.Setup(m => m.GetFfmpegArguments()).Returns(Arguments);
            _ffmpegProcess.Setup(m => m.Start(Arguments, _tokenSource.Object, _dataReceiveHandler.Object.ProcessData)).Returns(() =>
            {
                var tcs = new TaskCompletionSource <EncoderStatus>();
                tcs.SetResult(_encoderStatus);
                return(tcs.Task);
            });

            _pipelineStep.SetData(_stepData);
        }
Пример #2
0
        private CreatorStepData CreateStepData(IDataReceivedHandler dataReceivedHandler, IEncodeStringBuilder encodeStringBuilder)
        {
            var nextStepData = new CreatorStepData
            {
                EncoderState        = EncoderState.Completed,
                DataReceivedHandler = dataReceivedHandler,
                EncodeStringBuilder = encodeStringBuilder
            };

            return(nextStepData);
        }
Пример #3
0
        public void SendDataFromCreatorStepTest()
        {
            //Arrange
            var stepData = new CreatorStepData();

            //Act
            _mediator.Send(stepData, _creatorStep.Object);

            //Assert
            _encodeStep.Verify(m => m.SetData(stepData), Times.Once());
        }
Пример #4
0
        public override void Execute(CancellationTokenSourceWrapper tokenSource)
        {
            IEncodeCreator creator = _creatorFactory.Create(StepData.EncodeData);

            IFfmpegParser        ffmpegParser        = creator.CreateFfmpegParser();
            IDataReceivedHandler dataReceivedHandler = creator.CreateDataReceivedHandler(ffmpegParser);
            IEncodeStringFactory encodeStringFactory = creator.CreateEncodeStringFactory();
            IEncodeStringBuilder encodeStringBuilder = creator.CreateEncodeStringBuilder(_tempFileManager, encodeStringFactory);

            CreatorStepData nextStepData = CreateStepData(dataReceivedHandler, encodeStringBuilder);

            Mediator.Send(nextStepData, this);
        }