public void CanLockProperties() { LockablePerson p = new LockablePerson(); p.Name = "Somename"; p.Lock("Name"); Assert.IsTrue(p.IsLocked("Name")); }
public void CannotModifyLockedProperty() { LockablePerson p = new LockablePerson(); p.Name = "Somename"; p.Lock("Name"); p.Name = "AnotherName"; Assert.AreEqual("Somename", p.Name, "The name of the person has been locked and should not have been changed."); }
public void AttemptToModifyLockedPropertyIsReported() { LockablePerson p = new LockablePerson(); p.LockedPropertyChangeAttempt += new EventHandler <LockedPropertyChangedAttemptEventArgs> (OnLockedPropertyChangeAttempt); p.Name = "Frederik"; p.Lock("Name"); p.Name = "test"; Assert.IsTrue(_lockedPropertyChangeAttemptEventHandlerEntered, "The attempt to modify the locked property is not reported."); }
public void CanModifyUnlockedProperty() { LockablePerson p = new LockablePerson(); p.Name = "Somename"; p.Lock("name"); p.Unlock("name"); p.Name = "anothername"; Assert.AreEqual("anothername", p.Name, "The name of the person should have been modified, since it is no longer locked."); }