public void unchangedEntity_service_getEntityState_is_None() { EntityTrackingStates expected = EntityTrackingStates.None; ChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); EntityTrackingStates actual = svc.GetEntityState(p); Assert.AreEqual <EntityTrackingStates>(expected, actual); }
public void entityMemento_ctor_requesting_transient_registration_using_base_iMemento_successfully_register_entity_as_transient() { EntityTrackingStates expected = EntityTrackingStates.IsTransient | EntityTrackingStates.AutoRemove; using (ChangeTrackingService svc = new ChangeTrackingService()) { var target = new FakeMementoEntity(true); ((IMemento)target).Memento = svc; EntityTrackingStates actual = svc.GetEntityState(target); actual.Should().Be.EqualTo(expected); } }
public void after_mutual_exclusive_actions_entity_state_is_HasBackwardChanges() { EntityTrackingStates expected = EntityTrackingStates.HasBackwardChanges; IChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); p.Add(new Person(svc, false)); p.RemoveAt(0); EntityTrackingStates actual = svc.GetEntityState(p); Assert.AreEqual <EntityTrackingStates>(expected, actual); }
public void after_add_GetEntityState_is_Changed() { EntityTrackingStates expected = EntityTrackingStates.HasBackwardChanges; ChangeTrackingService svc = new ChangeTrackingService(); PersonCollection p = new PersonCollection(svc); p.Add(new Person(svc, false)); p.Add(new Person(svc, false)); EntityTrackingStates actual = svc.GetEntityState(p); actual.Should().Be.EqualTo(expected); }
public void after_rejectChanges_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.RejectChanges(); EntityTrackingStates actual = svc.GetEntityState(p); Assert.AreEqual <EntityTrackingStates>(expected, actual); }
public void entityMemento_ctor_requesting_transient_registration_using_base_iMemento_to_suspended_memento_do_not_register_entity_as_transient() { EntityTrackingStates expected = EntityTrackingStates.None; using (var svc = new ChangeTrackingService()) { svc.Suspend(); var target = new FakeMementoEntity(true); ((IMemento)target).Memento = svc; EntityTrackingStates actual = svc.GetEntityState(target); actual.Should().Be.EqualTo(expected); } }
public void changeTrackingService_using_beginAtomicOperation_getEntityState_should_return_valid_entity_state() { var target = new ChangeTrackingService(); var person = new Person(target); var list = new PersonCollection(target); using (var op = target.BeginAtomicOperation()) { person.Name = "Mauro"; list.Add(person); person.Name = "Mauro Servienti"; op.Complete(); } var actual = target.GetEntityState(person); actual.Should().Be.EqualTo(EntityTrackingStates.HasBackwardChanges | EntityTrackingStates.IsTransient | EntityTrackingStates.AutoRemove); }
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(); }