Beispiel #1
0
        public static List <MultiBuilder> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log, ExecutionContext context)
        {
            _context = context;
            log.LogInformation("GetMulti API accessed, Date:" + new DateTime().ToString());
            var multiId = req.Query["id"].ToString();
            var count   = req.Query["count"].ToString();
            var a       = req.Query["ns"].ToString();

            bool loadNonSelected;

            Boolean.TryParse(req.Query["ns"].ToString(), out loadNonSelected);

            MultiEngine         multiEngine = new MultiEngine();
            List <MultiBuilder> multis;

            if (multiId != "")
            {
                multis = new List <MultiBuilder>()
                {
                    multiEngine.GetFromApiId(multiId)
                };
            }
            else
            {
                multis = multiEngine.GetLatest(count);
            }

            return(multis);
        }
        public static string Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log, ExecutionContext context)
        {
            _context = context;
            log.LogInformation("UpdateMultiResults API accessed, Date:" + new DateTime().ToString());
            var                 multiId     = req.Query["id"].ToString();
            MultiEngine         multiEngine = new MultiEngine();
            List <MultiBuilder> multis;

            if (multiId == "")
            {
                multis = multiEngine.GetRecent();
            }
            else
            {
                multis = new List <MultiBuilder>()
                {
                    multiEngine.GetFromApiId(multiId)
                };
            }

            foreach (MultiBuilder multi in multis)
            {
                UpdateResults(multi.Markets);
                UpdateResults(multi.FinalMarkets);
            }

            return("Success");
        }
Beispiel #3
0
        public async Task MultiEngineDecoratorReturnsFastestSubEngine(int elapsed1, int elapsed2)
        {
            List <WebPage> result1 = new List <WebPage>()
            {
                new WebPage(_query, "BBB", "BBB", "BBB", "Searcher1"),
                new WebPage(_query, "ZZZ", "ZZZ", "ZZZ", "Searcher1"),
                new WebPage(_query, "AAA", "AAA", "AAA", "Searcher1"),
            };

            List <WebPage> result2 = new List <WebPage>()
            {
                new WebPage(_query, "BBBB", "BBBB", "BBBB", "Searcher2"),
                new WebPage(_query, "ZZZZ", "ZZZZ", "ZZZZ", "Searcher2"),
                new WebPage(_query, "AAAA", "AAAA", "AAAA", "Searcher2"),
            };

            var searcher1 = new Mock <ISearchEngine>();
            var searcher2 = new Mock <ISearchEngine>();

            searcher1.Setup(x => x.SearchAsync(It.IsAny <string>(), 1))
            .ReturnsAsync(result1, TimeSpan.FromMilliseconds(elapsed1));

            searcher2.Setup(x => x.SearchAsync(It.IsAny <string>(), 1))
            .ReturnsAsync(result2, TimeSpan.FromMilliseconds(elapsed2));

            ISearchEngine sut = new MultiEngine(new[] { searcher1.Object, searcher2.Object });

            var res = await sut.SearchAsync(_query);

            var expResult = elapsed1 < elapsed2 ? result1 : result2;

            Assert.AreEqual(expResult, res);
        }