示例#1
0
        private (EditorChangeHandler, EditorBeatmap) createChangeHandler()
        {
            var beatmap = new EditorBeatmap(new Beatmap());

            var changeHandler = new EditorChangeHandler(beatmap);

            changeHandler.OnStateChange += () => stateChangedFired++;
            return(changeHandler, beatmap);
        }
        public void TestSaveRestoreState()
        {
            var handler = new EditorChangeHandler(new EditorBeatmap(new Beatmap()));

            Assert.That(handler.HasUndoState, Is.False);

            handler.SaveState();

            Assert.That(handler.HasUndoState, Is.True);

            handler.RestoreState(-1);

            Assert.That(handler.HasUndoState, Is.False);
        }
        private (EditorChangeHandler, EditorBeatmap) createChangeHandler()
        {
            var beatmap = new EditorBeatmap(new OsuBeatmap
            {
                BeatmapInfo =
                {
                    Ruleset = new OsuRuleset().RulesetInfo,
                },
            });

            var changeHandler = new EditorChangeHandler(beatmap);

            changeHandler.OnStateChange += () => stateChangedFired++;
            return(changeHandler, beatmap);
        }
示例#4
0
        public void TestMaxStatesExceeded()
        {
            var handler = new EditorChangeHandler(new EditorBeatmap(new Beatmap()));

            Assert.That(handler.CanUndo.Value, Is.False);

            for (int i = 0; i < EditorChangeHandler.MAX_SAVED_STATES * 2; i++)
            {
                handler.SaveState();
            }

            Assert.That(handler.CanUndo.Value, Is.True);

            for (int i = 0; i < EditorChangeHandler.MAX_SAVED_STATES; i++)
            {
                Assert.That(handler.CanUndo.Value, Is.True);
                handler.RestoreState(-1);
            }

            Assert.That(handler.CanUndo.Value, Is.False);
        }