public void GetLatestTweetsForScreenName_ShouldReturn10Tweets_WhenProvidedSalesforceScreenName()
        {
            //Arrange
            TwitterAuthorizer auth = new TwitterAuthorizer(GetAppKeyConfigOptions());
            TweetRepository   rep  = new TweetRepository(auth);

            //Act
            List <Tweet> tweets = rep.GetLatestTweetsForScreenName(10, "salesforce", 150);

            //Assert
            Assert.AreEqual(10, tweets.Count);
        }
        public void GetLatestTweetsForScreenName_ShouldReturnEmbeddedDetailsForTweet()
        {
            //Arrange
            TwitterAuthorizer auth = new TwitterAuthorizer(GetAppKeyConfigOptions());
            TweetRepository   rep  = new TweetRepository(auth);

            //Act
            List <Tweet> tweets = rep.GetLatestTweetsForScreenName(10, "salesforce", 150);
            List <Tweet> missingEmbeddedDetails = tweets.Where(t => t.HTMLForOEmbed == null || t.HTMLForOEmbed == string.Empty).ToList();

            //Assert
            //there are tweets
            Assert.AreEqual(10, tweets.Count);

            //they are no tweets for another screen name
            Assert.AreEqual(0, missingEmbeddedDetails.Count);
        }
        public void GetLatestTweetsForScreenName_ShouldReturnTweetsForSalesforce_WhenProvidedSalesforceScreenName()
        {
            //Arrange
            TwitterAuthorizer auth = new TwitterAuthorizer(GetAppKeyConfigOptions());
            TweetRepository   rep  = new TweetRepository(auth);

            //Act
            List <Tweet> tweets = rep.GetLatestTweetsForScreenName(10, "salesforce", 150);
            List <Tweet> nonSalesForceTweets = tweets.Where(t => t.ScreenName != "salesforce").ToList();

            //Assert
            //there are tweets
            Assert.AreEqual(10, tweets.Count);

            //they are no tweets for another screen name
            Assert.AreEqual(0, nonSalesForceTweets.Count);
        }
Beispiel #4
0
 private void Initialize()
 {
     twitterAuthorizer = new TwitterAuthorizer();
     tweets            = new List <MWC.BL.Tweet> ();
 }
Beispiel #5
0
        public NeuroniaViewModel(CoreDispatcher dispatcher, ConsumerData consumerData)
            : base(Messenger.Default)
        {
            SharedDispatcher.Dispatcher = dispatcher;
            twitterUIComponent          = new TwitterUIComponent();
            accountList              = new ObservableCollection <TwitterAccount>();
            TimelineListTab          = new ObservableCollection <TimelineTab>();
            NowTimelineList          = new ObservableCollection <TimelineBase>();
            SearchDetail             = new SearchDetail();
            Setting                  = new SettingData();
            TweetDetail              = new TweetDetail(new TimelineRow(Tweet.ZeroTweet, "", Setting, CallRowAction));
            DMDetail                 = new DirectMessageDetail();
            UserDetail               = new UserDetail();
            NotifyMessage            = new NotificationMessage();
            IsFirstNavigate          = true;
            this.consumerData        = consumerData;
            this.connectionStatusStr = "";
            Authorizer               = new TwitterAuthorizer();
            restTimerCounter         = 0;
            LicenseInfo              = CurrentApp.LicenseInformation;

            RestTimer          = new DispatcherTimer();
            RestTimer.Interval = TimeSpan.FromMinutes(1);
            RestTimer.Tick    += (s, e) => Task.Run(async() =>
            {
                await SharedDispatcher.RunAsync(() =>
                {
                    NowTime    = DateTime.Now;
                    NowTimeStr = NowTime.ToString("HH:mm");
                });

                if (restTimerCounter % 2 == 0)
                {
                    foreach (var tab in TimelineListTab)
                    {
                        foreach (var t in tab.TimelineList)
                        {
                            await t.RestUpdate();
                        }
                    }
                }
                if (restTimerCounter % 10 == 0)
                {
                    TwitterUIComponent.MentionSuggestSourceList.Clear();
                    TwitterUIComponent.HashSuggestSourceList.Clear();
                    foreach (var tab in TimelineListTab)
                    {
                        foreach (var t in tab.TimelineList)
                        {
                            foreach (var ac in (await t.GetTimelineAccountListAsync()))
                            {
                                TwitterUIComponent.MentionSuggestSourceList.Add(ac);
                            }
                            foreach (var ac in (await t.GetTimelineHashTagListAsync()))
                            {
                                TwitterUIComponent.HashSuggestSourceList.Add(ac);
                            }
                        }
                    }
                }
                restTimerCounter++;
                if (restTimerCounter > 100)
                {
                    restTimerCounter = 0;
                }
            });
            RestTimer.Start();
            CommandInitialize();
            timelineWidth = 320;
            IsFirstLaunch = true;
            if (LicenseInfo.ProductLicenses["ApplicationTheme"].IsActive)
            {
                IsPurchase = true;
            }
            else
            {
                IsPurchase = false;
            }
        }