public void ReturnsOneForBatchWithOneAction() { var model = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new PropertyChangeUndo(model, "Value", model.Value)); Assert.AreEqual(1, batch.ActionCount); }
public void ReturnsFalseForBatchWithOneAction() { var model = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new PropertyChangeUndo(model, "Value", model.Value)); Assert.IsFalse(batch.IsEmptyBatch); }
public void SetsValuesCorrectly() { var obj = new Mocks.MockModel(); var tag = "MyTag"; var service = new MementoService(); var observer = new ObjectObserver(obj, tag, service); Assert.AreEqual(tag, observer.Tag); }
public void ReturnsTrueForBatchWithOneAction() { var model = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new PropertyChangeUndo(model, "Value", model.Value)); Assert.IsTrue(batch.IsSingleActionBatch); }
public void IsFalseWhenNoActionsCanRedo() { var model1 = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new ActionUndo(model1, () => model1.Value = "Value")); Assert.IsFalse(batch.CanRedo); }
public void ReturnsFalseForBatchWithMultipleActions() { var model1 = new Mocks.MockModel(); var model2 = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new PropertyChangeUndo(model1, "Value", model1.Value)); batch.AddAction(new PropertyChangeUndo(model2, "Value", model2.Value)); Assert.IsFalse(batch.IsEmptyBatch); }
public void IsTrueWhenAtLeastOneActionCanRedo() { var model1 = new Mocks.MockModel(); var model2 = new Mocks.MockModel(); var batch = new Batch(); batch.AddAction(new PropertyChangeUndo(model1, "Value", model1.Value)); batch.AddAction(new PropertyChangeUndo(model2, "Value", model2.Value)); Assert.IsTrue(batch.CanRedo); }
public void CorrectlyIgnoresDuplicatePropertyChangesWithEqualValues() { var obj = new Mocks.MockModel(); var service = new MementoService(); var observer = new ObjectObserver(obj, mementoService: service); Assert.AreEqual(0, service.UndoBatches.Count()); obj.Value = "A"; Assert.AreEqual(1, service.UndoBatches.Count()); obj.Value = "A"; Assert.AreEqual(1, service.UndoBatches.Count()); }