public void GIVENEmptyResult_WHENQueryResultAdapterIsInvoked_THENExceptionIsBeingThrown()
        {
            // Arrange
            const QueryResult emptyResult = null;

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() => new QueryResultAdapter(emptyResult));
        }
Ejemplo n.º 2
0
        public void GIVENEmptyQueryResult_WHENTrackEventIsInvoked_THENExceptionIsBeingThrown(
            IMessageActivity activity,
            InstrumentationSettings settings)
        {
            // Arrange
            var instrumentation = new QnAInstrumentation(this.telemetryClient, settings);
            const QueryResult emptyQueryResult = null;

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() => instrumentation.TrackEvent(activity, emptyQueryResult));
        }
Ejemplo n.º 3
0
        public void GIVENAnyActivity_WHENTrackEventIsInvoked_THENEventTelemetryIsBeingSent(
            IMessageActivity activity,
            QueryResult queryResult,
            InstrumentationSettings settings)
        {
            // Arrange
            var instrumentation = new QnAInstrumentation(this.telemetryClient, settings);

            // Act
            instrumentation.TrackEvent(activity, queryResult);

            // Assert
            this.mockTelemetryChannel.Verify(
                tc => tc.Send(It.Is <EventTelemetry>(t =>
                                                     t.Name == EventTypes.QnaEvent &&
                                                     t.Properties[QnAConstants.UserQuery] == activity.AsMessageActivity().Text&&
                                                     t.Properties[QnAConstants.KnowledgeBaseQuestion] == string.Join(QuestionsSeparator.Separator, queryResult.Questions) &&
                                                     t.Properties[QnAConstants.KnowledgeBaseAnswer] == queryResult.Answer &&
                                                     t.Properties[QnAConstants.Score] == queryResult.Score.ToString(CultureInfo.InvariantCulture))),
                Times.Once);
        }
 public QueryResultAdapter(Microsoft.Bot.Builder.AI.QnA.QueryResult queryResult)
 {
     this.queryResult = queryResult ?? throw new ArgumentNullException(nameof(queryResult));
 }
        public void GIVENAnyQuery_WHENQueryResultAdapterIsInvoked_THENQueryResultIsMapped(QueryResult queryResult)
        {
            // Arrange
            var adapter = new QueryResultAdapter(queryResult);

            // Act
            var convertedQueryResult = adapter.QueryResult;

            // Assert
            Assert.Equal(convertedQueryResult.KnowledgeBaseQuestion, string.Join(QuestionsSeparator.Separator, queryResult.Questions));
            Assert.Equal(convertedQueryResult.KnowledgeBaseAnswer, queryResult.Answer);
            Assert.Equal(convertedQueryResult.Score, queryResult.Score.ToString(CultureInfo.InvariantCulture));
        }