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); }
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); }