public void ShouldUpdateMediaDataPosition1() { var aggregateMediaModel = CreateTestableAggregateMediaModel(); var timelineElement = new TimelineElement { Asset = new VideoAsset(), Position = TimeCode.FromSeconds(0d, SmpteFrameRate.Smpte2398), InPosition = TimeCode.FromSeconds(0d, SmpteFrameRate.Smpte2398), OutPosition = TimeCode.FromSeconds(600d, SmpteFrameRate.Smpte2398), }; var mockMediaData = new MockMediaData { MockedTimelineElement = timelineElement }; mockMediaData.Position = TimeSpan.FromSeconds(0); mockMediaData.In = TimeSpan.FromSeconds(timelineElement.InPosition.TotalSeconds); mockMediaData.Out = TimeSpan.FromSeconds(timelineElement.OutPosition.TotalSeconds); aggregateMediaModel.BaseMediaData.Add(mockMediaData); aggregateMediaModel.Position = TimeSpan.FromSeconds(300); Assert.AreEqual(aggregateMediaModel.Position, mockMediaData.Position); }
public void ShouldNotCallToPlayAndShowOnMediaWhenIsAlreadyPlaying() { var aggregateMediaModel = CreateTestableAggregateMediaModel(); var timelineElement = new TimelineElement { Asset = new VideoAsset() }; var mockMediaData = new MockMediaData { MockedTimelineElement = timelineElement, In = TimeSpan.FromSeconds(0), Out = TimeSpan.FromSeconds(300) }; aggregateMediaModel.BaseMediaData.Add(mockMediaData); Assert.IsFalse(mockMediaData.ShowCalled); aggregateMediaModel.Position = TimeSpan.FromSeconds(150); Assert.IsTrue(mockMediaData.ShowCalled); aggregateMediaModel.Play(); Assert.IsTrue(mockMediaData.PlayCalled); mockMediaData.PlayCalled = false; mockMediaData.ShowCalled = false; aggregateMediaModel.Play(); Assert.IsFalse(mockMediaData.PlayCalled); Assert.IsFalse(mockMediaData.ShowCalled); }
public void ShouldUpdateMediaDataPosition3() { var aggregateMediaModel = CreateTestableAggregateMediaModel(); var timelineElement1 = new TimelineElement { Asset = new VideoAsset(), Position = TimeCode.FromSeconds(0d, SmpteFrameRate.Smpte2398), InPosition = TimeCode.FromSeconds(0d, SmpteFrameRate.Smpte2398), OutPosition = TimeCode.FromSeconds(150d, SmpteFrameRate.Smpte2398), }; var mockMediaData1 = new MockMediaData { MockedTimelineElement = timelineElement1, Position = TimeSpan.FromSeconds(0), In = TimeSpan.FromSeconds(timelineElement1.InPosition.TotalSeconds), Out = TimeSpan.FromSeconds(timelineElement1.OutPosition.TotalSeconds) }; var timelineElement2 = new TimelineElement { Asset = new VideoAsset(), Position = TimeCode.FromSeconds(150d, SmpteFrameRate.Smpte2398), InPosition = TimeCode.FromSeconds(50d, SmpteFrameRate.Smpte2398), OutPosition = TimeCode.FromSeconds(600d, SmpteFrameRate.Smpte2398), }; var mockMediaData2 = new MockMediaData { MockedTimelineElement = timelineElement2, Position = TimeSpan.FromSeconds(0), In = TimeSpan.FromSeconds(timelineElement2.InPosition.TotalSeconds), Out = TimeSpan.FromSeconds(timelineElement2.OutPosition.TotalSeconds) }; aggregateMediaModel.BaseMediaData.Add(mockMediaData1); aggregateMediaModel.BaseMediaData.Add(mockMediaData2); aggregateMediaModel.Position = TimeSpan.FromSeconds(300); Assert.AreEqual(new TimeSpan(0, 3, 20), mockMediaData2.Position); }
public void ShouldRemoveElement() { var aggregateMediaModel = CreateTestableAggregateMediaModel(); var timelineElement = new TimelineElement { Asset = new VideoAsset() }; var mockMediaData = new MockMediaData { MockedTimelineElement = timelineElement }; aggregateMediaModel.BaseMediaData.Add(mockMediaData); var mediaData = aggregateMediaModel.RemoveElement(timelineElement); Assert.IsNotNull(mediaData); Assert.AreEqual(mockMediaData, mediaData); Assert.AreEqual(0, aggregateMediaModel.BaseMediaData.Count); }
public void ShouldCallToPauseOnMediaWhenPause() { var aggregateMediaModel = CreateTestableAggregateMediaModel(); var timelineElement = new TimelineElement { Asset = new VideoAsset() }; var mockMediaData = new MockMediaData { MockedTimelineElement = timelineElement, In = TimeSpan.FromSeconds(0), Out = TimeSpan.FromSeconds(300) }; aggregateMediaModel.BaseMediaData.Add(mockMediaData); aggregateMediaModel.Position = TimeSpan.FromSeconds(150); Assert.IsFalse(mockMediaData.PauseCalled); aggregateMediaModel.Pause(); Assert.IsTrue(mockMediaData.PauseCalled); }