public static IServiceProvider GetServiceProvider(MessageSenderConfiguration messageSenderConfiguration)
        {
            var memoryCache = new MemoryCache(new MemoryCacheOptions());

            var serviceProvider = new ServiceCollection()
                                  .AddSingleton <ICardboardLogger, CardboardLogger>()
                                  .AddSingleton <IGameHub, GameHub>()
                                  .AddSingleton <IMessageSender, MessageSender>()
                                  .AddSingleton <IMemoryCache>(memoryCache)
                                  .AddSingleton <IRouteHelper, RouteHelper>()
                                  .AddSingleton <IEventCardHelper, EventCardHelper>()
                                  .AddSingleton <IHandManagementHelper, HandManagementHelper>()
                                  .AddSingleton <IResearchStationHelper, ResearchStationHelper>()
                                  .AddSingleton <IKnowledgeShareHelper, KnowledgeShareHelper>()
                                  .AddSingleton <IMapNodeFactory, MapNodeFactory>()
                                  .AddScoped <IForSaleGameState, ForSaleGameState>()
                                  .AddScoped <IGame <IForSaleGameState, IForSaleGameTurn>, ForSaleGame>()
                                  .AddScoped <IPlayerFactory <IForSaleGameTurn>, ForSalePlayerFactory>()
                                  .AddScoped <IPandemicStateEditor, PandemicStateEditor>()

                                  .AddScoped <IPandemicState, PandemicState>()
                                  .AddScoped <IGame <IPandemicState, IPandemicTurn>, PandemicGame>()
                                  .AddScoped <IPlayerFactory <IPandemicTurn>, PandemicPlayerFactory>()
                                  .AddScoped <IPandemicActionValidator, PandemicActionValidator>()
                                  .AddSingleton <MessageSenderConfiguration>(messageSenderConfiguration)

                                  .BuildServiceProvider();

            return(serviceProvider);
        }
Esempio n. 2
0
        public void SendMessage_ServiceAddressIsNull_ThorwsException_Beauty(
            [Frozen] MessageSenderConfiguration messageSenderConfiguration,
            Message message,
            ConfigurableMessageSender sut)
        {
            messageSenderConfiguration.ServiceAddress = "";

            Assert.Throws <Exception>(() => sut.Add(message));
        }
 public PandemicGame(IPandemicState gamestate, IPandemicStateEditor stateEditor,
                     IPandemicActionValidator validator, IMessageSender messageSender,
                     MessageSenderConfiguration messageSenderConfiguration)
 {
     _state         = gamestate;
     _stateEditor   = stateEditor;
     _validator     = validator;
     _messageSender = messageSender;
     _messageSenderConfiguration = messageSenderConfiguration;
 }
 public PandemicBotStandard(IRouteHelper routeHelper,
                            IHandManagementHelper handManagementHelper, IResearchStationHelper researchStationHelper,
                            IEventCardHelper eventCardHelper, IKnowledgeShareHelper knowledgeShareHelper,
                            IMessageSender messageSender, MessageSenderConfiguration messageSenderConfiguration)
 {
     _routeHelper                = routeHelper;
     _handManagementHelper       = handManagementHelper;
     _researchStationHelper      = researchStationHelper;
     _eventCardHelper            = eventCardHelper;
     _knowledgeShareHelper       = knowledgeShareHelper;
     _messageSender              = messageSender;
     _messageSenderConfiguration = messageSenderConfiguration;
 }
Esempio n. 5
0
 public PandemicPlayerFactory(IRouteHelper routeHelper,
                              IResearchStationHelper researchStationHelper, IHandManagementHelper playerDeckHelper,
                              IEventCardHelper eventCardHelper, IKnowledgeShareHelper knowledgeShareHelper,
                              IMessageSender messageSender, MessageSenderConfiguration messageSenderConfiguration)
 {
     _routeHelper                = routeHelper;
     _researchStationHelper      = researchStationHelper;
     _playerDeckHelper           = playerDeckHelper;
     _eventCardHelper            = eventCardHelper;
     _knowledgeShareHelper       = knowledgeShareHelper;
     _messageSender              = messageSender;
     _messageSenderConfiguration = messageSenderConfiguration;
 }
Esempio n. 6
0
        public void SendMessage_ServiceAddressIsNull_ThorwsException_Ugly()
        {
            var messageSenderConfiguration = new MessageSenderConfiguration("", "Necati", "Kunduz");
            var smsConfiguration           = new SmsSenderConfiguration("", "", "");
            var emailConfiguration         = new EmailSenderConfiguration("", "", "");
            var communicationConfiguration = new CommunicationConfiguration(messageSenderConfiguration, emailConfiguration, smsConfiguration);
            var databaseConfiguration      = new DatabaseConfiguration();
            var routeConfiguration         = new RouteConfiguration();
            var globalConfiguration        = new GlobalConfiguration(communicationConfiguration, databaseConfiguration, routeConfiguration);

            var mockLogger = new Mock <ILogger>();
            var sut        = new ConfigurableMessageSender(mockLogger.Object, globalConfiguration);
            var message    = new Message("", "", true);


            Assert.Throws <Exception>(() => sut.Add(message));
        }
 public GameController(IOptions <MessageSenderConfiguration> configuration)
 {
     _messageSenderconfiguration = configuration.Value;
     _serviceProvider            = ServiceProviderFactory.GetServiceProvider(_messageSenderconfiguration);
 }
 public CommunicationConfiguration(MessageSenderConfiguration messageSenderConfiguration, EmailSenderConfiguration emailSenderConfiguration, SmsSenderConfiguration smsSenderConfiguration)
 {
     MessageSenderConfiguration = messageSenderConfiguration;
     EmailSenderConfiguration   = emailSenderConfiguration;
     SmsSenderConfiguration     = smsSenderConfiguration;
 }