public void CanSupplyASpecificInstanceForPredefinedParameterTypes() { var testImpl = new TestImpl(); var injector = new MethodParameterInjector(new object[] { "string", 5 }, new[] { new KeyValuePair<Type, object>(typeof(ITestInterface), testImpl) }); injector.GetParameters(_method3, new object[] { this }); Assert.That(injector.GetParameters(_method3, new object[] { this })[1], Is.SameAs(testImpl)); }
internal void Execute(ConsoleApplicationBase app, object command, MethodParameterInjector injector) { try { var parameters = injector.GetParameters(_method, new[] { command }); MethodInvoker.Invoke(_method, app, parameters); } catch (Exception e) { Toolkit.HandleException(e, command, injector); } }
private void Execute(object command, MethodParameterInjector injector) { try { var parameters = injector.GetParameters(_method, new [] {command}); MethodInvoker.Invoke(_method, _handler, parameters); } catch (Exception e) { Toolkit.HandleException(e, command, injector); } }
public void Execute(ConsoleApplicationBase app, object command, IConsoleAdapter console, MethodParameterInjector injector, CommandExecutionMode executionMode) { try { var parameters = injector.GetParameters(_method, new[] { command }); MethodInvoker.Invoke(_method, command, parameters); } catch (Exception e) { Toolkit.HandleException(e, command, injector); } }
public void ConstructorProvidedInjectableIsUsed() { var injector = new MethodParameterInjector(new object[]{this}); Assert.That(injector.GetParameters(_method1, new object[] {}), Is.EqualTo(new object[] {this})); }
public void AnExceptionIsThrownIfTheParametersCannotBeInjected() { var injector = new MethodParameterInjector(new object[]{5}); injector.GetParameters(_method2, new object[] {this}); }
public void SpecificInstancesCanBeInjectedAfterConstruction() { var testImpl = new TestImpl(); var injector = new MethodParameterInjector(new object[] { "string", 5 }); injector.AddInstance<ITestInterface>(testImpl); injector.GetParameters(_method3, new object[] { this }); Assert.That(injector.GetParameters(_method3, new object[] { this })[1], Is.SameAs(testImpl)); }
public void MultipleParametersAreInjected() { var injector = new MethodParameterInjector(new object[]{5, "string"}); Assert.That(injector.GetParameters(_method2, new object[] {this}), Is.EqualTo(new object[] {this, 5, "string"})); }