public void With_valid_entity_returns_the_added_entity() { var set = new InternalDbSet <FakeEntity>(new Mock <InternalSetForMock <FakeEntity> >().Object); var entity = new FakeEntity(); var retVal = set.Remove(entity); Assert.Same(entity, retVal); }
public void Adding_entity_to_DbLocalView_adds_entity_to_DbSet() { var mockDbSet = new Mock <IDbSet <FakeEntity> >(); var localView = CreateLocalView(mockDbSet); var entity = new FakeEntity(); localView.Add(entity); mockDbSet.Verify(s => s.Add(entity), Times.Once()); }
public void Adding_entity_to_DbLocalView_that_is_already_in_state_manager_is_ignored() { var entity = new FakeEntity(); var mockDbSet = new Mock <IDbSet <FakeEntity> >(); var localView = CreateLocalView( mockDbSet, new List <FakeEntity> { entity }); localView.Add(entity); mockDbSet.Verify(s => s.Add(It.IsAny <FakeEntity>()), Times.Never()); }
public void Removing_entity_from_DbLocalView_removes_entity_from_DbSet() { var entity = new FakeEntity(); var mockDbSet = new Mock <IDbSet <FakeEntity> >(); var localView = CreateLocalView( mockDbSet, new List <FakeEntity> { entity }); localView.Remove(entity); mockDbSet.Verify(s => s.Remove(entity), Times.Once()); }
public void With_valid_entities_returns_the_added_entities() { var internalContext = new Mock <InternalContext>(); var internalSet = new Mock <InternalSetForMock <FakeEntity> >(); internalSet.Setup(i => i.InternalContext) .Returns(internalContext.Object); var set = new DbSet <FakeEntity>(internalSet.Object); var entity1 = new FakeEntity(); var entity2 = new FakeEntity(); var retVal = set.AddRange(new[] { entity1, entity2 }); Assert.True(retVal.Contains(entity1)); Assert.True(retVal.Contains(entity2)); }
public void State_manager_Add_event_causes_entity_to_be_added_to_DbLocalView() { var mockInternalContext = CreateMockedInternalContext(new Mock <IDbSet <FakeEntity> >()); CollectionChangeEventHandler stateManagerChanged = null; mockInternalContext.Setup(i => i.RegisterObjectStateManagerChangedEvent(It.IsAny <CollectionChangeEventHandler>())). Callback <CollectionChangeEventHandler>(h => stateManagerChanged = h); var localView = new DbLocalView <FakeEntity>(mockInternalContext.Object); var entity = new FakeEntity(); stateManagerChanged.Invoke(null, new CollectionChangeEventArgs(CollectionChangeAction.Add, entity)); Assert.True(localView.Contains(entity)); }
public void Replacing_entity_in_DbLocalView_adds_an_entity_and_removes_an_entity_from_DbSet() { var entity = new FakeEntity(); var mockDbSet = new Mock <IDbSet <FakeEntity> >(); var localView = CreateLocalView( mockDbSet, new List <FakeEntity> { entity }); var newEntity = new FakeEntity(); localView[0] = newEntity; mockDbSet.Verify(s => s.Remove(entity), Times.Once()); mockDbSet.Verify(s => s.Add(newEntity), Times.Once()); }
public void State_manager_Add_event_for_entity_already_in_DbLocalView_is_ignored() { var entity = new FakeEntity(); var mockInternalContext = CreateMockedInternalContext( new Mock <IDbSet <FakeEntity> >(), new List <FakeEntity> { entity }); CollectionChangeEventHandler stateManagerChanged = null; mockInternalContext.Setup(i => i.RegisterObjectStateManagerChangedEvent(It.IsAny <CollectionChangeEventHandler>())). Callback <CollectionChangeEventHandler>(h => stateManagerChanged = h); var localView = new DbLocalView <FakeEntity>(mockInternalContext.Object); stateManagerChanged.Invoke(null, new CollectionChangeEventArgs(CollectionChangeAction.Add, entity)); Assert.Equal(1, localView.Count); }