public IntentRecognitionResult Parse(LuisResponseDto response) { var result = new IntentRecognitionResult(); var intent = response.MostProbableIntent; result.OriginalIntent = intent; result.IntentLabel = intent.IntentLabel; var action = intent.Actions?.FirstOrDefault(a => a.Triggered); if (action != null) { result.PropertyParameter = action.Parameters.FirstOrDefault(p => p.Value != null && p.Value.Any(v => v.Type == "Property"))? .Value.First() .Entity; result.RoomParameter = action.Parameters.FirstOrDefault(p => p.Value != null && p.Value.Any(v => v.Type == "Room"))?.Value.First().Entity; result.ThingParameter = action.Parameters.FirstOrDefault(p => p.Value != null && p.Value.Any(v => v.Type == "Thing"))?.Value.First().Entity; var numericParameter = action.Parameters.FirstOrDefault(p => p.Value != null && p.Value.Any(v => v.Type == "builtin.number"))? .Value.First() .Entity; if (numericParameter != null) { result.NumericParameter = int.Parse(numericParameter); } } return(result); }
public void JsonIsProperlyLoaded() { var file = File.ReadAllText("TestData/TurnOnTvResponse.txt"); LuisResponseDto obj = null; Assert.DoesNotThrow(() => obj = JsonConvert.DeserializeObject <LuisResponseDto>(file)); Assert.That(obj, Is.Not.Null); }