public void watches_for_the_right_message()
{
var m1 = new Message();
var m2 = new Message();
var m3 = new Message();
var m4 = new Message();
var condition = new MessageWaitCondition<Message>(x => x == m4);
condition.Receive(m1);
condition.Received.ShouldBeNull();
condition.Receive(m2);
condition.Received.ShouldBeNull();
condition.Receive(m3);
condition.Received.ShouldBeNull();
condition.Receive(m4);
condition.Received.ShouldBeTheSameAs(m4);
}