mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-19 10:12:50 +08:00

Also moves tests to `./test` which makes it possible for all test projects to share the same .editorconfig files and similar.
31 lines
817 B
C#
31 lines
817 B
C#
using System;
|
|
using System.Linq;
|
|
using Shouldly;
|
|
|
|
namespace Spectre.Console.Cli
|
|
{
|
|
public static class CommandContextExtensions
|
|
{
|
|
public static void ShouldHaveRemainingArgument(this CommandContext context, string name, string[] values)
|
|
{
|
|
if (context == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(context));
|
|
}
|
|
|
|
if (values == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(values));
|
|
}
|
|
|
|
context.Remaining.Parsed.Contains(name).ShouldBeTrue();
|
|
context.Remaining.Parsed[name].Count().ShouldBe(values.Length);
|
|
|
|
foreach (var value in values)
|
|
{
|
|
context.Remaining.Parsed[name].ShouldContain(value);
|
|
}
|
|
}
|
|
}
|
|
}
|