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);
            }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        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));
            }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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());
        }
Beispiel #8
0
        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);
        }