public void Test_Save_RemovesUnauthorisedReferences() { MockEntity entity = new MockEntity(); entity.ID = Guid.NewGuid(); MockRestrictedEntity restrictedEntity = new MockRestrictedEntity(); restrictedEntity.ID = Guid.NewGuid(); entity.RestrictedEntities = new MockRestrictedEntity[] { restrictedEntity }; SaveStrategy.New(restrictedEntity, false).Save(restrictedEntity); SaveStrategy.New(entity).Save(entity); MockEntity foundEntity = RetrieveStrategy.New <MockEntity>(false).Retrieve <MockEntity>("ID", entity.ID); Assert.IsNotNull(foundEntity); foundEntity.Activate(); Assert.AreEqual(0, foundEntity.RestrictedEntities.Length, "Restricted entity wasn't removed from reference property."); }