public async void RecognizeInMultipleAppsTest() { // arrage var expectedIntent = "sampleIntent"; LuisResult luisResult = new LuisResult(); List <IntentModel> intents = new List <IntentModel>(); intents.Add(new IntentModel() { Intent = expectedIntent, Score = 100 }); luisResult.Intents = intents; luisResult.TopScoringIntent = new IntentModel() { Intent = "sampleIntent", Score = 100 }; luisResult.CompositeEntities = new List <CompositeEntityModel>(); luisResult.Entities = new List <EntityModel>(); var jsonRecognizerResult = JsonConvert.SerializeObject(luisResult); var handlerMock = new Mock <HttpClientHandler>(MockBehavior.Strict); handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .ReturnsAsync(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(jsonRecognizerResult), }) .Verifiable(); var storage = new MemoryStorage(); var userState = new UserState(storage); var conversationState = new ConversationState(storage); var adapter = new TestAdapter().Use(new AutoSaveStateMiddleware(conversationState)); var dialogState = conversationState.CreateProperty <DialogState>("dialogState"); var dialogs = new DialogSet(dialogState); var steps = new WaterfallStep[] { async(step, cancellationToken) => { await step.Context.SendActivityAsync("response"); // act step.Context.Activity.Text = "hello"; ILuisService luisService = new LuisService(EnvironmentName, ContentRootPath, null, handlerMock.Object); var list = await luisService.RecognizeInMultipleAppsAsync(step.Context, .90); var item = list.ToList().FirstOrDefault(); // assert Assert.Equal(expectedIntent, item.Intent); return(Dialog.EndOfTurn); } }; dialogs.Add(new WaterfallDialog( "test", steps)); await new TestFlow(adapter, async(turnContext, cancellationToken) => { var dc = await dialogs.CreateContextAsync(turnContext, cancellationToken); await dc.ContinueDialogAsync(cancellationToken); if (!turnContext.Responded) { await dc.BeginDialogAsync("test", null, cancellationToken); } }) .Send("ask") .AssertReply("response") .StartTestAsync(); }