Exemple #1
0
        private Interpreter CreateInterpreter(string text)
        {
            var connectionStringFactory = new TestConnectionStringFactory();
            var currencyService         = new CurrencyService(connectionStringFactory);
            var lexer             = new Lexer(text, currencyService);
            var tokenQueueFactory = new TokenQueueFactory();
            var parser            = new Parser(lexer, tokenQueueFactory);

            var coinMarketCapClient          = new CoinMarketCapClient();
            var fixerClient                  = new FixerClient();
            var currencyConverter            = new CurrencyConverter(coinMarketCapClient, fixerClient);
            var currencyAmountTokenConverter = new TokenConverter(currencyConverter, currencyService, coinMarketCapClient, fixerClient);

            return(new Interpreter(parser, currencyAmountTokenConverter));
        }
        public UnitTest1()
        {
            var settings = new TestBotSettings();
            var connectionStringFactory = new TestConnectionStringFactory();
            var coinmarkcapClient       = new CoinMarketCapClientCachingDecorator(new CoinMarketCapClient());
            var fixerClient             = new FixerClientCachingDecorator(new FixerClient());
            var currencyConverter       = new CurrencyConverter(coinmarkcapClient, fixerClient);
            var redditClientFactory     = new RedditClientFactory();

            this.currencyService      = new CurrencyService(connectionStringFactory);
            this.remindRequestService = new RemindRequestService(connectionStringFactory);
            var tokenConverter      = new TokenConverter(currencyConverter, currencyService, coinmarkcapClient, fixerClient);
            var tokenQueueFactory   = new TokenQueueFactory();
            var interpreterFactory  = new InterpreterFactory(tokenConverter, currencyService, tokenQueueFactory);
            var expressionExtractor = new ExpressionExtractor(interpreterFactory);

            this.unreadMessageReader  = new RedditUnreadMessagesReader(settings, remindRequestService, expressionExtractor, redditClientFactory);
            this.remindRequestHandler = new RemindRequestHandler(settings, remindRequestService, interpreterFactory, redditClientFactory);
        }