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); }
private CreatorStepData CreateStepData(IDataReceivedHandler dataReceivedHandler, IEncodeStringBuilder encodeStringBuilder) { var nextStepData = new CreatorStepData { EncoderState = EncoderState.Completed, DataReceivedHandler = dataReceivedHandler, EncodeStringBuilder = encodeStringBuilder }; return(nextStepData); }
public void SendDataFromCreatorStepTest() { //Arrange var stepData = new CreatorStepData(); //Act _mediator.Send(stepData, _creatorStep.Object); //Assert _encodeStep.Verify(m => m.SetData(stepData), Times.Once()); }
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); }