public void TestSetArgument_WrongArgCount() { var picker = new CommandLineObjectPicker(new [] { "yyy" }, GetActivator()); var cmd = new ExecuteCommandSetArgument(GetMockActivator().Object, picker); Assert.IsTrue(cmd.IsImpossible); Assert.AreEqual("Wrong number of parameters supplied to command, expected 3 but got 1", cmd.ReasonCommandImpossible); }
public void TestSetArgument_NotAHost() { var c = WhenIHaveA <Catalogue>(); var picker = new CommandLineObjectPicker(new [] { $"Catalogue:{c.ID}", "fff", "yyy" }, GetActivator()); var cmd = new ExecuteCommandSetArgument(GetMockActivator().Object, picker); Assert.IsTrue(cmd.IsImpossible); Assert.AreEqual("First parameter must be an IArgumentHost", cmd.ReasonCommandImpossible); }
public void TestSetArgument_NoArgumentFound() { var pt = WhenIHaveA <ProcessTask>(); var picker = new CommandLineObjectPicker(new [] { $"ProcessTask:{pt.ID}", "fff", "yyy" }, GetActivator()); var cmd = new ExecuteCommandSetArgument(GetMockActivator().Object, picker); Assert.IsTrue(cmd.IsImpossible); StringAssert.StartsWith("Could not find argument called 'fff' on ", cmd.ReasonCommandImpossible); }
public void TestSetArgument_ArgumentWrongType() { var pta = WhenIHaveA <ProcessTaskArgument>(); var pt = pta.ProcessTask; pta.Name = "fff"; // Argument expects int but is given string value "yyy" pta.SetType(typeof(int)); var picker = new CommandLineObjectPicker(new [] { $"ProcessTask:{pt.ID}", "fff", "yyy" }, GetActivator()); var cmd = new ExecuteCommandSetArgument(GetMockActivator().Object, picker); Assert.IsTrue(cmd.IsImpossible); StringAssert.StartsWith("Provided value 'yyy' does not match expected Type 'Int32' of ", cmd.ReasonCommandImpossible); }