public void Add_new_entity2() { int userId = 1; bool isSetEntity1ForeignEntityActionCalled = false; bool isSetEntity2ForeignEntityActionCalled = false; Action <IDbEntity, MockEntity, MockEntity> setEntity1ForeignEntity = (o, e1, ae) => { isSetEntity1ForeignEntityActionCalled = true; }; Action <IDbEntity, MockEntity, MockEntity> setEntity2ForeignEntity = (o, e2, ae) => { isSetEntity2ForeignEntityActionCalled = true; }; MockEntity entity = new MockEntity(); DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity>(userId, entity, () => entity.RelationalEntities, setEntity1ForeignEntity, setEntity2ForeignEntity, (o, e1, e2, ae) => { }, null, null, null); MockEntity newLocation = new MockEntity() { id = int.MaxValue }; MockEntity persistedContract = new MockEntity() { id = int.MinValue }; persistedContract.MarkPersisted(); MockEntity added = manager.Add(persistedContract, newLocation); Assert.IsFalse(isSetEntity1ForeignEntityActionCalled); Assert.IsTrue(isSetEntity2ForeignEntityActionCalled); }
public void Add_new_entities() { int userId = 1; bool isSetForeignKeysActionCalled = false; bool isSetEntity1ForeignEntityActionCalled = false; bool isSetEntity2ForeignEntityActionCalled = false; Action <IDbEntity, MockEntity, MockEntity, MockEntity> setForeignKeys = (o, e1, e2, ae) => { isSetForeignKeysActionCalled = true; }; Action <IDbEntity, MockEntity, MockEntity> setEntity1ForeignEntity = (o, e1, ae) => { isSetEntity1ForeignEntityActionCalled = true; }; Action <IDbEntity, MockEntity, MockEntity> setEntity2ForeignEntity = (o, e2, ae) => { isSetEntity2ForeignEntityActionCalled = true; }; MockEntity entity = new MockEntity(); DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity>(userId, entity, () => entity.RelationalEntities, setEntity1ForeignEntity, setEntity2ForeignEntity, setForeignKeys, null, null, null); MockEntity newLocation = new MockEntity() { id = int.MaxValue }; MockEntity newContract = new MockEntity() { id = int.MinValue }; MockEntity added = manager.Add(newContract, newLocation); Assert.AreEqual(1, entity.RelationalEntities.Count); Assert.AreEqual(added, entity.RelationalEntities.First()); Assert.IsTrue(isSetEntity1ForeignEntityActionCalled); Assert.IsTrue(isSetEntity2ForeignEntityActionCalled); Assert.IsTrue(isSetForeignKeysActionCalled); Assert.IsFalse(added.IsDeleted); Assert.AreEqual(userId, added.CreatedByID); }
public void ReAdd_previously_deleted_entity() { bool isSetForeignKeysActionCalled = false; bool isSetEntity1ForeignEntityActionCalled = false; bool isSetEntity2ForeignEntityActionCalled = false; Action <IDbEntity, MockEntity, MockEntity, MockEntity> setForeignKeys = (o, e1, e2, ae) => { isSetForeignKeysActionCalled = true; }; Action <IDbEntity, MockEntity, MockEntity> setEntity1ForeignEntity = (o, e1, ae) => { isSetEntity1ForeignEntityActionCalled = true; }; Action <IDbEntity, MockEntity, MockEntity> setEntity2ForeignEntity = (o, e2, ae) => { isSetEntity2ForeignEntityActionCalled = true; }; MockEntity entity = new MockEntity(); DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity> manager = new DualDbEntityAssociativeCollectionManager <MockEntity, MockEntity, MockEntity>(1, entity, () => entity.RelationalEntities, setEntity1ForeignEntity, setEntity2ForeignEntity, setForeignKeys, (o, ae) => true, (e1, ae) => true, (e2, ae) => true); MockEntity persistedLocation = new MockEntity() { id = int.MaxValue }; persistedLocation.MarkPersisted(); MockEntity persistedContract = new MockEntity() { id = int.MinValue }; persistedContract.MarkPersisted(); MockEntity persistedServiceContractSiteContact = new MockEntity() { IsDeleted = true }; persistedServiceContractSiteContact.MarkPersisted(); entity.RelationalEntities.Add(persistedServiceContractSiteContact); MockEntity added = manager.Add(persistedContract, persistedLocation); Assert.AreEqual(1, entity.RelationalEntities.Count); Assert.AreEqual(added, persistedServiceContractSiteContact); Assert.IsFalse(isSetEntity1ForeignEntityActionCalled); Assert.IsFalse(isSetEntity2ForeignEntityActionCalled); Assert.IsFalse(isSetForeignKeysActionCalled); Assert.IsFalse(added.IsDeleted); }