public void TestPropertyTrackingWithInnerProperties()
        {
            ItemAttachment itemAttachment = new ItemAttachment()
            {
                Name = "Item attach",
                Item = new Event()
                {
                    Subject   = "Event subject",
                    Attendees = new List <Attendee>()
                    {
                        new Attendee()
                        {
                            EmailAddress = new EmailAddress()
                            {
                                Address = "*****@*****.**"
                            }
                        }
                    },

                    Body = new ItemBody()
                }
            };

            Assert.AreEqual(
                2,
                itemAttachment.GetChangedProperies().Count);

            Assert.AreEqual(
                3,
                itemAttachment.Item.GetChangedProperies().Count);

            Assert.IsTrue(
                ItemAttachmentObjectSchema.Item.ChangeTrackable);

            itemAttachment.ResetChangeTracking();

            Assert.AreEqual(
                0,
                itemAttachment.GetChangedProperies().Count);

            Assert.AreEqual(
                0,
                itemAttachment.Item.GetChangedProperies().Count);
        }