public void FindDifferences_Array_complex_withIgnore() { var oldState = new ComplexArrayVictim { ComplexArray = new[] { new Complex(), new Complex(), new Complex() } }; var newState = new ComplexArrayVictim { ComplexArray = new[] { new Complex(), new Complex { String = "different" }, new Complex { String = "also different" } } }; worker.FindDifferences ( oldState, newState, stateChanges, 5, (field, context) => false, (prop, context) => context.BreadcrumbAsString.Equals("ComplexArray[2]") ); Assert.Equal(1, stateChanges.Changes.Count); var change = stateChanges.Changes[0]; Assert.Equal("ComplexArray[1].String", change.Breadcrumb); Assert.Equal("yo", change.OldValue); Assert.Equal("different", change.NewValue); }
public void FindDifferences_Array_complex() { var oldState = new ComplexArrayVictim { ComplexArray = new[] { new Complex(), new Complex() } }; var newState = new ComplexArrayVictim { ComplexArray = new[] { new Complex(), new Complex { String = "different" } } }; worker.FindDifferences(oldState, newState, stateChanges, 5); Assert.Equal(1, stateChanges.Changes.Count); var change = stateChanges.Changes[0]; Assert.Equal("ComplexArray[1].String", change.Breadcrumb); Assert.Equal("yo", change.OldValue); Assert.Equal("different", change.NewValue); }