Async command unit tests

This commit is contained in:
Frank Ray
2023-05-19 17:19:17 +01:00
committed by GitHub
parent 1ee2653cf8
commit 0ec70a44db
6 changed files with 158 additions and 5 deletions

View File

@ -0,0 +1,28 @@
namespace Spectre.Console.Tests.Data;
public sealed class AsynchronousCommand : AsyncCommand<AsynchronousCommandSettings>
{
private readonly IAnsiConsole _console;
public AsynchronousCommand(IAnsiConsole console)
{
_console = console;
}
public async override Task<int> ExecuteAsync(CommandContext context, AsynchronousCommandSettings settings)
{
// Simulate a long running asynchronous task
await Task.Delay(200);
if (settings.ThrowException)
{
throw new Exception($"Throwing exception asynchronously");
}
else
{
_console.WriteLine($"Finished executing asynchronously");
}
return 0;
}
}

View File

@ -6,8 +6,4 @@ public sealed class ThrowingCommand : Command<ThrowingCommandSettings>
{
throw new InvalidOperationException("W00t?");
}
}
public sealed class ThrowingCommandSettings : CommandSettings
{
}
}