public ExpressionExtractorTests()
        {
            var currencyService = new TestCurrencyService();

            var tokenQueueFactory   = new TokenQueueFactory();
            var coinMarketCapClient = new TestCoinMarketCapClient();
            var fixerClient         = new TestFixerClient();
            var currencyConverter   = new CurrencyConverter(coinMarketCapClient, fixerClient);
            var tokenConverter      = new TokenConverter(currencyConverter, currencyService, coinMarketCapClient, fixerClient);
            var interpreterFactory  = new InterpreterFactory(tokenConverter, currencyService, tokenQueueFactory);

            this.expressionExtractor = new ExpressionExtractor(interpreterFactory);
        }
        public static Select2AjaxViewModel Create <TController>(Expression <Func <TController, JsonResult> > actionExpression,
                                                                string name, int?selectedValue, string selectedValueName)
            where TController : Controller
        {
            var actionName     = ExpressionExtractor.ExtractMethodName(actionExpression);
            var controllerName = typeof(TController).Name;

            controllerName = controllerName.Substring(0, controllerName.IndexOf("Controller"));

            var vm = new Select2AjaxViewModel(controllerName, actionName, name, selectedValue, selectedValueName);

            return(vm);
        }
        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);
        }
Beispiel #4
0
 public RedditUnreadMessagesReader(IBotSettings botSettings, IRemindRequestService remindRequestService, ExpressionExtractor expressionExtractor, RedditClientFactory clientFactory)
 {
     this.client = clientFactory.Create(botSettings);
     this.expressionExtractor  = expressionExtractor;
     this.remindRequestService = remindRequestService;
 }