public void CancelChanges_cancels_added_changes()
        {
            var context = new OEContext();
            var product = new ProductPoco()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <ProductPoco>().Add(product);
            Assert.AreEqual(true, context.HasChanges());
            Assert.AreEqual(1, context.GetChanges().Count());
            context.CancelChanges();
            Assert.AreEqual(false, context.HasChanges());
            Assert.AreEqual(0, context.GetChanges().Count());
        }
        public void ApplyChanges_applies_added_changes()
        {
            var context = new OEContext();
            var product = new Product()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <Product>().Add(product);
            Assert.AreEqual(true, context.HasChanges());
            Assert.AreEqual(1, context.GetChanges().Count());
            context.ApplyChanges();
            Assert.AreEqual(false, context.HasChanges());
            Assert.AreEqual(0, context.GetChanges().Count());
            Assert.AreEqual(1, context.Set <Product>().GetAll().Count());
        }
        public void CancelChanges_cancels_attached_modified_changes()
        {
            var context = new OEContext();
            var product = new Product()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <Product>().Attach(product);
            product.UnitPrice++;
            Assert.AreEqual(true, context.HasChanges());
            Assert.AreEqual(1, context.GetChanges().Count());
            context.CancelChanges();
            Assert.AreEqual(false, context.HasChanges());
            Assert.AreEqual(0, context.GetChanges().Count());
        }
        public void GetChanges_should_return_added()
        {
            var context = new OEContext();
            var product = new ProductPoco()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <ProductPoco>().Add(product);
            var changes = context.GetChanges();

            Assert.AreSame(product, changes.FirstOrDefault().Entity);
        }
        public void GetChanges_should_not_return_attached_unchanged()
        {
            var context = new OEContext();
            var product = new ProductPoco()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <ProductPoco>().Attach(product);
            var changes = context.GetChanges();

            Assert.AreEqual(0, changes.Count());
        }
        public void GetChanges_should_not_return_added_deleted()
        {
            var context = new OEContext();
            var product = new Product()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <Product>().Add(product);
            context.Set <Product>().Delete(product);

            var changes = context.GetChanges();

            Assert.AreEqual(0, changes.Count());
        }
        public void GetChanges_should_not_return_attached_modified_deleted()
        {
            var context = new OEContext();
            var product = new ProductPoco()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <ProductPoco>().Attach(product);
            product.UnitPrice++;
            context.Set <ProductPoco>().Delete(product);

            var changes = context.GetChanges();

            Assert.AreSame(product, changes.FirstOrDefault().Entity);
        }
Esempio n. 8
0
        public void Modified_added_should_track_modified_properties_if_not_AlwaysTrackModifiedProperties()
        {
            var context = new OEContext();
            var product = new Product()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <Product>().Add(product);
            product.UnitPrice = 150;
            var changes     = context.GetChanges();
            var entityEntry = changes.FirstOrDefault();

            Assert.AreSame(product, entityEntry.Entity);
            var modifiedProperties = entityEntry.ModifiedProperties.ToArray();

            Assert.AreEqual(0, modifiedProperties.Count());
        }
        public void GetChanges_should_return_attached_modified()
        {
            var context = new OEContext();
            var product = new ProductPoco()
            {
                Id        = 1,
                Name      = "Test product",
                UnitPrice = 100
            };

            context.Set <ProductPoco>().Attach(product);
            product.UnitPrice++;

            var changes = context.GetChanges();

            Assert.AreSame(product, changes.FirstOrDefault().Entity);
            var modifiedProperty = changes.First().ModifiedProperties.First();

            Assert.AreEqual("UnitPrice", modifiedProperty.Name);
            Assert.AreEqual(100M, modifiedProperty.OriginalValue);
        }