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); }
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); }
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); }