/// <summary> /// Asserts that the <paramref name="container"/> contains equivalent values from the <paramref name="sqlContainer"/>. /// </summary> /// <param name="sqlContainer">The container with expected values.</param> /// <param name="container">The container with actual values.</param> private static void AssertChildContainer(SqlContainer sqlContainer, Container container) { Assert.AreEqual(sqlContainer.Title, container.Title); Assert.AreEqual(sqlContainer.Items.Count, container.Items.Count); AssertItem(sqlContainer.Items.First(), container.Items[0]); Assert.AreEqual(sqlContainer.Containers.Count, container.Containers.Count); }
public void ShouldFilterResultsWhenLoadingLibraryWithFilter() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, libraryId); Container container = Container.CreateContainer(libraryId.ToString()); container.Title = "Test"; Item item1 = SqlHelper.CreateSqlVideoItem(); item1.Title = "FilterItem"; Item item2 = SqlHelper.CreateSqlAudioItem(); item2.Title = "Test"; Item item3 = SqlHelper.CreateSqlImageItem(); item3.Title = "Test2"; container.Items.Add(item1); container.Items.Add(item2); container.Items.Add(item3); context.AddToContainer(container); context.SaveChanges(); var filter = "Filter"; var library = dataProvider.LoadLibrary(filter, 0); Assert.AreEqual(1, library.Items.Count); } }
/// <summary> /// Asserts that the <paramref name="container"/> contains equivalent values from the <paramref name="sqlContainer"/>. /// </summary> /// <param name="sqlContainer">The container with expected values.</param> /// <param name="container">The container with actual values.</param> /// <param name="maxNumberOfItems">The max number of items to retrieve.</param> public static void AssertContainer(SqlContainer sqlContainer, Container container, int maxNumberOfItems) { Assert.AreEqual(sqlContainer.Title, container.Title); Assert.AreEqual(maxNumberOfItems, container.Items.Count); AssertItem(sqlContainer.Items.First(), container.Items[0]); Assert.AreEqual(sqlContainer.Containers.Count, container.Containers.Count); AssertChildContainer(sqlContainer.Containers.First(), container.Containers[0]); }
/// <summary> /// Creates a sql container for testing. /// </summary> /// <returns>A sql container with values.</returns> private static SqlContainer CreateSqlChildContainer() { var container = new SqlContainer(); container.Id = 1; container.Title = "Title"; container.Items.Add(CreateSqlVideoItem()); return(container); }
/// <summary> /// Converts a <see cref="Container"/> into a <see cref="Sql.Container"/>. /// </summary> /// <param name="mediaBin">The <see cref="Container"/> being converted.</param> /// <param name="sqlMediaBin">The converted <see cref="Sql.Container"/> that contains equivalent values from the <paramref name="mediaBin"/>.</param> /// /// <param name="items">The existent items to look for the items of the container.</param> /// <returns>A new <see cref="Project"/> that contains equivalent values from the <paramref name="sqlMediaBin"/>.</returns> public static SqlContainer ConvertToSqlMediaBin(Container mediaBin, SqlContainer sqlMediaBin, IEnumerable <SqlItem> items) { sqlMediaBin.Title = mediaBin.Title; foreach (MediaItem item in mediaBin.Items) { sqlMediaBin.Items.Add(ConvertToSqlItem(item, items)); } return(sqlMediaBin); }
public void ShouldLoadMediaBin() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Project project = Project.CreateProject(1, "creator", DateTime.Now); Item item = SqlHelper.CreateSqlVideoItem(); item.Id = 1; item.Resources.First().Id = 1; item.Resources.First().VideoFormat.Id = 1; Item childItem = SqlHelper.CreateSqlVideoItem(); childItem.Id = 2; childItem.Resources.First().Id = 2; childItem.Resources.First().VideoFormat.Id = 2; context.AddToItem(item); context.AddToItem(childItem); context.SaveChanges(); Container mediaBin = Container.CreateContainer(1); mediaBin.Items.Add(item); Container childContainer = Container.CreateContainer(2); childContainer.Items.Add(childItem); mediaBin.Containers.Add(childContainer); context.AddToContainer(mediaBin); context.SaveChanges(); var mediaBinContainer = dataProvider.LoadMediaBin(new Uri(string.Format(IdUrlTemplate, mediaBin.Id))); Assert.AreEqual(1, mediaBinContainer.Items.Count); Assert.AreEqual(1, mediaBinContainer.Containers.Count); Assert.AreEqual(0, mediaBinContainer.Containers[0].Items.Count); Assert.AreEqual(string.Format(IdUrlTemplate, item.Id), mediaBinContainer.Items[0].Id.ToString()); Assert.AreEqual(item.Title, mediaBinContainer.Items[0].Title); Assert.AreEqual(item.Description, mediaBinContainer.Items[0].Description); Assert.IsInstanceOfType(mediaBinContainer.Items[0], typeof(VideoItem)); Assert.AreEqual(1, mediaBinContainer.Items[0].Resources.Count); Assert.AreEqual(string.Format(IdUrlTemplate, item.Resources.First().Id), mediaBinContainer.Items[0].Resources[0].Id.ToString()); Assert.AreEqual(item.Resources.First().Ref, mediaBinContainer.Items[0].Resources[0].Ref); Assert.AreEqual(item.Resources.First().VideoFormat.Duration, ((VideoItem)mediaBinContainer.Items[0]).Duration); Assert.AreEqual(item.Resources.First().VideoFormat.FrameRate, ((VideoItem)mediaBinContainer.Items[0]).FrameRate.ToString()); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionX, ((VideoItem)mediaBinContainer.Items[0]).Width); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionY, ((VideoItem)mediaBinContainer.Items[0]).Height); } }
public void ShouldLoadLibrary() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Container container = Container.CreateContainer(1); container.Title = "Test"; Container childContainer = Container.CreateContainer(2); childContainer.Title = "ChildContainer"; Item item = SqlHelper.CreateSqlVideoItem(); item.Id = 1; item.Resources.First().Id = 1; item.Resources.First().VideoFormat.Id = 1; Item childItem = SqlHelper.CreateSqlVideoItem(); childItem.Id = 2; childItem.Resources.First().Id = 2; childItem.Resources.First().VideoFormat.Id = 2; container.Items.Add(item); childContainer.Items.Add(childItem); container.Containers.Add(childContainer); context.AddToContainer(container); context.SaveChanges(); var library = dataProvider.LoadLibrary(1000); Assert.AreEqual(container.Title, library.Title); Assert.AreEqual(1, library.Items.Count); Assert.AreEqual(1, library.Containers.Count); Assert.AreEqual(childContainer.Title, library.Containers[0].Title); Assert.AreEqual(0, library.Containers[0].Items.Count); Assert.AreEqual(string.Format(IdUrlTemplate, item.Id), library.Items[0].Id.ToString()); Assert.AreEqual(item.Title, library.Items[0].Title); Assert.AreEqual(item.Description, library.Items[0].Description); Assert.IsInstanceOfType(library.Items[0], typeof(VideoItem)); Assert.AreEqual(1, library.Items[0].Resources.Count); Assert.AreEqual(string.Format(IdUrlTemplate, item.Resources.First().Id), library.Items[0].Resources[0].Id.ToString()); Assert.AreEqual(item.Resources.First().Ref, library.Items[0].Resources[0].Ref); Assert.AreEqual(item.Resources.First().ResourceType, library.Items[0].Resources[0].ResourceType); Assert.AreEqual(item.Resources.First().VideoFormat.Duration, ((VideoItem)library.Items[0]).Duration); Assert.AreEqual(item.Resources.First().VideoFormat.FrameRate, ((VideoItem)library.Items[0]).FrameRate.ToString()); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionX, ((VideoItem)library.Items[0]).Width); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionY, ((VideoItem)library.Items[0]).Height); } }
/// <summary> /// Creates a sql container for testing. /// </summary> /// <returns>A sql container with values.</returns> public static SqlContainer CreateSqlContainer() { var container = new SqlContainer(); container.Id = 1; container.Title = "Title"; container.Items.Add(CreateSqlImageItem()); container.Items.Add(CreateSqlVideoItem()); container.Items.Add(CreateSqlAudioItem()); container.Containers.Add(CreateSqlChildContainer()); return(container); }
public void ShouldRetrieveProjectsByUser() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Project project1 = Project.CreateProject(1, "creator", DateTime.Now); project1.Duration = 100; project1.Resolution = "HD"; project1.AutoSaveInterval = 100; project1.StartTimeCode = 3600; project1.SmpteFrameRate = "Smpte2997NonDrop"; project1.RippleMode = true; Container mediaBin1 = Container.CreateContainer(1); project1.MediaBin = mediaBin1; Project project2 = Project.CreateProject(2, "notthesamecreator", DateTime.Now); project2.Duration = 100; project2.Resolution = "HD"; project2.AutoSaveInterval = 100; project2.StartTimeCode = 3600; project2.SmpteFrameRate = "Smpte2997NonDrop"; project2.RippleMode = true; Container mediaBin2 = Container.CreateContainer(2); project2.MediaBin = mediaBin2; context.AddToProject(project1); context.AddToProject(project2); context.SaveChanges(); var projects = dataProvider.GetProjectsByUser("creator"); Assert.AreEqual(1, projects.Count()); Assert.AreEqual(project1.Duration, projects[0].Duration); Assert.AreEqual(project1.Resolution, projects[0].Resolution); Assert.AreEqual(project1.AutoSaveInterval, projects[0].AutoSaveInterval); Assert.AreEqual(project1.StartTimeCode, projects[0].StartTimeCode); Assert.AreEqual(project1.SmpteFrameRate, projects[0].SmpteFrameRate); Assert.AreEqual(project1.RippleMode, projects[0].RippleMode); Assert.AreEqual(project1.Creator, projects[0].Creator); } }
public void ShouldConvertMediaBinToSqlContainer() { var mediaBin = SqlHelper.CreateMediaBin(); var sqlMediaBin = new SqlContainer(); var item = SqlHelper.CreateSqlItem(); item.Id = mediaBin.Items.First().Id.ToString(); item.Resources.First().Id = mediaBin.Items.First().Resources.First().Id.ToString(); var items = new List <SqlItem> { item }; var result = SqlDataProviderTranslator.ConvertToSqlMediaBin(mediaBin, sqlMediaBin, items); SqlHelper.AssertContainer(mediaBin, result); }
public void ShouldLimitResultsWhenLoadingLibraryWithMaxNumberOfItems() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Container container = Container.CreateContainer(1); container.Title = "Test"; Item item1 = SqlHelper.CreateSqlVideoItem(); item1.Id = 1; item1.Resources.First().Id = 1; item1.Resources.First().VideoFormat.Id = 1; Item item2 = SqlHelper.CreateSqlAudioItem(); item2.Id = 2; item2.Resources.First().Id = 2; item2.Resources.First().AudioFormat.Id = 2; Item item3 = SqlHelper.CreateSqlImageItem(); item3.Id = 3; item3.Resources.First().Id = 3; item3.Resources.First().ImageFormat.Id = 3; container.Items.Add(item1); container.Items.Add(item2); container.Items.Add(item3); context.AddToContainer(container); context.SaveChanges(); var maxNumberOfItems = 2; var library = dataProvider.LoadLibrary(maxNumberOfItems); Assert.AreEqual(maxNumberOfItems, library.Items.Count); } }
/// <summary> /// Converts the SQL result to media bin. /// </summary> /// <param name="sqlMediaBin">The SQL result of media bin.</param> /// <returns>The <see cref="MediaBin"/>.</returns> public static MediaBin ConvertToMediaBin(SqlContainer sqlMediaBin, IMetadataLocator metadataLocator) { MediaBin mediaBin = new MediaBin { Id = CreateUri(sqlMediaBin.Id), Title = sqlMediaBin.Title }; foreach (SqlItem item in sqlMediaBin.Items) { mediaBin.Items.Add(ConvertToMediaItem(item, metadataLocator)); } foreach (SqlContainer sqlChildContainer in sqlMediaBin.Containers) { Container childContainer = ConvertToContainer(sqlChildContainer, metadataLocator); mediaBin.Containers.Add(childContainer); } return(mediaBin); }
/// <summary> /// Converts a <see cref="SqlContainer"/> into a <seealso cref="Container"/>. /// </summary> /// <param name="sqlContainer">The <see cref="SqlContainer"/> being converted.</param> /// <param name="filter">The filter to apply to the items of the <paramref name="sqlContainer"/>.</param> /// <param name="maxNumberOfItems">The max number of items that the new container should contains.</param> /// <returns>A new <see cref="Container"/> that contains equivalent values from the <paramref name="sqlContainer"/>.</returns> public static Container ConvertToContainer(SqlContainer sqlContainer, string filter, int maxNumberOfItems, IMetadataLocator metadataLocator) { Container container = new Container { Id = CreateUri(sqlContainer.Id), Title = sqlContainer.Title }; if (maxNumberOfItems > 0) { foreach (SqlItem item in sqlContainer.Items) { if (container.Items.Count < maxNumberOfItems) { MediaItem mediaItem = ConvertToMediaItem(item, metadataLocator); if (string.IsNullOrEmpty(filter)) { container.Items.Add(mediaItem); } else { if (mediaItem.Title.Contains(filter)) { container.Items.Add(mediaItem); } } } } } else { foreach (SqlItem item in sqlContainer.Items) { MediaItem mediaItem = ConvertToMediaItem(item, metadataLocator); if (string.IsNullOrEmpty(filter)) { container.Items.Add(mediaItem); } else { if (mediaItem.Title.Contains(filter)) { container.Items.Add(mediaItem); } } } } foreach (SqlContainer sqlChildContainer in sqlContainer.Containers) { Container childContainer = ConvertToContainer(sqlChildContainer, filter, maxNumberOfItems, metadataLocator); if (string.IsNullOrEmpty(filter)) { container.Containers.Add(childContainer); } else { foreach (Item item in childContainer.Items) { container.Items.Add(item); } } } return(container); }
/// <summary> /// Converts a <see cref="SqlContainer"/> into a <seealso cref="Container"/>. /// </summary> /// <param name="sqlContainer">The <see cref="SqlContainer"/> being converted.</param> /// <returns>A new <see cref="Container"/> that contains equivalent values from the <paramref name="sqlContainer"/>.</returns> public static Container ConvertToContainer(SqlContainer sqlContainer, IMetadataLocator metadataLocator) { return(ConvertToContainer(sqlContainer, null, 0, metadataLocator)); }
public void ShouldDeleteProject() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Item item = Item.CreateItem(1, "title", "Video"); item.Description = "description"; item.Resources = new EntityCollection <Resource>(); Resource resource = Resource.CreateResource(1, "\test\test.wmv", "Master"); resource.VideoFormat = VideoFormat.CreateVideoFormat(1); resource.VideoFormat.Duration = 10; resource.VideoFormat.FrameRate = "Smpte25"; resource.VideoFormat.ResolutionX = 200; resource.VideoFormat.ResolutionY = 500; item.Resources.Add(resource); context.AddToItem(item); TitleTemplate titleTemplate = TitleTemplate.CreateTitleTemplate(1, "TemplateName"); context.AddToTitleTemplate(titleTemplate); context.SaveChanges(); Project project = Project.CreateProject(1, "creator", DateTime.Now); project.Duration = 100; project.Resolution = "HD"; project.AutoSaveInterval = 100; project.StartTimeCode = 3600; project.SmpteFrameRate = "Smpte2997NonDrop"; project.RippleMode = true; Container mediaBin = Container.CreateContainer(1); mediaBin.Items.Add(item); Container container = Container.CreateContainer(2); mediaBin.Containers.Add(container); project.MediaBin = mediaBin; Comment comment = Comment.CreateComment(1, "Text", "Timeline", "user", DateTime.Today); comment.MarkIn = 1200; comment.MarkOut = 1500; Comment shotComment = Comment.CreateComment(2, "Text", "Shot", "user", DateTime.Today); shotComment.MarkIn = 170; shotComment.MarkOut = 180; project.Comments.Add(comment); project.Comments.Add(shotComment); Track track = Track.CreateTrack(1, "Video"); Shot shot = Shot.CreateShot(1); shot.Item = item; shot.ItemMarkIn = 150; shot.ItemMarkOut = 200; shot.TrackMarkIn = 500; shot.TrackMarkOut = 0; shot.Volume = 5; shot.Comments.Add(shotComment); track.Shots = new EntityCollection <Shot>(); track.Shots.Add(shot); project.Tracks.Add(track); Title title = Title.CreateTitle(1, 600, 100, "Main", "Sub"); title.TitleTemplate = titleTemplate; project.Titles.Add(title); context.AddToProject(project); context.SaveChanges(); var retrievedProject = dataProvider.LoadProject(new Uri(string.Format("http://temp/{0}", project.Id))); bool result = dataProvider.DeleteProject(new Uri(string.Format("http://temp/{0}", project.Id))); var retrievedDeletedProject = dataProvider.LoadProject(new Uri(string.Format("http://temp/{0}", project.Id))); Assert.IsTrue(result); Assert.IsNull(retrievedDeletedProject.Id); } }
public void ShouldLoadProject() { var context = new RoughCutEditorEntities(); using (TransactionScope transactionScope = new TransactionScope()) { var libraryId = CreateId(typeof(Services.Contracts.Container).Name); var dataProvider = new DataProvider(this.loggerService, null, libraryId); Item item = Item.CreateItem(1, "title", "Video"); item.Description = "description"; item.Resources = new EntityCollection <Resource>(); Resource resource = Resource.CreateResource(1, "\test\test.wmv", "Master"); resource.VideoFormat = VideoFormat.CreateVideoFormat(1); resource.VideoFormat.Duration = 10; resource.VideoFormat.FrameRate = "Smpte25"; resource.VideoFormat.ResolutionX = 200; resource.VideoFormat.ResolutionY = 500; item.Resources.Add(resource); context.AddToItem(item); TitleTemplate titleTemplate = TitleTemplate.CreateTitleTemplate(1, "TemplateName"); context.AddToTitleTemplate(titleTemplate); context.SaveChanges(); Project project = Project.CreateProject(1, "creator", DateTime.Now); project.Duration = 100; project.Resolution = "HD"; project.AutoSaveInterval = 100; project.StartTimeCode = 3600; project.SmpteFrameRate = "Smpte2997NonDrop"; project.RippleMode = true; Container mediaBin = Container.CreateContainer(1); mediaBin.Items.Add(item); Container container = Container.CreateContainer(2); container.Items.Add(item); mediaBin.Containers.Add(container); project.MediaBin = mediaBin; Comment comment = Comment.CreateComment(3, "Text", "Timeline", "user", DateTime.Today); comment.MarkIn = 1200; comment.MarkOut = 1500; Comment shotComment = Comment.CreateComment(4, "Text", "Shot", "user", DateTime.Today); shotComment.MarkIn = 170; shotComment.MarkOut = 180; project.Comments.Add(comment); project.Comments.Add(shotComment); Track track = Track.CreateTrack(1, "Video"); Shot shot = Shot.CreateShot(1); shot.Item = item; shot.ItemMarkIn = 150; shot.ItemMarkOut = 200; shot.TrackMarkIn = 500; shot.TrackMarkOut = 0; shot.Volume = 5; shot.Comments.Add(shotComment); track.Shots = new EntityCollection <Shot>(); track.Shots.Add(shot); project.Tracks.Add(track); Title title = Title.CreateTitle(1, 600, 100, "Main", "Sub"); title.TitleTemplate = titleTemplate; project.Titles.Add(title); context.AddToProject(project); context.SaveChanges(); var retrievedProject = dataProvider.LoadProject(new Uri(string.Format(IdUrlTemplate, project.Id))); Assert.AreEqual(project.Duration, retrievedProject.Duration); Assert.AreEqual(project.Resolution, retrievedProject.Resolution); Assert.AreEqual(project.AutoSaveInterval, retrievedProject.AutoSaveInterval); Assert.AreEqual(project.StartTimeCode, retrievedProject.StartTimeCode); Assert.AreEqual(project.SmpteFrameRate, retrievedProject.SmpteFrameRate); Assert.AreEqual(project.RippleMode, retrievedProject.RippleMode); Assert.AreEqual(project.Creator, retrievedProject.Creator); Assert.IsNotNull(retrievedProject.MediaBin); Assert.AreEqual(string.Format(IdUrlTemplate, mediaBin.Id), retrievedProject.MediaBin.Id.ToString()); Assert.AreEqual(1, retrievedProject.MediaBin.Items.Count); Assert.AreEqual(1, retrievedProject.MediaBin.Containers.Count); Assert.AreEqual(0, retrievedProject.MediaBin.Containers[0].Items.Count); Assert.AreEqual(1, retrievedProject.Sequences[0].Tracks.Count); Assert.AreEqual(string.Format(IdUrlTemplate, track.Id), retrievedProject.Sequences[0].Tracks[0].Id.ToString()); Assert.AreEqual(track.TrackType, retrievedProject.Sequences[0].Tracks[0].TrackType); Assert.AreEqual(track.Shots.Count, retrievedProject.Sequences[0].Tracks[0].Shots.Count); Assert.AreEqual(string.Format(IdUrlTemplate, shot.Id), retrievedProject.Sequences[0].Tracks[0].Shots[0].Id.ToString()); Assert.AreEqual(shot.TrackMarkIn, retrievedProject.Sequences[0].Tracks[0].Shots[0].TrackAnchor.MarkIn); Assert.AreEqual(shot.TrackMarkOut, retrievedProject.Sequences[0].Tracks[0].Shots[0].TrackAnchor.MarkOut); Assert.AreEqual(shot.ItemMarkIn, retrievedProject.Sequences[0].Tracks[0].Shots[0].SourceAnchor.MarkIn); Assert.AreEqual(shot.ItemMarkOut, retrievedProject.Sequences[0].Tracks[0].Shots[0].SourceAnchor.MarkOut); Assert.AreEqual(shot.Volume, retrievedProject.Sequences[0].Tracks[0].Shots[0].Volume); Assert.AreEqual(1, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments.Count); Assert.AreEqual(string.Format(IdUrlTemplate, shotComment.Id), retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].Id.ToString()); Assert.AreEqual(shotComment.Creator, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].Creator); Assert.AreEqual(shotComment.Created, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].Created); Assert.AreEqual(shotComment.Text, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].Text); Assert.AreEqual(shotComment.CommentType, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].Type); Assert.AreEqual(shotComment.MarkIn, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].MarkIn); Assert.AreEqual(shotComment.MarkOut, retrievedProject.Sequences[0].Tracks[0].Shots[0].Comments[0].MarkOut); Assert.AreEqual(2, retrievedProject.Comments.Count); Assert.AreEqual(string.Format(IdUrlTemplate, comment.Id), retrievedProject.Comments[1].Id.ToString()); Assert.AreEqual(comment.Created, retrievedProject.Comments[1].Created); Assert.AreEqual(comment.Creator, retrievedProject.Comments[1].Creator); Assert.AreEqual(comment.Text, retrievedProject.Comments[1].Text); Assert.AreEqual(comment.CommentType, retrievedProject.Comments[1].Type); Assert.AreEqual(comment.MarkIn, retrievedProject.Comments[1].MarkIn); Assert.AreEqual(comment.MarkOut, retrievedProject.Comments[1].MarkOut); Assert.AreEqual(string.Format(IdUrlTemplate, shotComment.Id), retrievedProject.Comments[0].Id.ToString()); Assert.AreEqual(shotComment.Created, retrievedProject.Comments[0].Created); Assert.AreEqual(shotComment.Creator, retrievedProject.Comments[0].Creator); Assert.AreEqual(shotComment.Text, retrievedProject.Comments[0].Text); Assert.AreEqual(shotComment.CommentType, retrievedProject.Comments[0].Type); Assert.AreEqual(shotComment.MarkIn, retrievedProject.Comments[0].MarkIn); Assert.AreEqual(shotComment.MarkOut, retrievedProject.Comments[0].MarkOut); Assert.AreEqual(string.Format(IdUrlTemplate, item.Id), retrievedProject.Sequences[0].Tracks[0].Shots[0].Source.Id.ToString()); Assert.AreEqual(item.Title, retrievedProject.Sequences[0].Tracks[0].Shots[0].Source.Title); Assert.AreEqual(item.Description, retrievedProject.Sequences[0].Tracks[0].Shots[0].Source.Description); Assert.IsInstanceOfType(retrievedProject.Sequences[0].Tracks[0].Shots[0].Source, typeof(VideoItem)); Assert.AreEqual(string.Format(IdUrlTemplate, item.Resources.First().Id), retrievedProject.Sequences[0].Tracks[0].Shots[0].Source.Resources[0].Id.ToString()); Assert.AreEqual(item.Resources.First().Ref, retrievedProject.Sequences[0].Tracks[0].Shots[0].Source.Resources[0].Ref); Assert.AreEqual(item.Resources.First().VideoFormat.Duration, ((VideoItem)retrievedProject.Sequences[0].Tracks[0].Shots[0].Source).Duration); Assert.AreEqual(item.Resources.First().VideoFormat.FrameRate, ((VideoItem)retrievedProject.Sequences[0].Tracks[0].Shots[0].Source).FrameRate.ToString()); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionX, ((VideoItem)retrievedProject.Sequences[0].Tracks[0].Shots[0].Source).Width); Assert.AreEqual(item.Resources.First().VideoFormat.ResolutionY, ((VideoItem)retrievedProject.Sequences[0].Tracks[0].Shots[0].Source).Height); Assert.AreEqual(1, retrievedProject.Titles.Count); Assert.AreEqual(string.Format(IdUrlTemplate, title.Id), retrievedProject.Titles[0].Id.ToString()); Assert.AreEqual(title.MainText, retrievedProject.Titles[0].TextBlockCollection[0].Text); Assert.AreEqual(title.SubText, retrievedProject.Titles[0].TextBlockCollection[1].Text); Assert.AreEqual(title.TrackMarkIn, retrievedProject.Titles[0].TrackAnchor.MarkIn); Assert.AreEqual(title.TrackMarkOut, retrievedProject.Titles[0].TrackAnchor.MarkOut); Assert.AreEqual(string.Format(IdUrlTemplate, title.TitleTemplate.Id), retrievedProject.Titles[0].TitleTemplate.Id.ToString()); Assert.AreEqual(title.TitleTemplate.TemplateName, retrievedProject.Titles[0].TitleTemplate.TemplateName); } }
/// <summary> /// Converts a <see cref="SqlContainer"/> into a <seealso cref="Container"/>. /// </summary> /// <param name="sqlContainer">The <see cref="SqlContainer"/> being converted.</param> /// <returns>A new <see cref="Container"/> that contains equivalent values from the <paramref name="sqlContainer"/>.</returns> public static Container ConvertToContainer(SqlContainer sqlContainer) { return(ConvertToContainer(sqlContainer, null, 0)); }
/// <summary> /// Asserts that the <paramref name="sqlContainer"/> contains equivalent values from the <paramref name="container"/>. /// </summary> /// <param name="container">The container with expected values.</param> /// <param name="sqlContainer">The container with actual values.</param> public static void AssertContainer(Container container, SqlContainer sqlContainer) { Assert.AreEqual(container.Title, sqlContainer.Title); Assert.AreEqual(container.Items.Count, sqlContainer.Items.Count); }
/// <summary> /// Asserts that the <paramref name="container"/> contains equivalent values from the <paramref name="sqlContainer"/>. /// </summary> /// <param name="sqlContainer">The container with expected values.</param> /// <param name="container">The container with actual values.</param> public static void AssertContainer(SqlContainer sqlContainer, Container container) { AssertContainer(sqlContainer, container, sqlContainer.Items.Count); }