public void Accept_Changes_Should_Mark_Family_Unchanged() { // Arrange var parent = new MockFamily().Parent; parent.TrackingState = TrackingState.Modified; parent.Children[0].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].Children[0].TrackingState = TrackingState.Added; parent.Children[0].Children[0].Children[1].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].Children[2].TrackingState = TrackingState.Deleted; parent.Children[1].TrackingState = TrackingState.Added; parent.Children[1].Children[0].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[0].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[1].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[2].TrackingState = TrackingState.Added; parent.Children[2].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[0].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[1].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[2].TrackingState = TrackingState.Deleted; // Act parent.AcceptChanges(); // Assert var states = parent.GetTrackingStates(TrackingState.Unchanged).ToList(); Assert.AreEqual(26, states.Count()); }
public void Accept_Changes_Should_Remove_ModifiedProperties_From_Family() { // Arrange var parent = new MockFamily().Parent; parent.ModifiedProperties = new List<string> { "Name" }; parent.Children[0].ModifiedProperties = new List<string> { "Name" }; parent.Children[0].Children[0].ModifiedProperties = new List<string> { "Name" }; parent.Children[0].Children[0].Children[1].ModifiedProperties = new List<string> { "Name" }; // Act parent.AcceptChanges(); // Assert IEnumerable<IEnumerable<string>> modifiedProps = parent.GetModifiedProperties(); Assert.IsFalse(modifiedProps.Any(p => p != null)); }
public void Accept_Changes_Should_Remove_Family_Deleted() { // Arrange var parent = new MockFamily().Parent; parent.TrackingState = TrackingState.Modified; parent.Children[0].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].Children[0].TrackingState = TrackingState.Added; parent.Children[0].Children[0].Children[1].TrackingState = TrackingState.Modified; parent.Children[0].Children[0].Children[2].TrackingState = TrackingState.Deleted; parent.Children[1].TrackingState = TrackingState.Added; parent.Children[1].Children[0].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[0].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[1].TrackingState = TrackingState.Added; parent.Children[1].Children[0].Children[2].TrackingState = TrackingState.Added; parent.Children[2].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[0].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[1].TrackingState = TrackingState.Deleted; parent.Children[2].Children[1].Children[2].TrackingState = TrackingState.Deleted; // Act parent.AcceptChanges(); // Assert Assert.AreEqual(2, parent.Children.Count); Assert.AreEqual(2, parent.Children[0].Children[0].Children.Count); }