AutoCompare.Tests.EngineTests.Compare_Nestted_Objects C# (CSharp) Method

Compare_Nestted_Objects() private method

private Compare_Nestted_Objects ( ) : void
return void
        public void Compare_Nestted_Objects()
        {
            var comparer = SutEngine.Get<NestedModel>();
            var oldModel = new NestedModel
            {
                Id = 1,
                Child = new ChildModel
                {
                    Id = 2,
                    Name = "Child",
                    GrandChild = new GrandChildModel
                    {
                        Id = 3,
                        Name = "GrandChild",
                        Value = 100,
                    }
                }
            };
            var newModel = new NestedModel
            {
                Id = 1,
                Child = new ChildModel
                {
                    Id = 2,
                    Name = "Child 2",
                    GrandChild = new GrandChildModel
                    {
                        Id = 4,
                        Name = "GrandChild 2",
                        Value = 200,
                    }
                }
            };

            var changes = comparer(oldModel, newModel);
            Assert.AreEqual(changes.Count(), 4);
            Assert.IsNotNull(changes.Single(x => x.Name == "Child.Name" && (string)x.OldValue == "Child" && (string)x.NewValue == "Child 2"));
            Assert.IsNotNull(changes.Single(x => x.Name == "Child.GrandChild.Name" && (string)x.OldValue == "GrandChild" && (string)x.NewValue == "GrandChild 2"));
            Assert.IsNotNull(changes.Single(x => x.Name == "Child.GrandChild.Id" && (long)x.OldValue == 3 && (long)x.NewValue == 4));
            Assert.IsNotNull(changes.Single(x => x.Name == "Child.GrandChild.Value" && (int)x.OldValue == 100 && (int)x.NewValue == 200));
        }