public void WaitForRateLimit_EventRaised()
        {
            // Arrange
            var rateLimitAwaiter = CreateRateLimitAwaiter();
            
            var eventTestHelper = new EventTestHelper<QueryAwaitingEventArgs>();
            rateLimitAwaiter.QueryAwaitingForRateLimit += eventTestHelper.EventAction;

            // Act
            rateLimitAwaiter.WaitForCredentialsRateLimit(TEST_QUERY, _credentials);

            // Assert
            eventTestHelper.VerifyNumberOfCalls(1);
            eventTestHelper.VerifyAtWhere(0, x => x.Credentials == _credentials);
        }
        public void WaitForRateLimit_Unregister_EventRaised()
        {
            // Arrange
            var rateLimitAwaiter = CreateRateLimitAwaiter();

            var eventTestHelper = new EventTestHelper <QueryAwaitingEventArgs>();

            rateLimitAwaiter.QueryAwaitingForRateLimit += eventTestHelper.EventAction;
            rateLimitAwaiter.QueryAwaitingForRateLimit -= eventTestHelper.EventAction;

            // Act
            rateLimitAwaiter.WaitForCredentialsRateLimit(TEST_QUERY, _credentials);

            // Assert
            eventTestHelper.VerifyNumberOfCalls(0);
        }