public async Task RecognizeCustomEntitiesTest() { TextAnalyticsClient client = GetClient(); TextAnalyticsActions batchActions = new TextAnalyticsActions() { RecognizeCustomEntitiesActions = new List <RecognizeCustomEntitiesAction>() { new RecognizeCustomEntitiesAction(TestEnvironment.RecognizeCustomEntitiesProjectName, TestEnvironment.RecognizeCustomEntitiesDeploymentName) } }; var operation = await client.StartAnalyzeActionsAsync(new List <string> { EnglishDocument1 }, batchActions); await PollUntilTimeout(operation); Assert.IsTrue(operation.HasCompleted); RecognizeCustomEntitiesResultCollection results = ExtractDocumentsResultsFromResponse(operation); RecognizeEntitiesResult firstResult = results.First(); CategorizedEntityCollection entites = firstResult.Entities; ValidateInDocumentResult(entites, e_document1ExpectedOutput); }
private void ValidateBatchDocumentsResult(RecognizeCustomEntitiesResultCollection results, Dictionary <string, List <string> > minimumExpectedOutput, bool includeStatistics = default) { 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 (RecognizeEntitiesResult entitiesInDocument in results) { Assert.That(entitiesInDocument.Id, Is.Not.Null.And.Not.Empty); Assert.False(entitiesInDocument.HasError); //Even though statistics are not asked for, TA 5.0.0 shipped with Statistics default always present. Assert.IsNotNull(entitiesInDocument.Statistics); if (includeStatistics) { Assert.GreaterOrEqual(entitiesInDocument.Statistics.CharacterCount, 0); Assert.Greater(entitiesInDocument.Statistics.TransactionCount, 0); } else { Assert.AreEqual(0, entitiesInDocument.Statistics.CharacterCount); Assert.AreEqual(0, entitiesInDocument.Statistics.TransactionCount); } ValidateInDocumentResult(entitiesInDocument.Entities, minimumExpectedOutput[entitiesInDocument.Id]); } }