public void Should_undo_redo_property_change() { var c = new Circle(); for (int i = 0; i < 10; i++) { c.Radius = i + 1; UndoCount(i + 1).RedoCount(0); } for (int i = 9; i >= 0; i--) { m.Undo(); Assert.AreEqual(i, c.Radius); UndoCount(i).RedoCount(9 - i + 1); } for (int i = 0; i < 10; i++) { m.Redo(); Assert.AreEqual(i + 1, c.Radius); UndoCount(i + 1).RedoCount(9 - i); } }