Пример #1
0
        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);
        }