public void Removed_Added_Items_Should_Be_Marked_As_Unchanged() { // Arrange var database = new MockNorthwind(); var changeTracker = new ChangeTrackingCollection<Product>(); changeTracker.Tracking = true; var product = new Product { ProductId = 100, ProductName = "Test Beverage", CategoryId = 1, Category = database.Categories[0], UnitPrice = 10M }; // Act changeTracker.Add(product); product.UnitPrice++; changeTracker.Remove(product); // Assert Assert.AreEqual(TrackingState.Unchanged, product.TrackingState); }
public void Removed_Added_Modified_Items_Should_Not_Have_ModifiedProperties() { // Arrange var database = new MockNorthwind(); var changeTracker = new ChangeTrackingCollection<Product>(true); var product = new Product { ProductId = 100, ProductName = "Test Beverage", CategoryId = 1, Category = database.Categories[0], UnitPrice = 10M }; // Act changeTracker.Add(product); product.UnitPrice++; changeTracker.Remove(product); // Assert Assert.IsTrue(product.ModifiedProperties == null || product.ModifiedProperties.Count == 0); }
public void Added_Items_With_Enumerable_Ctor_Should_Be_Marked_As_Added() { // Arrange var database = new MockNorthwind(); var products = new List<Product> { database.Products[0] }; var changeTracker = new ChangeTrackingCollection<Product>(products); var product = new Product { ProductId = 100, ProductName = "Test Beverage", CategoryId = 1, Category = database.Categories[0], UnitPrice = 10M }; // Act changeTracker.Add(product); // Assert Assert.AreEqual(TrackingState.Added, product.TrackingState); }