Esempio n. 1
0
        public async Task GetSearchSuggestions_LongQuery_CallsService()
        {
            var search   = new MockSearchService();
            var playback = new MockPlaybackService();

            search.GetSearchSuggestionsAsyncDelegate = MockGetSearchSuggestionsAsync;
            var viewModel = new MusicPageViewModel(search, playback);

            viewModel.Query = "lov";
            await viewModel.GetSearchSuggestions();

            Assert.AreEqual(2, viewModel.SearchSuggestions.Count);
            Assert.AreEqual("loveboy", viewModel.SearchSuggestions[1]);
        }
Esempio n. 2
0
        public async Task SubmitQuery_NoQuery_DoesNothing()
        {
            var search   = new MockSearchService();
            var playback = new MockPlaybackService();

            search.GetFilteredSongsAsyncDelegate = MockGetFilteredSongsAsync;
            var viewModel = new MusicPageViewModel(search, playback);

            viewModel.Query = "";
            await viewModel.SubmitQuery();

            Assert.AreEqual(0, viewModel.Results.Count);
            Assert.IsFalse(viewModel.IsLoading);
        }
Esempio n. 3
0
        public async Task SubmitQuery_QueryPresent_CallsService()
        {
            var search   = new MockSearchService();
            var playback = new MockPlaybackService();

            search.GetFilteredSongsAsyncDelegate = MockGetFilteredSongsAsync;
            var viewModel = new MusicPageViewModel(search, playback);

            viewModel.Query = "bob";
            await viewModel.SubmitQuery();

            Assert.AreEqual(2, viewModel.Results.Count);
            Assert.AreEqual("One Love", viewModel.Results[0].Name);
            Assert.IsFalse(viewModel.IsLoading);
        }
        public static async Task <CarResultWrapper> RunOrchestrator(
            [OrchestrationTrigger] DurableOrchestrationContext context)
        {
            var searchRequest = context.GetInput <CarSearchRequest>();
            var suppliers     = await context.CallActivityWithRetryAsync <List <Supplier> >("GetActiveSuppliers", RetryPolicy.DbReadRetryOption, null);

            bool isLocalhost;

            bool.TryParse(Environment.GetEnvironmentVariable("Localhost"), out isLocalhost);
            MockSearchService.IsLocalHost = isLocalhost;
            MockSearchService.InitData();

            var searchParallelTasks = new List <Task <List <CarPrice> > >();

            foreach (var sup in suppliers)
            {
                var task = context.CallActivityAsync <List <CarPrice> >("SearchCarSupplier", new
                {
                    CarSearchRequest = searchRequest,
                    Supplier         = sup
                });
                searchParallelTasks.Add(task);
            }

            await Task.WhenAll(searchParallelTasks);

            var carPriceResults = new CarResultWrapper {
                BookingDetail = searchRequest
            };
            var carResults = new List <CarPrice>();

            foreach (var t in searchParallelTasks)
            {
                carResults.AddRange(t.Result);
            }
            carPriceResults.CarPrices = carResults;
            // TODO: fan-in, aggregate & de-duplicate data, sort/grouping etc.

            return(carPriceResults);
        }
Esempio n. 5
0
 public TruncatingSearchServiceTests()
 {
     schema      = new MockSchema();
     mockService = new MockSearchService(schema);
     sut         = new TruncatingSearchService(mockService);
 }