public void In_memory_DbSet_can_be_used_for_RemoveRange()
        {
            var products = new[] { new Product(), new Product() };
            var set = new InMemoryNonGenericDbSet<Product>(products);

            Assert.Same(products, set.RemoveRange(products));
            Assert.Empty(set);
        }
        public void In_memory_DbSet_can_be_used_for_AddRange()
        {
            var set = new InMemoryNonGenericDbSet<Product>();
            var products = new[] { new Product { Id = 1 }, new Product { Id = 2 } };

            Assert.Same(products, set.AddRange(products));
            Assert.Equal(products.OrderBy(p => p.Id), set.ToList<Product>().OrderBy(p => p.Id));
        }
        public void In_memory_DbSet_can_be_used_for_Attach()
        {
            var set = new InMemoryNonGenericDbSet<Product>();
            var product = new Product();

            Assert.Same(product, set.Attach(product));
            Assert.Same(product, set.ToList<Product>().Single());
        }
        public void In_memory_DbSet_can_be_used_for_Find()
        {
            var product = new Product { Id = 1 };
            var set = new InMemoryNonGenericDbSet<Product>(
                new[] { product, new Product { Id = 2 } }, (d, k) => d.Single(p => p.Id == (int)k[0]));

            Assert.Same(product, set.Find(1));
        }
        public void In_memory_DbSet_can_be_used_for_Remove()
        {
            var set = new InMemoryNonGenericDbSet<Product>();
            var product = new Product();

            set.Add(product);

            Assert.Same(product, set.Remove(product));
            Assert.Empty(set);
        }