public async Task when_generating_readme_without_commands_then_readme_is_generated()
        {
            var descriptor = new GenerateReadmeCommandDescriptorTest();

            var command = new GenerateReadmeCommand(descriptor);

            await command.ExecuteAsync(output);

            Assert.Equal(ExpectedReadmeWithoutCommands, File.ReadAllText(descriptor.OutputFile));
        }
        public async Task when_generating_readme_with_commands_and_read_command_template_fails_then_readme_is_generated_without_commands()
        {
            var descriptor = new GenerateReadmeCommandDescriptorTest()
                             .WithCommand("test", new TestCommandDescriptor(), () => throw new FileNotFoundException("template not found"));

            var command = new GenerateReadmeCommand(descriptor);

            await command.ExecuteAsync(output);

            Assert.Equal(ExpectedReadmeWithoutCommands, File.ReadAllText(descriptor.OutputFile));
        }
        public async Task when_generating_readme_with_commands_then_readme_is_generated()
        {
            var descriptor = new GenerateReadmeCommandDescriptorTest()
                             .WithCommand("test", new TestCommandDescriptor(), () => TestCommandTemplate);

            var command = new GenerateReadmeCommand(descriptor);

            await command.ExecuteAsync(output);

            Assert.Equal(ExpectedReadmeWithTestCommand, File.ReadAllText(descriptor.OutputFile));
        }