/// <summary> /// Initializes a new instance of the <see cref="CommandProcessor"/> class. /// </summary> /// <param name="activator">The <see cref="IActivator"/> used to resolve handlers and behaviors.</param> /// <param name="commandDescriptorFactory">The factory for <see cref="CommandDescriptor"/>'s.</param> /// <param name="commandContextAccessor">The accessor for the current <see cref="ICommandContext"/>.</param> /// <exception cref="ArgumentNullException">Argument <paramref name="activator"/> is <c>null</c>.</exception> public CommandProcessor( IActivator activator, ICommandDescriptorFactory commandDescriptorFactory, ICommandContextAccessor commandContextAccessor = null) { Ensure.Arg.NotNull(commandDescriptorFactory, nameof(commandDescriptorFactory)); Ensure.Arg.NotNull(activator, nameof(activator)); _commandDescriptorFactory = commandDescriptorFactory; _commandContextAccessor = commandContextAccessor; _activator = activator; }
public CommandProcessorTests() { _commandHandler = Substitute.For <ICommandHandler <TestCommand, TestResult> >(); _commandBehaviors = Enumerable.Empty <ICommandPipelineBehavior <TestCommand, TestResult> >(); _commandDescriptorFactory = Substitute.For <ICommandDescriptorFactory>(); _commandDescriptorFactory.CreateDescriptor(Arg.Is(typeof(TestCommand))) .Returns( new CommandDescriptor(typeof(TestCommand), new Dictionary <string, object>())); _commandContextAccessor = Substitute.For <ICommandContextAccessor>(); _serviceProvider = Substitute.For <IServiceProvider>(); _serviceProvider.GetService(Arg.Is(typeof(ICommandHandler <TestCommand, TestResult>))) .Returns(_ => _commandHandler); _serviceProvider.GetService(Arg.Is(typeof(IEnumerable <ICommandPipelineBehavior <TestCommand, TestResult> >))) .Returns(_ => _commandBehaviors); _processor = new CommandProcessor(new ServiceProviderActivator(_serviceProvider), _commandDescriptorFactory, _commandContextAccessor); }
public TestDependency(ICommandContextAccessor commandContextAccessor) { _commandContextAccessor = commandContextAccessor; }
public DefaultDiscordResultFormatter(ICommandContextAccessor contextAccessor) : base(contextAccessor) { }
public DiscordResultFormatter(ICommandContextAccessor contextAccessor) { Context = contextAccessor.Context; }
/// <summary> /// Formats a <see cref="AuthResult"/> for sending to Discord /// </summary> /// <param name="contextAccessor"></param> public AuthResultFormatter(ICommandContextAccessor contextAccessor) : base(contextAccessor) { }