public async Task MultiCategoryClassifyBatchWithStatisticsTest() { TextAnalyticsClient client = GetClient(); TextAnalyticsActions batchActions = new TextAnalyticsActions() { MultiCategoryClassifyActions = new List <MultiCategoryClassifyAction>() { new MultiCategoryClassifyAction(TestEnvironment.MultiClassificationProjectName, TestEnvironment.MultiClassificationDeploymentName) } }; AnalyzeActionsOptions options = new AnalyzeActionsOptions() { IncludeStatistics = true }; AnalyzeActionsOperation operation = await client.StartAnalyzeActionsAsync(s_multiCategoryClassifyBatchDocuments, batchActions, options); await PollUntilTimeout(operation); Assert.IsTrue(operation.HasCompleted); // Take the first page AnalyzeActionsResult resultCollection = operation.Value.ToEnumerableAsync().Result.FirstOrDefault(); IReadOnlyCollection <MultiCategoryClassifyActionResult> multiCategoryClassifyActionsResults = resultCollection.MultiCategoryClassifyResults; MultiCategoryClassifyResultCollection multiCategoryClassifyResults = multiCategoryClassifyActionsResults.FirstOrDefault().DocumentsResults; ValidateSummaryBatchResult(multiCategoryClassifyResults, includeStatistics: true); }
private void ValidateSummaryBatchResult(MultiCategoryClassifyResultCollection results, bool includeStatistics = false) { Assert.AreEqual(results.ProjectName, TestEnvironment.MultiClassificationProjectName); Assert.AreEqual(results.DeploymentName, TestEnvironment.MultiClassificationDeploymentName); if (includeStatistics) { Assert.IsNotNull(results.Statistics); Assert.Greater(results.Statistics.DocumentCount, 0); Assert.Greater(results.Statistics.TransactionCount, 0); Assert.GreaterOrEqual(results.Statistics.InvalidDocumentCount, 0); Assert.GreaterOrEqual(results.Statistics.ValidDocumentCount, 0); } else { Assert.IsNull(results.Statistics); } foreach (MultiCategoryClassifyResult result in results) { Assert.That(result.Id, Is.Not.Null.And.Not.Empty); Assert.False(result.HasError); Assert.IsNotNull(result.Warnings); if (includeStatistics) { Assert.GreaterOrEqual(result.Statistics.CharacterCount, 0); Assert.Greater(result.Statistics.TransactionCount, 0); } else { Assert.AreEqual(0, result.Statistics.CharacterCount); Assert.AreEqual(0, result.Statistics.TransactionCount); } ValidateSummaryDocumentResult(result.Classifications); } }
public async Task MultiCategoryClassifyBatchWithErrorTest() { TextAnalyticsClient client = GetClient(); var documents = new List <string> { "Subject is taking 100mg of ibuprofen twice daily", "", }; TextAnalyticsActions batchActions = new TextAnalyticsActions() { MultiCategoryClassifyActions = new List <MultiCategoryClassifyAction>() { new MultiCategoryClassifyAction(TestEnvironment.MultiClassificationProjectName, TestEnvironment.MultiClassificationDeploymentName) } }; AnalyzeActionsOperation operation = await client.StartAnalyzeActionsAsync(documents, batchActions, "en"); await PollUntilTimeout(operation); Assert.IsTrue(operation.HasCompleted); // Take the first page AnalyzeActionsResult resultCollection = operation.Value.ToEnumerableAsync().Result.FirstOrDefault(); List <MultiCategoryClassifyActionResult> multiCategoryClassifyActions = resultCollection.MultiCategoryClassifyResults.ToList(); Assert.AreEqual(1, multiCategoryClassifyActions.Count); MultiCategoryClassifyResultCollection documentsResults = multiCategoryClassifyActions[0].DocumentsResults; Assert.IsFalse(documentsResults[0].HasError); Assert.IsTrue(documentsResults[1].HasError); Assert.AreEqual(TextAnalyticsErrorCode.InvalidDocument, documentsResults[1].Error.ErrorCode.ToString()); }