public void Remove_persisted_entity2() { MockEntity entity = new MockEntity(); MockEntityTwo persistedLocation = new MockEntityTwo() { id = int.MaxValue }; persistedLocation.MarkPersisted(); MockEntityOne persistedContract = new MockEntityOne() { id = int.MinValue }; persistedContract.MarkPersisted(); MockEntity persistedServiceContractSiteContact = new MockEntity() { IsDeleted = true }; persistedServiceContractSiteContact.MarkPersisted(); entity.RelationalEntities.Add(persistedServiceContractSiteContact); DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity>(1, entity, () => entity.RelationalEntities, null, null, null, (o, ae) => true, (e1, ae) => true, (e2, ae) => true); MockEntity removed = manager.Remove(persistedLocation).Single(); Assert.AreEqual(1, entity.RelationalEntities.Count); Assert.AreEqual(persistedServiceContractSiteContact, removed); Assert.IsTrue(removed.IsDeleted); }
public void EntityCreatedEventShouldBeAdded() { //When var mockEntity = new MockEntityOne(); //Then Assert.True(mockEntity.AllEvents.Any(eventStream => eventStream.GetType() == typeof(EntityCreated)), "EntityCreated event not added"); }
public void EntityShouldBePersisted() { //Given var mockEntity = new MockEntityOne(); //When mockEntity.ApplyEventChanges(); //Then Assert.False(mockEntity.IsTransient()); }
public void FooItemShouldBeAdded() { //Given var mockEntity = new MockEntityOne(); mockEntity.AddFoos("foo1"); mockEntity.AddFoos("foo2"); //When mockEntity.ApplyEventChanges(); //Then Assert.True(mockEntity.Foos.Contains("foo1") && mockEntity.Foos.Contains("foo2")); }
public void EntityShouldBeCopied() { var mockEntity = new MockEntityOne(); mockEntity.ApplyEventChanges(); var events = new List <EventStream>(mockEntity.AllEvents); var copiedMockEntity = new MockEntityOne(); copiedMockEntity.LoadFromHistory(events); Assert.True(copiedMockEntity == mockEntity); }
public void CopiedEntityAndOriginalEntityShouldHaveTheSameEvents() { var mockEntity = new MockEntityOne(); mockEntity.AddFoos("foo1"); mockEntity.SetBar(2); mockEntity.ApplyEventChanges(); var events = new List <EventStream>(mockEntity.AllEvents); var copiedMockEntity = new MockEntityOne(); copiedMockEntity.LoadFromHistory(events); Assert.True(copiedMockEntity.AllEvents .Any(eventStream => eventStream.GetType() == typeof(FoosAdded)), "FoosAdded event is not in the copiedMockEntity"); }
public void CopiedEntityShouldHaveHigherVersionThanTheOriginalEntity() { var mockEntity = new MockEntityOne(); mockEntity.AddFoos("foo1"); mockEntity.AddFoos("foo2"); mockEntity.SetBar(2); mockEntity.ApplyEventChanges(); var events = new List <EventStream>(mockEntity.AllEvents); var copiedMockEntity = new MockEntityOne(); copiedMockEntity.LoadFromHistory(events); Assert.True(mockEntity.Version < copiedMockEntity.Version); }
public void Remove_new_entity2() { MockEntity entity = new MockEntity(); MockEntityTwo newLocation = new MockEntityTwo() { id = int.MaxValue }; MockEntityOne newContract = new MockEntityOne() { id = int.MinValue }; MockEntity newServiceContractSiteContact = new MockEntity() { IsDeleted = true }; entity.RelationalEntities.Add(newServiceContractSiteContact); DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntityOne, MockEntityTwo, MockEntity>(1, entity, () => entity.RelationalEntities, null, null, null, (o, ae) => true, (e1, ae) => true, (e2, ae) => true); MockEntity removed = manager.Remove(newContract).Single(); Assert.AreEqual(0, entity.RelationalEntities.Count); Assert.AreEqual(newServiceContractSiteContact, removed); }