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