Esempio n. 1
0
        public void GetSubscriptionInfos_ReturnsSubscriberCountEqualsTimesAddedAndSubtracted_MultipleQueries()
        {
            var querySubscription = new QuerySubscriptions();

            var queryCount = 2;
            var query      = new SingleQuoteQuery(1);

            var queryCount2 = 3;
            var query2      = new SingleQuoteQuery(2);

            for (var i = 0; i < queryCount; i++)
            {
                querySubscription.AddSubscriber(query);
            }

            for (var i = 0; i < queryCount2; i++)
            {
                querySubscription.AddSubscriber(query2);
            }

            querySubscription.RemoveSubscriber(query);
            querySubscription.RemoveSubscriber(query2);

            var querySubscriptionInfos = querySubscription.GetSubscriptionInfos();

            Assert.Equal(2, querySubscriptionInfos.Count());

            var subcribedQuery  = querySubscriptionInfos.First(x => x.Query == query);
            var subcribedQuery2 = querySubscriptionInfos.First(x => x.Query == query2);

            Assert.Equal(1, subcribedQuery.SubscriberCount);
            Assert.Equal(2, subcribedQuery2.SubscriberCount);
        }
Esempio n. 2
0
        public void GetSubscriptionInfos_SubscriberCountNeverLessThanZero_WhenSubscribersRemoved()
        {
            var querySubscription = new QuerySubscriptions();

            var query = new SingleQuoteQuery(1);

            querySubscription.AddSubscriber(query);

            querySubscription.RemoveSubscriber(query);
            querySubscription.RemoveSubscriber(query);
            querySubscription.RemoveSubscriber(query);

            var querySubscriptionInfos = querySubscription.GetSubscriptionInfos();

            Assert.Single(querySubscriptionInfos);
            Assert.Equal(0, querySubscriptionInfos.Single().SubscriberCount);
            Assert.Equal(query, querySubscriptionInfos.Single().Query);
        }
Esempio n. 3
0
        public void GetSubscriptionInfos_ReturnsSubscriberCountEqualTimesAddedAndSubtracted_WhenSingleQuery(int timesAdded, int timesRemoved)
        {
            var querySubscription = new QuerySubscriptions();

            var query = new SingleQuoteQuery(1);

            for (var i = 0; i < timesAdded; i++)
            {
                querySubscription.AddSubscriber(query);
            }

            for (var i = 0; i < timesRemoved; i++)
            {
                querySubscription.RemoveSubscriber(query);
            }

            var querySubscriptionInfos = querySubscription.GetSubscriptionInfos();
            var expectedCount          = Math.Abs(timesAdded - timesRemoved);

            Assert.Single(querySubscriptionInfos);
            Assert.Equal(expectedCount, querySubscriptionInfos.Single().SubscriberCount);
            Assert.Equal(query, querySubscriptionInfos.Single().Query);
        }