public void UpdateExistingEntity()
        {
            MockEntitySet entitySet = new MockEntitySet();
            MockEntity    entity    = new MockEntity()
            {
                PartitionKey = "PK", RowKey = "RK"
            };

            Assert.AreEqual(EntityStates.Detached, entitySet.GetEntityState(entity),
                            "Entity should start detached.");

            entitySet.Attach(entity);

            Assert.AreEqual(EntityStates.Unchanged, entitySet.GetEntityState(entity),
                            "Entity should now be attached.");

            entitySet.Update(entity);

            Assert.AreEqual(EntityStates.Modified, entitySet.GetEntityState(entity),
                            "Entity should be modified.");

            entitySet.Detach(entity);

            Assert.AreEqual(EntityStates.Detached, entitySet.GetEntityState(entity),
                            "Entity should return to detached.");

            entitySet.Update(entity);

            Assert.AreEqual(EntityStates.Modified, entitySet.GetEntityState(entity),
                            "Entity should be modified after being detached.");
        }
        public void UpdateNewEntity()
        {
            MockEntitySet entitySet = new MockEntitySet();
            MockEntity    entity    = new MockEntity();

            Assert.AreEqual(EntityStates.Detached, entitySet.GetEntityState(entity),
                            "Entity should start detached.");

            entitySet.Add(entity);

            Assert.AreEqual(EntityStates.Added, entitySet.GetEntityState(entity),
                            "Entity should be added.");

            entitySet.Update(entity);

            Assert.AreEqual(EntityStates.Added, entitySet.GetEntityState(entity),
                            "Entity should still be added.");
        }