public void Should_Pass_Case_2() { // Given var resolver = new FakeTypeResolver(); var settings = new DogSettings(); resolver.Register(settings); var app = new CommandApp(new FakeTypeRegistrar(resolver)); app.Configure(config => { config.PropagateExceptions(); config.AddCommand <DogCommand>("dog"); }); // When var result = app.Run(new[] { "dog", "12", "4", "--good-boy", "--name", "Rufus", "--alive" }); // Then result.ShouldBe(0); settings.Legs.ShouldBe(12); settings.Age.ShouldBe(4); settings.GoodBoy.ShouldBe(true); settings.IsAlive.ShouldBe(true); settings.Name.ShouldBe("Rufus"); }
public void Should_Pass_Case_3() { // Given var resolver = new FakeTypeResolver(); var settings = new DogSettings(); resolver.Register(settings); var app = new CommandApp(new FakeTypeRegistrar(resolver)); app.Configure(config => { config.PropagateExceptions(); config.AddBranch <AnimalSettings>("animal", animal => { animal.AddCommand <DogCommand>("dog"); animal.AddCommand <HorseCommand>("horse"); }); }); // When var result = app.Run(new[] { "animal", "dog", "12", "--good-boy", "--name", "Rufus" }); // Then result.ShouldBe(0); settings.Age.ShouldBe(12); settings.GoodBoy.ShouldBe(true); settings.IsAlive.ShouldBe(false); settings.Name.ShouldBe("Rufus"); }
public void Should_Be_Able_To_Set_The_Default_Command() { // Given var resolver = new FakeTypeResolver(); var settings = new DogSettings(); resolver.Register(settings); var app = new CommandApp(new FakeTypeRegistrar(resolver)); app.SetDefaultCommand <DogCommand>(); // When var result = app.Run(new[] { "4", "12", "--good-boy", "--name", "Rufus" }); // Then result.ShouldBe(0); settings.Legs.ShouldBe(4); settings.Age.ShouldBe(12); settings.GoodBoy.ShouldBe(true); settings.Name.ShouldBe("Rufus"); }