public void Push_2_Is2() { var reversibles = new ReversibleStack(); var value = new Value(); reversibles.Push(new Add1(value)); reversibles.Push(new Add1(value)); Assert.AreEqual(2, value.Number); }
public void Push_3WithMaxCountOf2_Is1() { var reversibles = new ReversibleStack(2); var value = new Value(); reversibles.Push(new Add1(value)); reversibles.Push(new Add1(value)); reversibles.Push(new Add1(value)); reversibles.Undo(); reversibles.Undo(); reversibles.Undo(); Assert.AreEqual(1, value.Number); }
public void Push_InMiddleOfStack_RemovesLaterReversibles() { var reversibles = new ReversibleStack(); var value = new Value(); reversibles.Push(new Add1(value)); reversibles.Push(new Add1(value)); reversibles.Push(new Add1(value)); reversibles.Undo(); reversibles.Undo(); reversibles.Push(new Add1(value)); reversibles.Redo(); reversibles.Redo(); Assert.AreEqual(2, value.Number); }
public void PushUndo_Is0() { var reversibles = new ReversibleStack(); var value = new Value(); reversibles.Push(new Add1(value)); reversibles.Undo(); Assert.AreEqual(0, value.Number); }