コード例 #1
0
        public void Subtitle_IsOriginal_WhenActionUndone()
        {
            var subtitle         = SubtitleContainer.GetSubtitleFromFile(SubtitleContainer.ValidSubtitleName);
            var offset           = TimeSpan.FromSeconds(1);
            var timeOffsetAction = new SubtitleTimeOffsetAction(offset, subtitle);

            var originalStartTimes = subtitle.Items.Select(s => s.StartTime).ToArray();
            var originalEndTimes   = subtitle.Items.Select(s => s.EndTime).ToArray();

            timeOffsetAction.PerformAction();
            timeOffsetAction.UndoAction();

            var newStartTimes = subtitle.Items.Select(s => s.StartTime).ToArray();
            var newEndTimes   = subtitle.Items.Select(s => s.EndTime).ToArray();

            for (var i = 0; i < originalStartTimes.Length; i++)
            {
                var originalTime = originalStartTimes[i];
                var newTime      = newStartTimes[i];

                Assert.True(newTime == originalTime);
            }

            for (var i = 0; i < originalEndTimes.Length; i++)
            {
                var originalTime = originalEndTimes[i];
                var newTime      = newEndTimes[i];

                Assert.True(newTime == originalTime);
            }
        }
コード例 #2
0
        public void SubtitleAction_UndoAction_DoesCallback()
        {
            var validSubtitle  = SubtitleContainer.GetSubtitleFromFile(SubtitleContainer.ValidSubtitleName);
            var subtitleAction = new SubtitleTimeOffsetAction(TimeSpan.FromSeconds(1), validSubtitle);
            var didCallback    = false;

            subtitleAction.PerformAction();
            subtitleAction.UndoAction(() => didCallback = true);

            Assert.True(didCallback);
        }