Ejemplo n.º 1
0
        public void IsChangedTest()
        {
            var trackedObject = new StatefulClass {
                TheString = "One", TheInt = 1
            };
            var undoService = new UndoService <StatefulClassDto>(trackedObject.GetData, trackedObject.SetData, null);

            Assert.IsTrue(!undoService.IsStateChanged);

            trackedObject.TheString = "Two";
            undoService.RecordState();
            Assert.IsTrue(undoService.IsStateChanged);
            undoService.Undo();
            Assert.IsTrue(!undoService.IsStateChanged);
            undoService.Redo();
            Assert.IsTrue(undoService.IsStateChanged);
            undoService.ClearIsStateChangedFlag();
            Assert.IsTrue(!undoService.IsStateChanged);
            undoService.Undo();
            Assert.IsTrue(undoService.IsStateChanged);
            undoService.Redo();
            Assert.IsTrue(!undoService.IsStateChanged);
        }