private void ValidateErrorTranslate(string errorAsString, SerializableErrorTranslator errorTranslator, Type expectedExceptionType)
        {
            var exception = errorTranslator.TranslateBack(errorAsString);

            if (exception.GetType() == expectedExceptionType)
            {
                Logger.LogInformation("Exception been translated as expected");
            }
            else
            {
                Logger.LogError("Error translate failed.");
            }
        }
        private async Task ValidateSagaErrorAsync(ISagaGrain saga, SerializableErrorTranslator errorTranslator = null, Type expectedExceptionType = null)
        {
            var errorAsString = await saga.GetSagaError();

            if (errorAsString != null)
            {
                Logger.LogInformation("Exception been thrown as expected");

                if (errorTranslator != null)
                {
                    ValidateErrorTranslate(errorAsString, errorTranslator, expectedExceptionType);
                }

                return;
            }

            Logger.LogError("Activity ran without throwing exceptions");
        }