public void SetEntityThenId_IdDoesNotMatchEntity()
        {
            var s   = new EntityIdSynchronizer <Person, int>(p => p.Id);
            var bob = new Person {
                Id = 1, Name = "Bob"
            };

            s.Entity = bob;
            s.Id     = 2;

            Assert.AreEqual(2, s.Id);
            Assert.AreEqual(2, s.IdOrNull);
            Assert.AreEqual(2, s.Key);
            Assert.IsNull(s.Entity);
        }
        public void SetEntityThenId_IdMatchesEntity()
        {
            var s   = new EntityIdSynchronizer <Person, int>(p => p.Id);
            var bob = new Person {
                Id = 1, Name = "Bob"
            };

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

            Assert.AreSame(bob, s.Entity);
            Assert.AreEqual(1, s.Id);
            Assert.AreEqual(1, s.IdOrNull);
            Assert.AreEqual(1, s.Key);
        }