public void Should_update_entity_in_single_context()
        {
            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    var toUpdate = repo.GetById(10337);

                    // alter property and then update -- Act
                    toUpdate.ShipName = "abc";

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    var original = repo.GetById(10337);

                    Assert.AreEqual("abc", original.ShipName);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipName();
            }
        }
        public void Should_insert_new_record_and_populate_Id()
        {
            var orderDate    = DateTime.Now.AddDays(-20);
            var requiredDate = DateTime.Now.AddDays(-10);
            var shippedDate  = DateTime.Now.AddDays(-15);

            var newOrder = new Order
            {
                CustomerID     = "ABCDE",
                EmployeeID     = 5,
                Freight        = 12.13m,
                OrderDate      = orderDate,
                RequiredDate   = requiredDate,
                ShipName       = "My Stuff",
                ShipAddress    = "P.O. Box 123",
                ShipCity       = "London",
                ShipPostalCode = "EC1 4RT",
                ShipCountry    = "UK",
                ShipVia        = 3,
                ShippedDate    = shippedDate
            };

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);
                repo.Insert(newOrder);
            }

            Assert.AreEqual(10348, newOrder.OrderID);
        }
        public void Should_update_entity_in_single_context()
        {
            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    var toUpdate = repo.GetById(10337);

                    // alter property and then update -- Act
                    toUpdate.ShipName = "abc";

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    var original = repo.GetById(10337);

                    Assert.AreEqual("abc", original.ShipName);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipName();
            }
        }
        public void Should_insert_new_record_and_populate_Id()
        {
            var orderDate = DateTime.Now.AddDays(-20);
            var requiredDate = DateTime.Now.AddDays(-10);
            var shippedDate = DateTime.Now.AddDays(-15);

            var newOrder = new Order
                               {
                                   CustomerID = "ABCDE",
                                   EmployeeID = 5,
                                   Freight = 12.13m,
                                   OrderDate = orderDate,
                                   RequiredDate = requiredDate,
                                   ShipName = "My Stuff",
                                   ShipAddress = "P.O. Box 123",
                                   ShipCity = "London",
                                   ShipPostalCode = "EC1 4RT",
                                   ShipCountry = "UK",
                                   ShipVia = 3,
                                   ShippedDate = shippedDate
                               };

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);
                repo.Insert(newOrder);
            }

            Assert.AreEqual(10348, newOrder.OrderID);
        }
 public void Should_throw_ArgumentNullException_if_null_passed_in()
 {
     using (var context = new RepositoryTestDataContext())
     {
         var repo = new Repository<Order>(context);
         Assert.Throws<ArgumentNullException>(() => repo.Delete(null));
     }
 }
 public void Should_throw_ArgumentNullException_if_null_passed_in()
 {
     using (var context = new RepositoryTestDataContext())
     {
         var repo = new Repository <Order>(context);
         Assert.Throws <ArgumentNullException>(() => repo.Delete(null));
     }
 }
        public void Should_return_an_object_for_id_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                Assert.IsNotNull(repo.GetById(10248));
            }
        }
Example #8
0
        public void Should_return_empty_enumerable_where_no_records_match_criteria()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                CollectionAssert.IsEmpty(repo.Find(o => o.CustomerID == "NoMatch"));
            }
        }
Example #9
0
        public void Should_return_correct_number_of_records_based_on_criteria()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                Assert.AreEqual(3, repo.Find(o => o.CustomerID == "VINET").Count());
            }
        }
        public void Should_throw_InvalidOperationException_if_invalid_id_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                Assert.Throws <InvalidOperationException>(() => repo.GetById(1));
            }
        }
        public void Should_correct_number_of_records()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                Assert.AreEqual(100, repo.GetAll().Count());
            }
        }
        public void Should_return_empty_enumerable_where_no_records_match_criteria()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                CollectionAssert.IsEmpty(repo.Find(o => o.CustomerID == "NoMatch"));
            }
        }
        public void Should_return_correct_number_of_records_based_on_criteria()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                Assert.AreEqual(3, repo.Find(o => o.CustomerID == "VINET").Count());
            }
        }
        public void Should_throw_exception_if_null_criteria_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                Assert.Throws<ArgumentNullException>(() => repo.Find(null));
            }
        }
        public void Should_throw_InvalidOperationException_if_invalid_id_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                Assert.Throws<InvalidOperationException>(() => repo.GetById(1));
            }
        }
        public void Should_return_an_object_for_id_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                Assert.IsNotNull(repo.GetById(10248));
            }
        }
        public void Should_throw_ArgumentNullException_if_null_entity_provided()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                Assert.Throws <ArgumentNullException>(() => repo.Insert(null));
            }
        }
        public void Should_return_a_enumerable_with_records()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                CollectionAssert.IsNotEmpty(repo.GetAll());
            }
        }
        public void Should_correct_number_of_records()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                Assert.AreEqual(100, repo.GetAll().Count());
            }
        }
        public void Should_return_a_enumerable_with_records()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                CollectionAssert.IsNotEmpty(repo.GetAll());
            }
        }
 public void Should_throw_ArgumentNullException_if_null_id_provided()
 {
     using (var context = new RepositoryTestDataContext())
     {
         using (var repo = new Repository<Order>(context))
         {
             Assert.Throws<ArgumentNullException>(() => repo.GetById(null));
         }
     }
 }
        public void Should_return_correct_object_for_id()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                var actual = repo.GetById(10248);

                actual.Satisfies(o => o.OrderID == 10248
                                      && o.ShipVia == 3
                                      && o.ShipName == "Vins et alcools Chevalier");
            }
        }
        public void Should_return_correct_object_for_id()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                var actual = repo.GetById(10248);

                actual.Satisfies(o => o.OrderID == 10248 &&
                                 o.ShipVia == 3 &&
                                 o.ShipName == "Vins et alcools Chevalier");
            }
        }
        public void Should_delete_the_record_when_given_a_valid_entity_on_the_same_data_context()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);
                var original = repo.GetById(10287);

                repo.Delete(original);
            }

            Assert.IsTrue(CheckRecordDeleted());

            TestScriptHelper.InsertDeletedRecord();
        }
        public void Should_delete_the_record_when_given_a_valid_entity_on_the_same_data_context()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo     = new Repository <Order>(context);
                var original = repo.GetById(10287);

                repo.Delete(original);
            }

            Assert.IsTrue(CheckRecordDeleted());

            TestScriptHelper.InsertDeletedRecord();
        }
        public void Should_have_correct_first_and_last_item()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);

                var items = repo.GetAll();

                items.First().Satisfies(o => o.OrderID == 10248
                      && o.ShipVia == 3
                      && o.ShipName == "Vins et alcools Chevalier");

                items.Last().Satisfies(o => o.OrderID == 10347
                      && o.ShipVia == 3
                      && o.ShipName == "Familia Arquibaldo");
            }
        }
        private bool CheckRecordDeleted()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);
                try
                {
                    repo.GetById(10287);
                }
                catch (InvalidOperationException ioe)
                {
                    return true;
                }

                return false;
            }
        }
        public void Should_have_correct_first_and_last_item()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);

                var items = repo.GetAll();

                items.First().Satisfies(o => o.OrderID == 10248 &&
                                        o.ShipVia == 3 &&
                                        o.ShipName == "Vins et alcools Chevalier");

                items.Last().Satisfies(o => o.OrderID == 10347 &&
                                       o.ShipVia == 3 &&
                                       o.ShipName == "Familia Arquibaldo");
            }
        }
        private bool CheckRecordDeleted()
        {
            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);
                try
                {
                    repo.GetById(10287);
                }
                catch (InvalidOperationException ioe)
                {
                    return(true);
                }

                return(false);
            }
        }
        public void Should_update_field_to_null()
        {
            Order toUpdate = null;

            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    toUpdate = repo.GetById(10337);
                }

                // alter property and then update -- Act
                toUpdate.ShipName = null;

                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    var original = repo.GetById(10337);

                    Assert.IsNull(original.ShipName);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipName();
            }
        }
        public void Should_update_null_property_to_given_value()
        {
            Order toUpdate = null;

            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    toUpdate = repo.GetById(10337);
                }

                toUpdate.ShipRegion = "West";

                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository <Order>(context);

                    var original = repo.GetById(10337);

                    Assert.AreEqual("West", original.ShipRegion);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipRegion();
            }
        }
        public void Should_insert_record_with_nulls_where_appropriate()
        {
            var orderDate    = DateTime.Now.AddDays(-20);
            var requiredDate = DateTime.Now.AddDays(-10);
            var shippedDate  = DateTime.Now.AddDays(-15);

            var newOrder = new Order
            {
                CustomerID     = "ABCDE",
                Freight        = 12.13m,
                OrderDate      = orderDate,
                RequiredDate   = requiredDate,
                ShipName       = "My Stuff",
                ShipAddress    = "P.O. Box 123",
                ShipCity       = "London",
                ShipPostalCode = "EC1 4RT",
                ShipCountry    = "UK",
                ShipVia        = 3,
                ShippedDate    = shippedDate
            };

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);
                repo.Insert(newOrder);
            }

            Order inserted = null;

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository <Order>(context);
                inserted = repo.GetById(newOrder.OrderID);
            }

            Assert.IsNull(inserted.EmployeeID);
            Assert.IsNull(inserted.ShipRegion);
        }
        public void Should_insert_record_with_nulls_where_appropriate()
        {
            var orderDate = DateTime.Now.AddDays(-20);
            var requiredDate = DateTime.Now.AddDays(-10);
            var shippedDate = DateTime.Now.AddDays(-15);

            var newOrder = new Order
            {
                CustomerID = "ABCDE",
                Freight = 12.13m,
                OrderDate = orderDate,
                RequiredDate = requiredDate,
                ShipName = "My Stuff",
                ShipAddress = "P.O. Box 123",
                ShipCity = "London",
                ShipPostalCode = "EC1 4RT",
                ShipCountry = "UK",
                ShipVia = 3,
                ShippedDate = shippedDate
            };

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);
                repo.Insert(newOrder);
            }

            Order inserted = null;

            using (var context = new RepositoryTestDataContext())
            {
                var repo = new Repository<Order>(context);
                inserted = repo.GetById(newOrder.OrderID);
            }

            Assert.IsNull(inserted.EmployeeID);
            Assert.IsNull(inserted.ShipRegion);
        }
        public void Should_update_null_property_to_given_value()
        {
            Order toUpdate = null;

            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    toUpdate = repo.GetById(10337);
                }

                toUpdate.ShipRegion = "West";

                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    var original = repo.GetById(10337);

                    Assert.AreEqual("West", original.ShipRegion);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipRegion();
            }
        }
        public void Should_update_field_to_null()
        {
            Order toUpdate = null;

            try
            {
                // Get original  -- Arrange
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    toUpdate = repo.GetById(10337);
                }

                // alter property and then update -- Act
                toUpdate.ShipName = null;

                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    repo.Update(toUpdate);
                }

                // Requery db to Assert that data updated
                using (var context = new RepositoryTestDataContext())
                {
                    var repo = new Repository<Order>(context);

                    var original = repo.GetById(10337);

                    Assert.IsNull(original.ShipName);
                }
            }
            finally
            {
                // Clean up the data so that its in the correct state
                TestScriptHelper.ResetShipName();
            }
        }