public void TestAdd() { //Setup var tweets = new List <Tweet>() { }; var data = tweets.AsQueryable(); var mockSet = setUpAsQueriable(data); mockSet.Setup(d => d.Add(It.IsAny <Tweet>())).Callback <Tweet>((r) => tweets.Add(r)); mockSet.Setup(d => d.Remove(It.IsAny <Tweet>())).Callback <Tweet>((r) => tweets.Remove(r)); var mockContext = new Mock <TweetContext>(); mockContext.Setup(c => c.Tweets).Returns(mockSet.Object); // Arrange TweetDBRepository repo = new TweetDBRepository(mockContext.Object); Tweet newTweet = new Tweet() { Id = 3, MediaList = new List <MediaUrl>() }; repo.Add(newTweet); // Act var tweetResult = repo.Get(newTweet.Id); // Asert Assert.Equal(tweetResult, newTweet); }
public void ConfigureStream() { stream.ClearFollows(); stream.ClearTracks(); foreach (Subscription s in _subRepo.Find(s => s.Event.Id == streamEvent.Id)) { if (s.Type == Common.SubType.TRACK.ToString()) { stream.AddTrack(s.Value); } else if (s.Type == Common.SubType.PERSON.ToString()) { stream.AddFollow(s.TwitterId); } } stream.MatchingTweetReceived += (sender, args) => { Models.User isBannedUser = _userRepo.Find(b => (b.UserId == args.Tweet.CreatedBy.Id) && b.Type == Common.BanType).SingleOrDefault(); if (isBannedUser != null) { return; } Models.Tweet newTweet = new Models.Tweet(args.Tweet.Id, args.Tweet.FullText, args.Tweet.CreatedBy.ScreenName, args.Tweet.CreatedAt.ToUniversalTime(), args.Tweet.CreatedBy.Name, args.Tweet.CreatedBy.ProfileImageUrlFullSize, streamEvent, args.Tweet.CreatedBy.Id); TwitterWall.Models.Tweet result = _tweetRepo.Find(obj => obj.TweetId == newTweet.TweetId && obj.Event.Id == streamEvent.Id).SingleOrDefault(); if (result != null) { return; } _tweetRepo.Add(newTweet); _mediaRepo.AddFromTweet(args.Tweet, streamEvent); }; stream.StreamStopped += (sender, args) => { var exceptionThatCausedTheStreamToStop = args.Exception; var twitterDisconnectMessage = args.DisconnectMessage; StreamManager.ConnectionManager.GetHubContext <TwitterHub>().Clients.All.streamStatusChanged("Stopped: " + args.Exception + ". " + args.DisconnectMessage); }; }