public void ShouldDetectChangeToDerivedProperty_OriginalNull() { var detector = new DerivedChangeDetector(); DerivedEntity original = null; DerivedEntity updated = new DerivedEntity() { DerivedValue = 234 }; var changes = detector.GetChanges(original, updated); Assert.AreEqual(1, changes.Count(), "The wrong number of changes were detected."); IPropertyChange change = changes.Single(); Assert.AreEqual(DerivedChangeDetector.DerivedDescription, change.DisplayName, "The wrong property was recorded."); Assert.AreEqual(null, change.FormatOriginalValue(), "The old value was not recorded."); Assert.AreEqual(Formatters.FormatInt32(updated.DerivedValue), change.FormatUpdatedValue(), "The new value was not recorded."); }
public void ShouldDetectChange_UpdatedNull() { var detector = new TestEntityChangeDetector(); TestEntity original = new TestEntity() { StringValue = "After" }; TestEntity updated = null; Assert.IsTrue(detector.HasChange(a => a.StringValue, original, updated), "No change detected for the property."); var changes = detector.GetChanges(original, updated); Assert.AreEqual(1, changes.Count(), "The wrong number of changes were detected."); IPropertyChange change = changes.Single(); Assert.AreEqual(TestEntityChangeDetector.StringDescription, change.DisplayName, "The wrong property was recorded."); Assert.AreEqual(Formatters.FormatString(original.StringValue), change.FormatOriginalValue(), "The old value was not recorded."); Assert.AreEqual(null, change.FormatUpdatedValue(), "The new value was not recorded."); }
public void ShouldIncludeChangeToDoubleDerivedProperty() { var detector = new DoubleDerivedChangeDetector(); DoubleDerivedEntity original = new DoubleDerivedEntity() { DoubleDerivedValue = "John" }; DoubleDerivedEntity updated = new DoubleDerivedEntity() { DoubleDerivedValue = "Tom" }; var changes = detector.GetChanges(original, updated); Assert.AreEqual(1, changes.Count(), "The wrong number of changes were detected."); IPropertyChange change = changes.Single(); Assert.AreEqual(DoubleDerivedChangeDetector.DoubleDerivedDescription, change.DisplayName, "The wrong property was recorded."); Assert.AreEqual(Formatters.FormatString(original.DoubleDerivedValue), change.FormatOriginalValue(), "The old value was not recorded."); Assert.AreEqual(Formatters.FormatString(updated.DoubleDerivedValue), change.FormatUpdatedValue(), "The new value was not recorded."); }