private async Task <bool> CheckCounters(int numProduced, ITimedConsumerGrain consumer, bool assertIsTrue)
        {
            var numConsumed = await consumer.GetNumberConsumed();

            if (assertIsTrue)
            {
                Assert.IsTrue(numProduced > 0, "Events were not produced");
                Assert.AreEqual(numProduced, numConsumed, "Produced and Consumed counts do not match");
            }
            else if (numProduced <= 0 ||         // no events produced?
                     numProduced != numConsumed) // consumed events don't match produced events for any subscription or specific handler (if sent)?
            {
                if (numProduced <= 0)
                {
                    _logger.Info("numProduced <= 0: Events were not produced");
                }

                if (numProduced != numConsumed)
                {
                    _logger.Info("numProduced != consumed: Produced and consumed counts do not match. numProduced = {0}, consumed = {1}",
                                 numProduced, numConsumed);
                }

                return(false);
            }

            _logger.Info("All counts are equal. numProduced = {0}, consumersCount = {1}", numProduced, numConsumed); //Utils.DictionaryToString(numConsumed));

            return(true);
        }
        private async Task<bool> CheckCounters(int numProduced, ITimedConsumerGrain consumer, bool assertIsTrue)
        {
            var numConsumed = await consumer.GetNumberConsumed();

            if (assertIsTrue)
            {
                Assert.IsTrue(numProduced > 0, "Events were not produced");
                Assert.AreEqual(numProduced, numConsumed, "Produced and Consumed counts do not match");
            }
            else if (numProduced <= 0 || // no events produced?
                     numProduced != numConsumed) // consumed events don't match produced events for any subscription or specific handler (if sent)?
            {
                if (numProduced <= 0)
                {
                    _logger.Info("numProduced <= 0: Events were not produced");
                }

                if (numProduced != numConsumed)
                {
                    _logger.Info("numProduced != consumed: Produced and consumed counts do not match. numProduced = {0}, consumed = {1}",
                        numProduced, numConsumed);
                }

                return false;
            }

            _logger.Info("All counts are equal. numProduced = {0}, consumersCount = {1}", numProduced, numConsumed); //Utils.DictionaryToString(numConsumed));    

            return true;
        }