public void AddTrack(String keyword)
        {
            var track = _subRepo.Find(t => (t.Value == keyword) && (t.Type == Common.SubType.TRACK.ToString()) && (t.Event.Id == streamEvent.Id)).SingleOrDefault();

            if (track == null)
            {
                _subRepo.Add(new Subscription(keyword, Common.SubType.TRACK.ToString(), streamEvent));
            }
        }
        public void TestRemove()
        {
            //Setup
            var subscriptions = new List <Subscription>()
            {
            };
            var data    = subscriptions.AsQueryable();
            var mockSet = setUpAsQueriable(data);

            mockSet.Setup(d => d.Add(It.IsAny <Subscription>())).Callback <Subscription>((r) => subscriptions.Add(r));
            mockSet.Setup(d => d.Remove(It.IsAny <Subscription>())).Callback <Subscription>((r) => subscriptions.Remove(r));

            var mockContext = new Mock <TweetContext>();

            mockContext.Setup(c => c.Subscriptions).Returns(mockSet.Object);

            // Arrange
            SubscriptionDBRepository repo            = new SubscriptionDBRepository(mockContext.Object);
            Subscription             newSubscription = new Subscription()
            {
                Id = 3, Value = "Track", Type = "Track"
            };

            repo.Add(newSubscription);

            // Act
            repo.Remove(3);

            // Assert
            Assert.Equal(0, subscriptions.Count);
        }