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); }