Esempio n. 1
0
        public void Delete_Operations_Can_Be_Batched()
        {
            var repo = new InMemoryRepository <Order, int>();

            repo.Add(new Order {
                Name = "Order 1"
            });
            repo.Add(new Order {
                Name = "Order 2"
            });

            repo.GetAll().Count().ShouldBe(2);

            using (var batch = repo.BeginBatch())
            {
                foreach (var order in repo.GetAll().ToList())
                {
                    batch.Delete(order);
                }

                repo.GetAll().Count().ShouldBe(2);
                batch.Commit();
            }

            repo.GetAll().Count().ShouldBe(0);
        }
Esempio n. 2
0
        public void Update_Operations_Can_Be_Batched()
        {
            var repo = new InMemoryRepository <Order, int>();

            repo.Add(new Order {
                Name = "Order 1"
            });
            repo.Add(new Order {
                Name = "Order 2"
            });
            repo.GetAll().Count().ShouldBe(2);

            using (var batch = repo.BeginBatch())
            {
                foreach (var order in repo.GetAll())
                {
                    order.Name = "Updated";
                    batch.Update(order);
                }

                repo.GetAll().Count().ShouldBe(2);
                repo.GetAll().Count(x => x.Name.StartsWith("Update")).ShouldBe(0);

                batch.Commit();
            }

            repo.GetAll().Count().ShouldBe(2);
            repo.GetAll().Count(x => x.Name.StartsWith("Update")).ShouldBe(2);
        }
Esempio n. 3
0
        public void Repository_Should_BeginBatch()
        {
            var repository = new InMemoryRepository <Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.Add(new Contact {
                    Name = "Test User 1"
                });

                var result = repository.GetAll();
                result.Count().ShouldEqual(0); // shouldn't have really been added yet

                batch.Add(new Contact {
                    Name = "Test User 2"
                });

                result = repository.GetAll();
                result.Count().ShouldEqual(0); // shouldn't have really been added yet

                batch.Commit();
            }

            repository.GetAll().Count().ShouldEqual(2);
        }
Esempio n. 4
0
        public void Repository_Provides_New_Batch()
        {
            var            repo  = new InMemoryRepository <Order, int>();
            IBatch <Order> batch = repo.BeginBatch();

            batch.ShouldNotBeNull();
        }
Esempio n. 5
0
 public void Batch_Is_IDisposable_Type()
 {
     var repo = new InMemoryRepository<Order, int>();
     using (var batch = repo.BeginBatch())
     {
         batch.ShouldNotBeNull();
     }
 }
Esempio n. 6
0
        public void Batch_Default_Should_Contain_No_Actions()
        {
            var repository = new InMemoryRepository <Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.BatchActions.Count.ShouldEqual(0);
            }
        }
Esempio n. 7
0
        public void Batch_Is_IDisposable_Type()
        {
            var repo = new InMemoryRepository <Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.ShouldNotBeNull();
            }
        }
Esempio n. 8
0
        public void Batch_Default_Should_Contain_No_Actions()
        {
            var repository = new InMemoryRepository<Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.BatchActions.Count.ShouldEqual(0);
            }
        }
Esempio n. 9
0
        public void Batch_Rollback_Should_Reset_Actions()
        {
            var repository = new InMemoryRepository<Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.Add(new Contact());
                batch.Rollback();
                batch.BatchActions.Count.ShouldEqual(0);
            }
        }
Esempio n. 10
0
        public void Batch_Rollback_Should_Reset_Actions()
        {
            var repository = new InMemoryRepository <Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.Add(new Contact());
                batch.Rollback();
                batch.BatchActions.Count.ShouldEqual(0);
            }
        }
Esempio n. 11
0
        public void Batch_Update_Should_Queue_Delete_Action()
        {
            var repository = new InMemoryRepository <Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                var contact = new Contact();
                batch.Delete(contact);
                batch.BatchActions.FirstOrDefault().Item.ShouldEqual(contact);
                batch.BatchActions.FirstOrDefault().Action.ShouldEqual(BatchAction.Delete);
            }
        }
Esempio n. 12
0
        public void Batch_Can_Be_Disregarded()
        {
            var repo = new InMemoryRepository<Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.Add(new Order { Name = "Order 1" });
                batch.Add(new Order { Name = "Order 2" });
            }

            repo.GetAll().Count().ShouldEqual(0);
        }
Esempio n. 13
0
        public void Batch_Update_Should_Queue_Delete_Action()
        {
            var repository = new InMemoryRepository<Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                var contact = new Contact();
                batch.Delete(contact);
                batch.BatchActions.FirstOrDefault().Item.ShouldEqual(contact);
                batch.BatchActions.FirstOrDefault().Action.ShouldEqual(BatchAction.Delete);
            }
        }
Esempio n. 14
0
        public void Batch_Add_Should_Queue_Add_Action()
        {
            var repository = new InMemoryRepository <Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                var contact = new Contact();
                batch.Add(contact);
                batch.BatchActions.FirstOrDefault().Item.ShouldBe(contact);
                batch.BatchActions.FirstOrDefault().Action.ShouldBe(BatchAction.Add);
            }
        }
Esempio n. 15
0
        public void Add_Operations_Can_Be_Batched()
        {
            var repo = new InMemoryRepository<Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.Add(new Order { Name = "Order 1" });
                batch.Add(new Order { Name = "Order 2" });
                repo.GetAll().Count().ShouldEqual(0);

                batch.Commit();
            }

            repo.GetAll().Count().ShouldEqual(2);
        }
Esempio n. 16
0
        public void Batch_Can_Be_Disregarded()
        {
            var repo = new InMemoryRepository <Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.Add(new Order {
                    Name = "Order 1"
                });
                batch.Add(new Order {
                    Name = "Order 2"
                });
            }

            repo.GetAll().Count().ShouldBe(0);
        }
Esempio n. 17
0
        public void Batch_Can_Be_Rolled_Back()
        {
            var repo = new InMemoryRepository <Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.Add(new Order {
                    Name = "Order 1"
                });
                batch.Add(new Order {
                    Name = "Order 2"
                });
                repo.GetAll().Count().ShouldBe(0);
                batch.Rollback();
                batch.Commit();
            }

            repo.GetAll().Count().ShouldBe(0);
        }
Esempio n. 18
0
        public void Add_Operations_Can_Be_Batched()
        {
            var repo = new InMemoryRepository <Order, int>();

            using (var batch = repo.BeginBatch())
            {
                batch.Add(new Order {
                    Name = "Order 1"
                });
                batch.Add(new Order {
                    Name = "Order 2"
                });
                repo.GetAll().Count().ShouldEqual(0);

                batch.Commit();
            }

            repo.GetAll().Count().ShouldEqual(2);
        }
Esempio n. 19
0
        public void Repository_Should_BeginBatch()
        {
            var repository = new InMemoryRepository<Contact, Int32>();

            using (var batch = repository.BeginBatch())
            {
                batch.Add(new Contact { Name = "Test User 1" });

                var result = repository.GetAll();
                result.Count().ShouldEqual(0); // shouldn't have really been added yet

                batch.Add(new Contact { Name = "Test User 2" });

                result = repository.GetAll();
                result.Count().ShouldEqual(0); // shouldn't have really been added yet

                batch.Commit();
            }

            repository.GetAll().Count().ShouldEqual(2);
        }
Esempio n. 20
0
 public void Repository_Provides_New_Batch()
 {
     var repo = new InMemoryRepository<Order, int>();
     IBatch<Order> batch = repo.BeginBatch();
     batch.ShouldNotBeNull();
 }
Esempio n. 21
0
        public void Update_Operations_Can_Be_Batched()
        {
            var repo = new InMemoryRepository<Order, int>();
            repo.Add(new Order { Name = "Order 1" });
            repo.Add(new Order { Name = "Order 2" });
            repo.GetAll().Count().ShouldEqual(2);

            using (var batch = repo.BeginBatch())
            {
                foreach (var order in repo.GetAll())
                {
                    order.Name = "Updated";
                    batch.Update(order);
                }

                repo.GetAll().Count().ShouldEqual(2);
                repo.GetAll().Count(x => x.Name.StartsWith("Update")).ShouldEqual(0);

                batch.Commit();
            }

            repo.GetAll().Count().ShouldEqual(2);
            repo.GetAll().Count(x => x.Name.StartsWith("Update")).ShouldEqual(2);
        }