[Test]
public void TriggerEvent_CausesEventThatFiresToFire()
{
Customer customer = new Customer("Ben");
string changedPropertyName = null;
customer.PropertyChanged += delegate(object sender, PropertyChangedEventArgs args)
{changedPropertyName = args.PropertyName;};
customer.Name = "Kate";
Assert.AreEqual("Kate",changedPropertyName);
}
Nigel Thorne's software development blog, focusing on finding simple solutions to real work problems.
Friday, July 06, 2007
Tip:#1 Testing Events in C#
If you have a class that causes a .Net event to fire. When writing a test for the event, you can add a handler to the event that sets a flag that you then assert on in your code. Using normal delegates means the variable would need to be a class member and get initialized in Setup. Use of anonymous delegates cleans this up nicely.
Subscribe to:
Posts (Atom)