public void BuildUsageMessage_Single()
        {
            var app = ConsoleApp.CreateBuilder(new string[0]).Build();

            app.AddSubCommand("commandhelptestbatch", "Complex2", new CommandHelpTestBatch().Complex);
            app.Host.Services.GetRequiredService <ConsoleAppOptions>().CommandDescriptors.TryGetDescriptor(new[] { "commandhelptestbatch", "Complex2" }, out var desc, out _);

            var builder  = CreateCommandHelpBuilder();
            var def      = builder.CreateCommandHelpDefinition(desc, true);
            var expected = @"Usage: Nantoka <1st> <2nd> <3rd> [options...]";

            builder.BuildUsageMessage(def, showCommandName: false, fromMultiCommand: false).Should().Be(expected);
        }
        public void BuildUsageMessage_Types()
        {
            var builder  = CreateCommandHelpBuilder();
            var expected = @"Usage: Nantoka <Command>

Commands:
  list-message-batch hello                            
  list-message-batch HelloWithAliasWithDescription    Description of command
  list-message-batch YetAnotherHello                  
";

            var app = ConsoleApp.CreateBuilder(new string[0]).Build();

            app.AddSubCommands <CommandHelpTestListMessageBatch>();
            var descs = app.Host.Services.GetRequiredService <ConsoleAppOptions>().CommandDescriptors.GetSubCommands("list-message-batch");

            builder.BuildHelpMessage(null, descs, false).Should().Be(expected);
        }
        public void BuildMethodListMessage()
        {
            var builder  = CreateCommandHelpBuilder();
            var expected = @$ "
Commands:
  list-message-batch hello                            
  list-message-batch YetAnotherHello                  
  list-message-batch HelloWithAliasWithDescription    Description of command
".TrimStart();

            var app = ConsoleApp.CreateBuilder(new string[0]).Build();

            app.AddSubCommands <CommandHelpTestListMessageBatch>();
            var descs = app.Host.Services.GetRequiredService <ConsoleAppOptions>().CommandDescriptors.GetSubCommands("list-message-batch");

            var msg = builder.BuildMethodListMessage(descs, false, out _);

            msg.Should().Be(expected);
        }