Ejemplo n.º 1
0
        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.");
        }
        public void ShouldIncludeChangeToDoubleDerivedProperty()
        {
            var detector = new DoubleDerivedChangeDetector();
            var tracker  = new EntityChangeTracker <TestEntity>(detector);
            DoubleDerivedEntity entity = new DoubleDerivedEntity()
            {
                DoubleDerivedValue = "John"
            };

            tracker.Attach(entity);

            entity.DoubleDerivedValue = "Tom";

            var changes = tracker.DetectChanges();

            Assert.AreEqual(1, changes.Count(), "The wrong number of changes were detected.");
            IEntityChange <TestEntity> change = changes.Single();

            Assert.AreSame(entity, change.Entity, "A change was detected on the wrong entity.");
            Assert.AreEqual(EntityState.Modified, change.State, "The entity should have been modified.");
            Assert.AreEqual(1, change.GetChanges().Count(), "The wrong number of properties were seen as changed.");
        }