private static void AccessorTest( string navigationName, Func <MyEntity, IEnumerable <MyOtherEntity> > reader, bool initializeCollections = true) { var accessor = new ClrCollectionAccessorFactory().Create(CreateNavigation(navigationName)); var entity = new MyEntity(); var value = new MyOtherEntity(); if (initializeCollections) { entity.InitializeCollections(); } Assert.False(accessor.Contains(entity, value)); accessor.Remove(entity, value); accessor.Add(entity, value); Assert.True(accessor.Contains(entity, value)); Assert.Equal(1, reader(entity).Count()); accessor.Remove(entity, value); Assert.False(accessor.Contains(entity, value)); Assert.Equal(0, reader(entity).Count()); }
private void AccessorTest( string navigationName, Func <MyEntity, IEnumerable <MyOtherEntity> > reader, bool initializeCollections = true) { var accessor = new ClrCollectionAccessorFactory().Create(CreateNavigation(navigationName)); var entity = new MyEntity(initializeCollections); var value = new MyOtherEntity(); Assert.False(accessor.Contains(entity, value)); accessor.Remove(entity, value); accessor.Add(entity, value, forMaterialization: false); Assert.True(accessor.Contains(entity, value)); Assert.Single(reader(entity)); accessor.Remove(entity, value); Assert.False(accessor.Contains(entity, value)); Assert.Empty(reader(entity)); }