예제 #1
0
        public void UpdateExistingEntryInstanceMatch()
        {
            var entityCollection = new DbEntityCollection <EntityCollectionModel>();
            var entity           = new EntityCollectionModel
            {
                Title = "DbEntityCollectionTests.UpdateExistingEntryWithoutId"
            };

            entityCollection.Update(entity, DbEntityEntryState.Added);
            Assert.IsTrue(entityCollection.GetEntries().All(e => e.Entity == entity && e.State == DbEntityEntryState.Added));

            entityCollection.Update(entity, DbEntityEntryState.NoChanges);
            Assert.IsTrue(entityCollection.GetEntries().All(e => e.Entity == entity && e.State == DbEntityEntryState.NoChanges));
        }
예제 #2
0
        public void RemoveRange()
        {
            var entityCollection = new DbEntityCollection <EntityCollectionModel>();
            var entities         = new[]
            {
                new EntityCollectionModel
                {
                    Title = "DbEntityCollectionTests.RemoveRange-1"
                },
                new EntityCollectionModel
                {
                    Title = "DbEntityCollectionTests.RemoveRange-2"
                },
                new EntityCollectionModel
                {
                    Id    = "123",
                    Title = "DbEntityCollectionTests.RemoveRange-3"
                }
            };

            foreach (var entity in entities)
            {
                entityCollection.Update(entity, DbEntityEntryState.Added);
                entityCollection.Remove(entity);
            }

            Assert.IsFalse(entityCollection.GetEntries().Any());
        }
예제 #3
0
        public void AddNewEntry()
        {
            var entityCollection = new DbEntityCollection <EntityCollectionModel>();
            var entity           = new EntityCollectionModel
            {
                Title = "DbEntityCollectionTests.AddNewEntry"
            };

            entityCollection.Update(entity, DbEntityEntryState.Added);

            Assert.IsTrue(entityCollection.GetEntries().All(e => e.Entity == entity && e.State == DbEntityEntryState.Added));
        }
예제 #4
0
        public void UpdateExistingEntryIdMatch()
        {
            var entityCollection = new DbEntityCollection <EntityCollectionModel>();
            var entity           = new EntityCollectionModel
            {
                Id    = "123",
                Title = "DbEntityCollectionTests.UpdateExistingEntryWithId-1"
            };

            entityCollection.Update(entity, DbEntityEntryState.Added);
            Assert.IsTrue(entityCollection.GetEntries().All(e => e.Entity == entity && e.State == DbEntityEntryState.Added));

            var updatedEntity = new EntityCollectionModel
            {
                Id    = "123",
                Title = "DbEntityCollectionTests.UpdateExistingEntryWithId-2"
            };

            entityCollection.Update(updatedEntity, DbEntityEntryState.Updated);
            Assert.IsFalse(entityCollection.GetEntries().Any(e => e.Entity == entity));
            Assert.IsTrue(entityCollection.GetEntries()
                          .Any(e => e.Entity == updatedEntity && e.Entity.Title == "DbEntityCollectionTests.UpdateExistingEntryWithId-2"));
        }
예제 #5
0
        public void ClearTracker()
        {
            var entityCollection = new DbEntityCollection <EntityCollectionModel>();
            var entity           = new EntityCollectionModel
            {
                Title = "DbEntityCollectionTests.ClearTracker"
            };

            entityCollection.Update(entity, DbEntityEntryState.NoChanges);

            entityCollection.Clear();

            Assert.IsFalse(entityCollection.GetEntries().Any());
        }