public void Single_Test() { var target = SyntheticArguments.Single("test"); target.GetAllArguments().Count().Should().Be(1); target.Shift().AsString().Should().Be("test"); }
public void Get_Index_AlreadyConsumed() { var target = SyntheticArguments.Single("test"); target.Get(0).Should().NotBeOfType <MissingArgument>(); target.Get(0).MarkConsumed(); target.Get(0).Should().BeOfType <MissingArgument>(); }
public Command Format(IArguments args) { var argsList = _args .SelectMany(a => a.Access(args)) .Where(a => a != null) .ToList(); var commandArguments = new SyntheticArguments(argsList); return(Command.Create(_verb, commandArguments)); }
public void GetInstance_echo() { var target = new NinjectHandlerSource(null, null); var handlers = new HandlerSourceCollection(new[] { target }, new AliasMap()); var state = new EngineState(true, new EngineEventCatalog(), new EngineSettings()); var dispatcher = new CommandDispatcher(CommandParser.GetDefault(), handlers, new InstanceEnvironmentCollection(null), state, new ConsoleOutput()); var result = target.GetInstance(Command.Create("echo", SyntheticArguments.Empty()), dispatcher); result.Should().BeOfType <EchoHandler>(); }
public void GetAll_Named_Empty() { var target = new SyntheticArguments(new[] { new NamedArgument("a", "1"), new NamedArgument("a", "2") }); var result = target.GetAll("XXX").ToList(); result.Count.Should().Be(0); }
public void Shift_Test() { var target = new SyntheticArguments(new[] { new PositionalArgument("a"), new PositionalArgument("b") }); target.Shift().Value.Should().Be("a"); target.Shift().Value.Should().Be("b"); target.Shift().Should().BeOfType <MissingArgument>(); }
public void VerifyAllAreConsumed_NotConsumed() { var target = new SyntheticArguments(new IArgument[] { new PositionalArgument("test1"), new NamedArgument("b", "test2"), new FlagArgument("c") }); Action act = () => target.VerifyAllAreConsumed(); act.Should().Throw <CommandArgumentException>(); }
public void Environment_Test() { var target = new NinjectHandlerSource(null, null); var handlers = new HandlerSourceCollection(new[] { target }, new AliasMap()); var environments = new InstanceEnvironmentCollection(new TestEnvironment("test")); var state = new EngineState(true, new EngineEventCatalog(), new EngineSettings()); var dispatcher = new CommandDispatcher(CommandParser.GetDefault(), handlers, environments, state, new ConsoleOutput()); var result = target.GetInstance(Command.Create("test-environment", SyntheticArguments.Empty()), dispatcher) as EnvironmentInjectionTestHandler; result.Should().NotBeNull(); result.Environment.Should().NotBeNull(); result.Environment.Should().BeOfType <TestEnvironment>(); }
public void From_Dictionary() { var target = SyntheticArguments.From( new Dictionary <string, string> { { "a", "1" }, { "b", "2" } } ); target.Get("a").AsString().Should().Be("1"); target.Get("b").AsString().Should().Be("2"); }
public void GetAll_Named_Test() { var target = new SyntheticArguments(new[] { new NamedArgument("a", "1"), new NamedArgument("a", "2") }); var result = target.GetAll("a").Cast <INamedArgument>().ToList(); result.Count.Should().Be(2); result[0].Value.Should().Be("1"); result[1].Value.Should().Be("2"); }
public void MapTo_Test() { var target = new SyntheticArguments(new IArgument[] { new PositionalArgument("test1"), new NamedArgument("b", "test2"), new FlagArgument("c") }); var result = target.MapTo <TestArgs1>(); result.A.Should().Be("test1"); result.B.Should().Be("test2"); result.C.Should().BeTrue(); result.D.Should().BeFalse(); }
public void VerifyAllAreConsumed_Consumed() { var target = new SyntheticArguments(new IArgument[] { new PositionalArgument("test1"), new NamedArgument("b", "test2"), new FlagArgument("c") }); target.Consume(0); target.Consume("b"); target.ConsumeFlag("c"); Action act = () => target.VerifyAllAreConsumed(); act.Should().NotThrow(); }
public void Get_Named_Consumed() { var target = new SyntheticArguments(new[] { new NamedArgument("a", "1"), new NamedArgument("a", "2") }); var result = target.Get("a"); result.Value.Should().Be("1"); result.MarkConsumed(); result = target.Get("a"); result.Value.Should().Be("2"); result.MarkConsumed(); result = target.Get("a"); result.Should().BeOfType <MissingArgument>(); }
public void Get_Index_TooHigh() { var target = SyntheticArguments.Empty(); target.Get(0).Should().BeOfType <MissingArgument>(); }
public void Empty_Test() { var target = SyntheticArguments.Empty(); target.GetAllArguments().Count().Should().Be(0); }