public void Test() { var originator = new Originator(); originator.SaveCheckpoint(); originator.IncreaseY(); originator.DecreaseX(); originator.SaveCheckpoint(); originator.UpdateX(2); originator.SaveCheckpoint(); originator.UpdateX(3); originator.IncreaseY(); Assert.AreEqual <int>(3, originator.Current.X); Assert.AreEqual <int>(2, originator.Current.Y); originator.Undo(); Assert.AreEqual <int>(2, originator.Current.X); Assert.AreEqual <int>(1, originator.Current.Y); originator.Undo(); Assert.AreEqual <int>(-1, originator.Current.X); Assert.AreEqual <int>(1, originator.Current.Y); }
public void Test1() { Originator ori = new Originator(); ori.SaveCheckpoint(); // x = 0, y = 0 ori.IncreaseY(); ori.DecreaseX(); ori.SaveCheckpoint(); // x = -1, y = 1 ori.UpdateX(2); ori.SaveCheckpoint(); // x = 2, y = 1 ori.UpdateX(3); ori.IncreaseY(); // x = 3, y = 1 Assert.AreEqual(3, ori.Current.X); Assert.AreEqual(2, ori.Current.Y); ori.Undo(); Assert.AreEqual(2, ori.Current.X); Assert.AreEqual(1, ori.Current.Y); ori.Undo(); Assert.AreEqual(-1, ori.Current.X); Assert.AreEqual(1, ori.Current.Y); }
public void Test() { Originator originator = new Originator(); // 保存原发器刚初始化后的状态 originator.SaveCheckpoint(); // 对原发器进行操作,验证状态的修改 originator.IncreaseY(); originator.DecreaseX(); // 确认备忘录的恢复作用 originator.Undo(); Assert.AreEqual <int>(0, originator.Current.Y); Assert.AreEqual <int>(0, originator.Current.X); }
public void Test1() { Originator ori = new Originator(); Assert.AreEqual(0, ori.Current.Y); Assert.AreEqual(0, ori.Current.X); IMemento <Position> m1 = ori.Memento; ori.IncreaseY(); ori.DecreaseX(); Assert.AreEqual(1, ori.Current.Y); Assert.AreEqual(-1, ori.Current.X); ori.Memento = m1; Assert.AreEqual(0, ori.Current.Y); Assert.AreEqual(0, ori.Current.X); }
public void Test() { var originator = new Originator(); Assert.AreEqual <int>(0, originator.Current.Y); Assert.AreEqual <int>(0, originator.Current.X); // 保存发起者刚初始化的状态 var m1 = originator.Memento; // 对发起者进行操作,验证状态的修改 originator.IncreaseY(); originator.DecreaseX(); Assert.AreEqual <int>(1, originator.Current.Y); Assert.AreEqual <int>(-1, originator.Current.X); // 确认备忘录的恢复作用 originator.Memento = m1; Assert.AreEqual <int>(0, originator.Current.Y); Assert.AreEqual <int>(0, originator.Current.X); }
public void Test() { Originator originator = new Originator(); Assert.AreEqual <int>(0, originator.Current.Y); Assert.AreEqual <int>(0, originator.Current.X); // 保存原发器刚初始化后的状态 IMemento <Position> m1 = originator.Memento; // 对原发器进行操作,验证状态的修改 originator.IncreaseY(); originator.DecreaseX(); Assert.AreEqual <int>(1, originator.Current.Y); Assert.AreEqual <int>(-1, originator.Current.X); // 确认备忘录的恢复作用 originator.Memento = m1; Assert.AreEqual <int>(0, originator.Current.Y); Assert.AreEqual <int>(0, originator.Current.X); }
public void Test() { Originator originator = new Originator(); // 保存原发器刚初始化后的状态 originator.SaveCheckpoint(); // x = 0, y = 0 // 对原发器进行修改 1 originator.IncreaseY(); originator.DecreaseX(); originator.SaveCheckpoint(); // x = -1, y = 1 // 对原发器进行修改 2 originator.UpdateX(2); originator.SaveCheckpoint(); // x = 2, y = 1 // 对原发器进行修改 3 originator.UpdateX(3); originator.IncreaseY(); // x = 3, y = 2 // 确认Undo前的状态 Assert.AreEqual <int>(3, originator.Current.X); Assert.AreEqual <int>(2, originator.Current.Y); // 确认备忘录的栈式恢复作用——恢复到修改 originator.Undo(); Assert.AreEqual <int>(2, originator.Current.X); Assert.AreEqual <int>(1, originator.Current.Y); // 确认备忘录的栈式恢复作用——恢复到修改1 originator.Undo(); Assert.AreEqual <int>(-1, originator.Current.X); Assert.AreEqual <int>(1, originator.Current.Y); }