public static IServiceCollection BuildBase(this IServiceCollection serviceCollection, IEventHandler eventHandler = null) { if (eventHandler == null) { eventHandler = new EventHandlerMock(); serviceCollection.AddSingleton(eventHandler as EventHandlerMock); } else if (eventHandler is EventHandlerMock mockEventHandler) { serviceCollection.AddSingleton(mockEventHandler); } var manager = A.Fake <IManager>(); var logger = A.Fake <ILogger>(); var transLookup = A.Fake <ITranslationLookup>(); A.CallTo(() => transLookup[A <string> .Ignored]) .Returns("test"); A.CallTo(() => manager.GetLogger(A <long> .Ignored)) .Returns(logger); serviceCollection.AddSingleton(logger) .AddSingleton(manager) .AddSingleton <IDatabaseContextFactory, DatabaseContextFactoryMock>() .AddSingleton(A.Fake <IRConConnectionFactory>()) .AddSingleton(A.Fake <IRConConnection>()) .AddSingleton(transLookup) .AddSingleton(A.Fake <IRConParser>()) .AddSingleton(A.Fake <IParserRegexFactory>()) .AddSingleton <DataFileLoader>() .AddSingleton(A.Fake <IGameLogReaderFactory>()) .AddSingleton(A.Fake <IMetaService>()) .AddSingleton(eventHandler) .AddSingleton(ConfigurationGenerators.CreateApplicationConfiguration()) .AddSingleton(ConfigurationGenerators.CreateCommandConfiguration()) .AddSingleton <IConfigurationHandler <ApplicationConfiguration>, ApplicationConfigurationHandlerMock>(); serviceCollection.AddSingleton(_sp => new IW4MServer(_sp.GetRequiredService <IManager>(), ConfigurationGenerators.CreateServerConfiguration(), _sp.GetRequiredService <ITranslationLookup>(), _sp.GetRequiredService <IRConConnectionFactory>(), _sp.GetRequiredService <IGameLogReaderFactory>(), _sp.GetRequiredService <IMetaService>()) { RconParser = _sp.GetRequiredService <IRConParser>() }); return(serviceCollection); }
public static IServiceCollection BuildBase(this IServiceCollection serviceCollection, IEventHandler eventHandler = null) { if (eventHandler == null) { eventHandler = new EventHandlerMock(); serviceCollection.AddSingleton(eventHandler as EventHandlerMock); } else if (eventHandler is EventHandlerMock mockEventHandler) { serviceCollection.AddSingleton(mockEventHandler); } var manager = A.Fake <IManager>(); var transLookup = A.Fake <ITranslationLookup>(); A.CallTo(() => transLookup[A <string> .Ignored]) .Returns("test"); serviceCollection .AddLogging() .AddSingleton(A.Fake <ILogger>()) .AddSingleton(A.Fake <SharedLibraryCore.Interfaces.ILogger>()) .AddSingleton(new ServerConfiguration { IPAddress = "127.0.0.1", Port = 28960 }) .AddSingleton(manager) .AddSingleton <IDatabaseContextFactory, DatabaseContextFactoryMock>() .AddSingleton <IW4MServer>() .AddSingleton(A.Fake <IRConConnectionFactory>()) .AddSingleton(A.Fake <IRConConnection>()) .AddSingleton(transLookup) .AddSingleton(A.Fake <IRConParser>()) .AddSingleton(A.Fake <IParserRegexFactory>()) .AddSingleton <DataFileLoader>() .AddSingleton(A.Fake <IGameLogReaderFactory>()) .AddSingleton(A.Fake <IMetaService>()) .AddSingleton(A.Fake <IClientNoticeMessageFormatter>()) .AddSingleton(eventHandler) .AddSingleton(ConfigurationGenerators.CreateApplicationConfiguration()) .AddSingleton(ConfigurationGenerators.CreateCommandConfiguration()) .AddSingleton <IConfigurationHandler <ApplicationConfiguration>, ApplicationConfigurationHandlerMock>(); return(serviceCollection); }