public void IntelReported() { var sent = new IntelEventArgs("channel", DateTime.UtcNow, "message"); IntelEventArgs received = null; using (var channel = new IntelChannel()) { channel.IntelReported += (sender, e) => { Assert.IsNull(received, "IntelReported was raised multiple times."); Assert.AreEqual(channel, sender); received = e; }; channel.OnIntelReported(sent); Thread.Sleep(10); Assert.AreEqual(1, channel.IntelCount); } Assert.AreEqual(sent, received); }