public void Remove_new_entity()
        {
            int        userId    = 1;
            MockEntity newEntity = new MockEntity();
            MockEntity entity    = new MockEntity();

            entity.RelationalEntities.Add(newEntity);

            ForeignEntityCollectionManager <MockEntity> manager = new ForeignEntityCollectionManager <MockEntity>(userId, entity, () => entity.RelationalEntities, null);

            MockEntity removed = manager.Remove(newEntity);

            Assert.AreEqual(0, entity.RelationalEntities.Count);
            Assert.AreEqual(newEntity, removed);
        }
        public void Remove_persisted_entity()
        {
            int        userId          = 1;
            MockEntity persistedEntity = new MockEntity()
            {
                id = int.MaxValue
            };

            persistedEntity.MarkPersisted();
            MockEntity entity = new MockEntity();

            entity.RelationalEntities.Add(persistedEntity);

            ForeignEntityCollectionManager <MockEntity> manager = new ForeignEntityCollectionManager <MockEntity>(userId, entity, () => entity.RelationalEntities, null);

            MockEntity removed = manager.Remove(persistedEntity);

            Assert.AreEqual(1, entity.RelationalEntities.Count);
            Assert.AreEqual(persistedEntity, removed);
            Assert.IsTrue(removed.IsDeleted);
        }