public void EditedMessagesAreProccessed()
{
var app = Application.WithPluginsFrom(new TypeCatalog(typeof(TestPluginProccessCount)));
string errorMessage = null;
app.Error += (s, arg) => { errorMessage = arg.Details; };
var chat = new Mock<Chat>();
string capturedCmdResult = null;
chat.Setup(ch => ch.SendMessage(It.IsAny<string>())).Callback<string>(value => capturedCmdResult = value);
var skype = MockedSkype(chat.Object, app);
skype.Raise(s => s.Reply += null, new Command { Id = 1, Reply = "CHATMESSAGE 42 EDITED_TIMESTAMP 0000", Blocking = false });
var plugin = (TestPluginProccessCount) app.Plugins.ElementAt(0);
Assert.That(plugin.MessageEvent.WaitOne(2000), Is.True);
Assert.That(capturedCmdResult, Is.EqualTo("1"));
Assert.That(errorMessage, Is.Null);
Assert.That(plugin.Count, Is.EqualTo(1));
}