public void ReceivingMessageRaisesEvent() { // Arrange var strContent = File.ReadAllText("Data/message.json"); var execute = new Mock <ITwitterExecute>(); StreamContent content = new StreamContent(execute.Object, strContent); var stream = new Mock <IStreamingConnection>(); stream.Setup(s => s.Start(It.IsAny <Func <IStreamContent, Task> >())) .Callback <Func <StreamContent, Task> >(func => func(content)) .Returns(Task.FromResult(new List <IStreaming>())); var parser = StreamParser.Create(stream.Object); DirectMessageStreamEventArgs receivedData = null; ManualResetEventSlim waitHandle = new ManualResetEventSlim(false); parser.DirectMessageReceived += (s, e) => { receivedData = e; waitHandle.Set(); }; // Act parser.StartStreaming(); waitHandle.Wait(1000); // Assert Assert.IsNotNull(receivedData); Assert.AreNotEqual(0ul, receivedData.Message.GetMessageId()); }
private async void Parser_DirectMessageReceived(object sender, DirectMessageStreamEventArgs e) { if (!IsSuitableForColumn(e.Message)) { return; } var it = await CreateViewModel(e.Message); await AddItem(it); }
public void ReceivingMessageRaisesEvent() { // Arrange var strContent = File.ReadAllText("Data/message.json"); ManualResetEventSlim waitHandle = new ManualResetEventSlim(false); var parser = SetupParser(strContent); DirectMessageStreamEventArgs receivedData = null; parser.DirectMessageReceived += (s, e) => { receivedData = e; waitHandle.Set(); }; // Act parser.StartStreaming(); waitHandle.Wait(1000); // Assert Assert.IsNotNull(receivedData); Assert.AreNotEqual(0ul, receivedData.Message.GetMessageId()); }