public void service_on_clear_generate_valid_advisory() { ChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); p.Add(new Person(null, false)); p.Add(new Person(null, false)); p.Add(new Person(null, false)); p.Add(new Person(null, false)); p.Add(new Person(null, false)); svc.AcceptChanges(); p.Clear(); IEnumerable <IAdvisedAction> advisory = svc.GetAdvisory(); Assert.IsNotNull(advisory); Assert.AreEqual <int>(5, advisory.Count()); foreach (var aa in advisory) { Assert.AreEqual <ProposedActions>(ProposedActions.Delete, aa.Action); } }
public void after_acceptChanges_service_canRedo_is_false() { ChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); p.Add(new Person(null, false)); svc.AcceptChanges(); Assert.IsFalse(svc.CanRedo); }
public void after_acceptChanges_entity_is_no_more_changed() { EntityTrackingStates expected = EntityTrackingStates.None; ChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); p.Add(new Person(null, false)); svc.AcceptChanges(); EntityTrackingStates actual = svc.GetEntityState(p); Assert.AreEqual <EntityTrackingStates>(expected, actual); }
public void changeTrackingService_using_atomicOperation_after_operation_complete_entityState_should_be_changed() { var target = new ChangeTrackingService(); var person = new Person(target); target.AcceptChanges(); using (var op = target.BeginAtomicOperation()) { person.Name = "Mauro"; op.Complete(); } var state = target.GetEntityState(person); var actual = (state & EntityTrackingStates.HasBackwardChanges) == EntityTrackingStates.HasBackwardChanges; actual.Should().Be.True(); }