public void Test_Get_Video_Clip_Details() { // Arrange var videoReel = new VideoReel() { VideoDefinition = VideoDefinition.HD, VideoStandard = VideoStandard.NTSC, Name = "Video Two", TotalDuration = Timecode.Subtract(Timecode.FromString("00:00:20:10", FrameRate.FPS30), Timecode.FromString("00:00:00:00", FrameRate.FPS30)).ToString(), Id = 1, VideoClips = new List <VideoClip>() { DataHelper.GetaNTSCHDVideoClip() } }; this._videoClipService.Setup(x => x.GetClip(3)).Returns(DataHelper.GetaPALHDVideoClip()); var viewModel = new VideoReelAddViewModel(this._videoReelService.Object, this._videoClipService.Object); viewModel.GetVideoClipDetails(3); Assert.AreEqual(viewModel.VideoClip.Id, 3); Assert.AreEqual(viewModel.VideoClip.VideoStandard, VideoStandard.PAL); Assert.AreEqual(viewModel.VideoClip.VideoDefinition, VideoDefinition.HD); Assert.AreEqual(viewModel.VideoClip.Description, "Video Promo"); Assert.AreEqual(viewModel.VideoClip.Name, "Captain America: The First Avenger"); }
public void Test_Add_NTSC_HD_VideoClip_To_A_PAL_HD_VideoReel() { // Arrange var videoReel = new VideoReel() { VideoDefinition = VideoDefinition.HD, VideoStandard = VideoStandard.PAL, Name = "Video Two", TotalDuration = Timecode.Subtract(Timecode.FromString("00:00:20:10", FrameRate.FPS25), Timecode.FromString("00:00:00:00", FrameRate.FPS25)).ToString(), Id = 1, VideoClips = new List <VideoClip>() { DataHelper.GetaPALHDVideoClip() } }; this._videoClipService.Setup(x => x.GetClip(4)).Returns(DataHelper.GetaNTSCHDVideoClip()); // Act var viewModel = new VideoReelAddViewModel(this._videoReelService.Object, this._videoClipService.Object); var result = viewModel.AddClipToReel(videoReel, 4); viewModel.VideoClip = DataHelper.GetaNTSCHDVideoClip(); // Assert Assert.AreEqual(viewModel.CanAddClipToReel, false); Assert.AreEqual(viewModel.ErrorMessage, "Add failed.Video Standards do not match."); Assert.IsFalse(result); this._videoClipService.VerifyAll(); }
public void Test_Add_PAL_HD_VideoClip_To_A_PAL_HD_VideoReel() { // Arrange var videoReel = new VideoReel() { VideoDefinition = VideoDefinition.HD, VideoStandard = VideoStandard.PAL, Name = "Video Two", TotalDuration = Timecode.Subtract(Timecode.FromString("00:00:20:10", FrameRate.FPS25), Timecode.FromString("00:00:00:00", FrameRate.FPS25)).ToString(), Id = 1, VideoClips = new List <VideoClip>() { DataHelper.GetaPALHDVideoClip() } }; this._videoClipService.Setup(x => x.GetClip(3)) .Returns( new VideoClip() { Id = 4, Name = "Captain America: The First Avenger New", Description = "Video Promo", VideoStandard = VideoStandard.PAL, VideoDefinition = VideoDefinition.HD, StartTime = "00:00:00:00", EndTime = "00:00:20:10" }); this._videoReelService.Setup(x => x.GetClipsForaReel(It.IsAny <int>())).Returns(new List <VideoClip>() { DataHelper.GetaPALHDVideoClip() }); var viewModel = new VideoReelAddViewModel(this._videoReelService.Object, this._videoClipService.Object); viewModel.VideoClips = new List <VideoClip>() { DataHelper.GetaPALHDVideoClip() }; viewModel.VideoClip = new VideoClip() { Id = 4, Name = "Captain America: The First Avenger New", Description = "Video Promo", VideoStandard = VideoStandard.PAL, VideoDefinition = VideoDefinition.HD, StartTime = "00:00:00:00", EndTime = "00:00:20:10" }; // Act var result = viewModel.AddClipToReel(videoReel, 3); // Assert Assert.AreEqual(viewModel.CanAddClipToReel, true); Assert.AreEqual(viewModel.ErrorMessage, string.Empty); Assert.IsTrue(result); }
private string CalculateDuration(VideoReel videoReel) { Timecode timeCode = Timecode.FromString("00:00:00:00", videoReel.VideoStandard.FrameRate().ToFrameRate()); foreach (var videoClip in videoReel.VideoClips) { if (timeCode != null) { timeCode = Timecode.Add(timeCode, Timecode.Subtract( Timecode.FromString(videoClip.EndTime, videoClip.VideoStandard.FrameRate().ToFrameRate()), Timecode.FromString(videoClip.StartTime, videoClip.VideoStandard.FrameRate().ToFrameRate()))); } else { timeCode = Timecode.Subtract( Timecode.FromString(videoClip.EndTime, videoClip.VideoStandard.FrameRate().ToFrameRate()), Timecode.FromString(videoClip.StartTime, videoClip.VideoStandard.FrameRate().ToFrameRate())); } } return(videoReel.TotalDuration = timeCode.ToString()); }