public void SerializeThenDeserialize()
        {
            var s   = new PersonNameSynchronizer();
            var bob = new Person {
                Name = "Bob"
            };

            s.Entity = bob;
            s.Key    = "Bob";

            var clone = SerializeUtils.Clone(s);

            Assert.AreNotSame(s, clone);
            Assert.AreEqual("Bob", clone.Key);
            Assert.AreEqual(bob.Name, clone.Entity.Name);
            Assert.AreNotSame(bob, clone.Entity);
        }
        public void SerializeThenDeserialize()
        {
            var s   = new PersonIdSynchronizer();
            var bob = new Person {
                Id = 1, Name = "Bob"
            };

            s.Id     = 1;
            s.Entity = bob;

            var clone = SerializeUtils.Clone(s);

            Assert.AreNotSame(s, clone);
            Assert.AreEqual(1, clone.Id);
            Assert.AreEqual(bob.Id, clone.Entity.Id);
            Assert.AreEqual(bob.Name, clone.Entity.Name);
            Assert.AreNotSame(bob, clone.Entity);
        }