private SampleComplexClass CreateObject(int seed)
        {
            var obj = new SampleComplexClass();
            obj.Id = seed;
            obj.TextField.Value = (seed + 1).ToString(CultureInfo.InvariantCulture);
            obj.TextProperty.Value = (seed + 1).ToString(CultureInfo.InvariantCulture);

            return obj;
        }
 private void ChangeValues(SampleComplexClass target)
 {
     target.TextField.Value += "changed";
     target.TextProperty.Value += "changed";
 }
 private void MakeSomeChanges(SampleComplexClass after)
 {
     ChangeValues(after);
     after.Children.Add(CreateObject(3));
     ChangeValues(after.Children[0]);
 }
 public ChangedObjectForSampleComplexClass(string pathToContainer, SampleComplexClass before, SampleComplexClass after)
     : base(pathToContainer, before,
            new[]
            {
                new AttributeChange("TextField", before.TextField.Value, after.TextField.Value),
                new AttributeChange("TextProperty", before.TextProperty.Value, after.TextProperty.Value)
            })
 {
 }
 private IEnumerable<Difference> GetExpectedDifferences(SampleComplexClass before, SampleComplexClass after)
 {
     var expectedDifferences = new List<Difference>();
     expectedDifferences.Add(new ChangedObjectForSampleComplexClass("", before, after));
     expectedDifferences.Add(new AddedObject("", after, after.Children[1]));
     expectedDifferences.Add(new ChangedObjectForSampleComplexClass("sample complex class 1", before.Children[0],
                                                                  after.Children[0]));
     return expectedDifferences;
 }