namespace Spectre.Console.Tests.Unit.Cli; public sealed partial class CommandAppTests { [ExpectationPath("Xml")] public sealed class Xml { [Fact] [Expectation("Test_1")] public Task Should_Dump_Correct_Model_For_Case_1() { // Given var fixture = new CommandAppTester(); fixture.Configure(config => { config.PropagateExceptions(); config.AddBranch("animal", animal => { animal.AddBranch("mammal", mammal => { mammal.AddCommand("dog"); mammal.AddCommand("horse"); }); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_2")] public Task Should_Dump_Correct_Model_For_Case_2() { // Given var fixture = new CommandAppTester(); fixture.Configure(config => { config.AddCommand("dog"); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_3")] public Task Should_Dump_Correct_Model_For_Case_3() { // Given var fixture = new CommandAppTester(); fixture.Configure(config => { config.AddBranch("animal", animal => { animal.AddCommand("dog"); animal.AddCommand("horse"); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_4")] public Task Should_Dump_Correct_Model_For_Case_4() { // Given var fixture = new CommandAppTester(); fixture.Configure(config => { config.AddBranch("animal", animal => { animal.AddCommand("dog"); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_5")] public Task Should_Dump_Correct_Model_For_Case_5() { // Given var fixture = new CommandAppTester(); fixture.Configure(config => { config.AddCommand("cmd"); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_6")] public Task Should_Dump_Correct_Model_For_Model_With_Default_Command() { // Given var fixture = new CommandAppTester(); fixture.SetDefaultCommand(); fixture.Configure(config => { config.AddCommand("horse"); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_7")] public Task Should_Dump_Correct_Model_For_Model_With_Single_Branch_Single_Branch_Default_Command() { // Given var fixture = new CommandAppTester(); fixture.Configure(configuration => { configuration.AddBranch("animal", animal => { animal.AddBranch("mammal", mammal => { mammal.SetDefaultCommand(); }); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_8")] public Task Should_Dump_Correct_Model_For_Model_With_Single_Branch_Single_Command_Default_Command() { // Given var fixture = new CommandAppTester(); fixture.Configure(configuration => { configuration.AddBranch("animal", animal => { animal.AddCommand("dog"); animal.SetDefaultCommand(); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Test_9")] public Task Should_Dump_Correct_Model_For_Model_With_Default_Command_Single_Branch_Single_Command_Default_Command() { // Given var fixture = new CommandAppTester(); fixture.SetDefaultCommand(); fixture.Configure(configuration => { configuration.AddBranch("animal", animal => { animal.AddCommand("dog"); animal.SetDefaultCommand(); }); }); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } [Fact] [Expectation("Hidden_Command_Options")] public Task Should_Not_Dump_Hidden_Options_On_A_Command() { // Given var fixture = new CommandAppTester(); fixture.SetDefaultCommand(); // When var result = fixture.Run(Constants.XmlDocCommand); // Then return Verifier.Verify(result.Output); } } }