private static TestLocal InitializeCommander(ICommandRegistrationContainer registrations, Action <IConsoleCommand> assert) { var memoryRx = MemoryRx.Create(); var loggerFactory = new LoggerFactory(memoryRx); var builder = new ContainerBuilder(); builder .RegisterInstance(loggerFactory) .As <ILoggerFactory>(); builder .RegisterInstance(assert); builder .RegisterModule(new CommanderModule(registrations)); var container = builder.Build(); var scope = container.BeginLifetimeScope(); return(new TestLocal(container, scope) { MemoryRx = memoryRx, Executor = scope.Resolve <ICommandLineExecutor>(), Assert = assert }); }
public CommandParameterMapper( [NotNull] ILoggerFactory loggerFactory, [NotNull] ICommandRegistrationContainer registrations, [NotNull] ITypeConverter converter) { _logger = loggerFactory.CreateLogger(nameof(CommandParameterMapper)); _registrations = registrations ?? throw new ArgumentNullException(nameof(registrations)); _converter = converter ?? throw new ArgumentNullException(nameof(converter)); }
public static ICommandRegistrationContainer Register <T>(this ICommandRegistrationContainer commands) { return(commands.Register(CommandRegistration.Create <T>())); }
public CommanderModule([NotNull] ICommandRegistrationContainer registrations) { _registrations = registrations ?? throw new ArgumentNullException(nameof(registrations)); }
public static ICommandLineExecutor Create([NotNull] ILoggerFactory loggerFactory, [NotNull] ICommandRegistrationContainer commands) { if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } if (commands == null) { throw new ArgumentNullException(nameof(commands)); } var builder = new ContainerBuilder(); builder .RegisterInstance(loggerFactory) .As <ILoggerFactory>(); builder .RegisterModule(new CommanderModule(commands)); using (var container = builder.Build()) using (var scope = container.BeginLifetimeScope()) { return(scope.Resolve <ICommandLineExecutor>()); } }
public Help(ILoggerFactory loggerFactory, ICommandRegistrationContainer commandRegistrations) : base(loggerFactory) { _commandRegistrations = commandRegistrations; }