private static async Task CompleteSuccessfully(IBackgroundWorkload <int, string> grain, int value)
        {
            // Act
            await grain.StartAsync(value);

            var result = await WaitForResultAsync(grain);

            // Assert
            result.Should().BeEquivalentTo(new Completed <string>($"Long running task with value {value} is completed"));
        }
        private static async Task <IResult> WaitForResultAsync(IBackgroundWorkload <int, string> grain)
        {
            IResult?result = null;

            while (result == null || result is Started)
            {
                result = await grain.GetResultAsync();
            }

            return(result);
        }