Testing events in VSTS

Create a anonymous delegate and a variable to set
ManualResetEvent statsUpdatedEvent = new ManualResetEvent(false);
bool serviceFaulted = false;

Classevent += delegate
{
System.Diagnostics.Debug.WriteLine(“Runtime faulted”);
serviceFaulted = true;
statsUpdatedEvent.Set();

};

do some operation to trigger the event.
…….
Wait for the event to trigger
statsUpdatedEvent.WaitOne(5000, false);

then

Assert.IsFalse(serviceFaulted);

This is taken from the following link

http://www.philosophicalgeek.com/2007/12/27/easily-unit-testing-event-handlers/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: