Ejemplo n.º 1
0
        /// <summary>
        /// Asserts that the <paramref name="serviceProject"/> contains equivalent values from the <paramref name="project"/>.
        /// </summary>
        /// <param name="project">The project with expected values.</param>
        /// <param name="serviceProject">The project with actual values.</param>
        public static void AssertProject(RCE.Infrastructure.Models.Project project, Project serviceProject)
        {
            Assert.AreEqual(project.ProviderUri, serviceProject.Id);
            Assert.AreEqual(project.Created, serviceProject.Created);
            Assert.AreEqual(project.Name, serviceProject.Title);
            Assert.AreEqual(project.Creator, serviceProject.Creator);
            Assert.AreEqual(project.ModifiedBy, serviceProject.ModifiedBy);
            Assert.AreNotEqual(DateTime.MinValue, serviceProject.Modified);
            Assert.AreEqual(project.Duration, serviceProject.Duration);
            Assert.AreEqual(project.AutoSaveInterval, serviceProject.AutoSaveInterval);
            Assert.AreEqual(project.StartTimeCode.TotalSeconds, serviceProject.StartTimeCode);
            Assert.AreEqual(project.SmpteFrameRate.ToString(), serviceProject.SmpteFrameRate);
            Assert.AreEqual(project.RippleMode, serviceProject.RippleMode);
            Assert.AreEqual(project.Resolution, serviceProject.Resolution);

            Assert.AreEqual(project.Timeline.Count - 1, serviceProject.Timeline.Count);

            AssertTrack(project.Timeline[0], serviceProject.Timeline[0]);
            AssertTrack(project.Timeline[1], serviceProject.Timeline[1]);

            Assert.AreEqual(project.Comments.Count, serviceProject.Comments.Count);
            AssertComment(project.Comments[0], serviceProject.Comments[0]);
            AssertComment(project.Comments[1], serviceProject.Comments[1]);
            AssertComment(project.Comments[2], serviceProject.Comments[2]);

            Assert.AreEqual(project.Timeline[2].Shots.Count, serviceProject.Titles.Count);
            Assert.AreEqual(project.Timeline[2].Shots[0].Asset.ProviderUri, serviceProject.Titles[0].Id);
            Assert.AreEqual(project.Timeline[2].Shots[0].TrackAnchorUri, serviceProject.Titles[0].TrackAnchor.Id);
            Assert.AreEqual(project.Timeline[2].Shots[0].Position.TotalSeconds, serviceProject.Titles[0].TrackAnchor.MarkIn);
            Assert.AreEqual(project.Timeline[2].Shots[0].OutPosition.TotalSeconds, serviceProject.Titles[0].TrackAnchor.MarkOut);
            Assert.AreEqual(((TitleAsset)project.Timeline[2].Shots[0].Asset).TitleTemplate.ProviderUri, serviceProject.Titles[0].TitleTemplate.Id);
            Assert.AreEqual(((TitleAsset)project.Timeline[2].Shots[0].Asset).TitleTemplate.Title, serviceProject.Titles[0].TitleTemplate.TemplateName);
            Assert.AreEqual(((TitleAsset)project.Timeline[2].Shots[0].Asset).MainText, serviceProject.Titles[0].TextBlockCollection[0].Text);
            Assert.AreEqual(((TitleAsset)project.Timeline[2].Shots[0].Asset).SubText, serviceProject.Titles[0].TextBlockCollection[1].Text);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a project for testing.
        /// </summary>
        /// <returns>A project with values.</returns>
        public static Infrastructure.Models.Project CreateProject()
        {
            var project = new RCE.Infrastructure.Models.Project();

            project.ProviderUri      = CreateUri();
            project.Name             = "MyProject";
            project.Creator          = "Creator";
            project.Created          = new DateTime(2009, 1, 1);
            project.ModifiedBy       = "ModifiedBy";
            project.Modified         = new DateTime(2009, 1, 2);
            project.AutoSaveInterval = 10;
            project.Duration         = 60;
            project.RippleMode       = true;
            project.SmpteFrameRate   = SmpteFrameRate.Smpte2997NonDrop;
            project.StartTimeCode    = TimeCode.FromSeconds(60d, project.SmpteFrameRate);
            project.MediaBin         = new RCE.Infrastructure.Models.MediaBin
            {
                ProviderUri = CreateUri(),
                Creator     = "Creator",
                Created     = new DateTime(2009, 1, 1),
                ModifiedBy  = "ModifiedBy",
                Modified    = new DateTime(2009, 1, 2)
            };

            project.Resolution = "1280x800";
            project.Comments.Add(CreateComment(CommentType.Timeline));
            project.Comments.Add(CreateComment(CommentType.Shot));
            project.Comments.Add(CreateComment(CommentType.Ink));
            project.Timeline.Add(CreateTrack(RCE.Infrastructure.Models.TrackType.Visual));
            project.Timeline[0].Shots.Add(CreateShot(CreateVideoAsset(), project.Comments[1]));
            project.Timeline[0].Shots.Add(CreateShot(CreateVideoAsset(), project.Comments[2]));
            project.Timeline[0].Shots.Add(CreateShot(CreateImageAsset(), null));
            project.Timeline.Add(CreateTrack(RCE.Infrastructure.Models.TrackType.Audio));
            project.Timeline[1].Shots.Add(CreateShot(CreateAudioAsset(), null));
            project.Timeline.Add(CreateTrack(RCE.Infrastructure.Models.TrackType.Title));
            project.Timeline[2].Shots.Add(CreateShot(CreateTitleAsset(), null));

            return(project);
        }