public DomainProcessedScreenshot BuildProcessedScreenshot(ScreenshotAdjusterParam screenshotAdjusterParam, string imageFormat, string contentType)
        {
            ScreenshotParam           screenshotParam     = _screenshotAdjuster.AdjustScreenshotParam(screenshotAdjusterParam);
            DomainProcessedScreenshot processedScreenshot = CreateProcessedScreenshot(screenshotParam, imageFormat, contentType);

            return(processedScreenshot);
        }
        protected virtual IProcessedEntity SelectNextTask(IList <IProcessedEntity> entities)
        {
            // 1. Screenshots
            DomainProcessedScreenshot screenshot = entities
                                                   .OfType <DomainProcessedScreenshot>()
                                                   .FirstOrDefault();

            if (screenshot != null)
            {
                return(screenshot);
            }

            // 2. Videos by resolution
            return(entities
                   .OfType <DomainProcessedVideo>()
                   .OrderBy(p => p.VideoParam.VideoWidth)
                   .ThenBy(p => p.SourceFileId)
                   .FirstOrDefault());
        }
Exemple #3
0
        public void GenerateProcessedScreenshotTest()
        {
            //Arrange
            var paramFactory = new Mock <IScreenshotAdjusterParamFactory>();
            var builder      = new Mock <IProcessedScreenshotBuilder>();
            var generator    = new ProcessedScreenshotGenerator(paramFactory.Object, builder.Object);

            var metadata = new Mock <IVideoMetadata>();
            var scrrenshotAdjusterParam = new ScreenshotAdjusterParam();
            var processedScreenshot     = new DomainProcessedScreenshot();

            paramFactory.Setup(m => m.CreateScreenshotAdjusterParam(metadata.Object)).Returns(scrrenshotAdjusterParam);
            builder.Setup(m => m.BuildProcessedScreenshot(scrrenshotAdjusterParam, MetadataConstant.JpegFormat, ContentType.JpegContent)).Returns(processedScreenshot);

            //Act
            List <DomainProcessedScreenshot> list = generator.Generate(metadata.Object);

            //Assert
            Assert.AreEqual(1, list.Count);
            Assert.IsTrue(list.Any(p => p == processedScreenshot));
        }