示例#1
0
        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());
        }
示例#2
0
        private async void Parser_DirectMessageReceived(object sender, DirectMessageStreamEventArgs e)
        {
            if (!IsSuitableForColumn(e.Message))
            {
                return;
            }

            var it = await CreateViewModel(e.Message);

            await AddItem(it);
        }
示例#3
0
        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());
        }