Exemple #1
0
        public void Should_undo_redo_whole_batch()
        {
            var circles = new Circle[10];

            for (int i = 0; i < circles.Length; i++)
            {
                circles[i] = new Circle();
            }

            m.Batch(() => {
                foreach (Circle circle in circles)
                {
                    circle.Radius = 5;
                    circle.Center = new Point(5, 5);
                }
            });
            UndoCount(1);

            m.Undo();
            foreach (Circle circle in circles)
            {
                Assert.AreEqual(0, circle.Radius);
                Assert.AreEqual(new Point(0, 0), circle.Center);
            }
            RedoCount(1);

            m.Redo();
            foreach (Circle circle in circles)
            {
                Assert.AreEqual(5, circle.Radius);
                Assert.AreEqual(new Point(5, 5), circle.Center);
            }
        }
 private void ClearUnselected()
 {
     Mementor.Batch(() =>
     {
         for (int i = FilePaths.Count - 1; i >= 0; i--)
         {
             if (!FilePaths[i].FileIsSelected)
             {
                 Mementor.ElementRemove(FilePaths, FilePaths[i]);
                 FilePaths.Remove(FilePaths[i]);
             }
         }
     });
 }