public async Task SeekTo_NegativePosition_SeeksToZero()
        {
            SetupSeek(TimeSpan.Zero);

            Duration = TimeSpan.Zero;

            var playbackController = new PlaybackController(MediaManager);

            await playbackController.SeekTo(-1f);

            _mediaManagerMock
            .Verify(mediaManager => mediaManager.Seek(TimeSpan.Zero), Times.Once);
        }
        public async Task SeekTo_PositionGreaterThanDuration_SeeksToEnd()
        {
            var duration = TimeSpan.FromSeconds(5);

            SetupSeek(duration);

            Duration = duration;

            var playbackController = new PlaybackController(MediaManager);

            await playbackController.SeekTo(10);

            _mediaManagerMock
            .Verify(mediaManager => mediaManager.Seek(duration));
        }
        public async Task SeekTo_PositionBetweenStartAndEnd_SeeksToPosition()
        {
            var secondsToSeekTo  = 5;
            var positionToSeekTo = TimeSpan.FromSeconds(secondsToSeekTo);

            SetupSeek(positionToSeekTo);

            Duration = TimeSpan.FromSeconds(10);

            var playbackController = new PlaybackController(MediaManager);

            await playbackController.SeekTo(secondsToSeekTo);

            _mediaManagerMock
            .Verify(mediaManager => mediaManager.Seek(positionToSeekTo), Times.Once);
        }