138 instantiations of TextContent
Microsoft.Extensions.AI (1)
ChatCompletion\OpenTelemetryImageGenerator.cs (1)
192content.Add(new TextContent(request.Prompt));
Microsoft.Extensions.AI.Abstractions (7)
ChatCompletion\ChatMessage.cs (2)
31: this(role, content is null ? [] : [new TextContent(content)]) 116!string.IsNullOrWhiteSpace(text) ? new TextContent(text) :
ChatCompletion\ChatResponseExtensions.cs (1)
190static (contents, start, end) => new(MergeText(contents, start, end)) { AdditionalProperties = contents[start].AdditionalProperties?.Clone() });
ChatCompletion\ChatResponseUpdate.cs (2)
48: this(role, content is null ? null : [new TextContent(content)]) 162!string.IsNullOrWhiteSpace(text) ? new TextContent(text) :
SpeechToText\SpeechToTextResponse.cs (1)
35: this(content is null ? [] : [new TextContent(content)])
SpeechToText\SpeechToTextResponseUpdate.cs (1)
52: this(content is null ? [] : [new TextContent(content)])
Microsoft.Extensions.AI.Abstractions.Tests (42)
ChatCompletion\ChatMessageTests.cs (5)
90content.Add(new TextContent($"text-{i}")); 149new TextContent("text-1"), 150new TextContent("text-2"), 255new TextContent("content-1") 267new TextContent("content-4")
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (10)
681new() { Contents = [new TextContent("D") { Annotations = [new()] }] }, 682new() { Contents = [new TextContent("E") { Annotations = [new()] }] }, 683new() { Contents = [new TextContent("F") { Annotations = [new()] }] }, 684new() { Contents = [new TextContent("G") { Annotations = [] }] }, 685new() { Contents = [new TextContent("H") { Annotations = [] }] }, 686new() { Contents = [new TextContent("I") { Annotations = [new()] }] }, 687new() { Contents = [new TextContent("J") { Annotations = [new()] }] }, 689new() { Contents = [new TextContent("L") { Annotations = [new()] }] }, 692new() { Contents = [new TextContent("O") { Annotations = [new()] }] }, 693new() { Contents = [new TextContent("P") { Annotations = [new()] }] },
ChatCompletion\ChatResponseUpdateTests.cs (6)
44update.Contents.Add(new TextContent("text")); 48IList<AIContent> newList = [new TextContent("text")]; 95new TextContent("text-1"), 96new TextContent("text-2"), 121new TextContent("text-1"), 125new TextContent("text-2"),
Contents\AIContentTests.cs (1)
63new TextContent("a"),
Contents\TextContentTests.cs (2)
16TextContent c = new(text); 25TextContent c = new(null);
Image\ImageGenerationResponseTests.cs (1)
139new TextContent("Generated image description") // Edge case: text content in image response
SpeechToText\SpeechToTextClientExtensionsTests.cs (1)
65update.Contents.Add(new TextContent("world"));
SpeechToText\SpeechToTextResponseTests.cs (9)
76content.Add(new TextContent($"text-{i}")); 133List<AIContent> newContents = [new TextContent("text1"), new TextContent("text2")]; 150new TextContent("Text1"), 151new TextContent("Text2"), 152new TextContent("Text3"), 153new TextContent("Text4"), 210new TextContent("Hello, "), 212new TextContent("world!")
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (3)
52new([new TextContent("You?")]) { ModelId = "model123", StartTime = TimeSpan.FromSeconds(24), EndTime = TimeSpan.FromSeconds(25), AdditionalProperties = new() { ["c"] = "d" } }, 139new() { Contents = [new TextContent("Hello, ")] }, 141new() { Contents = [new TextContent("world!")] },
SpeechToText\SpeechToTextResponseUpdateTests.cs (4)
42newList.Add(new TextContent("content1")); 66new TextContent("text-1"), 67new TextContent("text-2"), 94new TextContent("text-1"),
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
179responseUpdate.Contents.Add(new TextContent(update));
Microsoft.Extensions.AI.AzureAIInference.Tests (3)
AzureAIInferenceChatClientTests.cs (3)
145[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 218[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 1069new TextContent("Describe this picture."),
Microsoft.Extensions.AI.Evaluation (1)
EvaluationContext.cs (1)
127: this(name, contents: new TextContent(content))
Microsoft.Extensions.AI.Evaluation.Integration.Tests (6)
SafetyEvaluatorTests.cs (6)
340new TextContent("What does this image depict?"), 378new TextContent("Here's an image pertaining to DotNet:"), 412new TextContent("What does this image depict?"), 425new TextContent("Here's an image pertaining to Microsoft Copilot:"), 461new TextContent("What does this image depict?"), 474new TextContent("Here's an image pertaining to Microsoft Copilot:"),
Microsoft.Extensions.AI.Evaluation.NLP (2)
BLEUEvaluatorContext.cs (1)
54contents: [.. references.Select(c => new TextContent(c))])
GLEUEvaluatorContext.cs (1)
54contents: [.. references.Select(c => new TextContent(c))])
Microsoft.Extensions.AI.Evaluation.Quality (4)
IntentResolutionEvaluatorContext.cs (1)
43: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
RetrievalEvaluatorContext.cs (1)
47contents: [.. retrievedContextChunks.Select(c => new TextContent(c))])
TaskAdherenceEvaluatorContext.cs (1)
44: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
ToolCallAccuracyEvaluatorContext.cs (1)
45: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (7)
ScenarioRunResultTests.cs (6)
23var content1 = new TextContent("content1"); 24var content2 = new TextContent("content2"); 25var content3 = new TextContent("content3"); 115var content1 = new TextContent("content1"); 116var content2 = new TextContent("content2"); 117var content3 = new TextContent("content3");
SerializationChainingTests.cs (1)
34new TextContent("A user message"),
Microsoft.Extensions.AI.Integration.Tests (4)
ChatClientIntegrationTests.cs (2)
195new TextContent("What does this logo say?"), 213new TextContent("What text does this document contain?"),
ToolReductionTests.cs (2)
281new TextContent(answerLine) 312new TextContent(textOnly)
Microsoft.Extensions.AI.OpenAI (9)
OpenAIAssistantsChatClient.cs (1)
232textUpdate.Contents.Add(new TextContent(string.Empty));
OpenAIChatClient.cs (2)
518annotationContent = new(null); 706aiContent = new TextContent(contentPart.Text);
OpenAIResponsesChatClient.cs (3)
358yield return CreateUpdate(new TextContent(outputTextDeltaUpdate.Delta)); 909TextContent text = new(part.Text) { RawRepresentation = part }; 1002new TextContent(mtci.ToolOutput)],
OpenAISpeechToTextClient.cs (3)
72response.Contents = [new TextContent(translation.Text)]; 86response.Contents = [new TextContent(transcription.Text)]; 144result.Contents = [new TextContent(deltaUpdate.Delta)];
Microsoft.Extensions.AI.OpenAI.Tests (17)
OpenAIChatClientTests.cs (5)
926new(ChatRole.System, [new TextContent("You are a really nice friend."), new TextContent("Really nice.")]), 1468new TextContent("hi, how are you?"), 1474new FunctionResultContent("12345", new TextContent("Said hello")), 1586new TextContent("What does this logo say?"),
OpenAIConversionTests.cs (12)
165new TextContent("Hi there!"), 234new TextContent("Hi there!"), 285new TextContent("Hello, "), 288new TextContent("World"), 289new TextContent("!"), 293new TextContent("Hi!"), 474new TextContent("I'll call a function."), 510new TextContent("Here's an image and some text."), 579new TextContent("I'll process this complex data."), 834new TextContent("Processing your request..."), 1076new TextContent("Third message with function call"), 1111new TextContent("I'll call a function"),
Microsoft.Extensions.AI.Tests (34)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (1)
200new TextContent("I'm going to invoke a function to get the data."),
ChatCompletion\DistributedCachingChatClientTest.cs (5)
368new() { Role = ChatRole.Assistant, Contents = [new TextContent("Hello")] }, 369new() { Role = ChatRole.Assistant, Contents = [new TextContent(" world, ")] }, 375new TextContent("how ") 386new TextContent("are you?") 744new ChatMessage(ChatRole.Assistant, [new TextContent("Hey")])));
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (2)
779yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 1")]) { MessageId = messageId }; 781yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 2")]) { MessageId = messageId };
ChatCompletion\FunctionInvokingChatClientTests.cs (5)
552new ChatMessage(ChatRole.Assistant, [new TextContent("extra"), new FunctionCallContent("callId1", "Func1"), new TextContent("stuff")]), 556new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } }), new TextContent("more")]), 766updates = [new() { Contents = [new TextContent("OK bye")] }]; 930? [new TextContent($"The search results were '{string.Join(", ", frcs.Select(frc => frc.Result))}'")]
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
366new TextContent("Hello!"), 368new TextContent("How are you?"),
Functions\AIFunctionFactoryTest.cs (18)
932AIFunctionFactory.Create(() => (AIContent)new TextContent("text")), 933AIFunctionFactory.Create(async () => (AIContent)new TextContent("text")), 934AIFunctionFactory.Create(async ValueTask<AIContent> () => (AIContent)new TextContent("text")), 935AIFunctionFactory.Create(() => new TextContent("text")), 936AIFunctionFactory.Create(async () => new TextContent("text")), 937AIFunctionFactory.Create(async ValueTask<AIContent> () => new TextContent("text")), 949AIFunctionFactory.Create(() => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 950AIFunctionFactory.Create(async () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 951AIFunctionFactory.Create(async ValueTask<IEnumerable<AIContent>> () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 956AIFunctionFactory.Create(() => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 957AIFunctionFactory.Create(async () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 958AIFunctionFactory.Create(async ValueTask<AIContent[]> () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 963AIFunctionFactory.Create(() => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 964AIFunctionFactory.Create(async () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 965AIFunctionFactory.Create(async ValueTask<List<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 970AIFunctionFactory.Create(() => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 971AIFunctionFactory.Create(async () => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 972AIFunctionFactory.Create(async ValueTask<IList<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (1)
73new TextContent(" text."),
151 references to TextContent
Aspire.Dashboard (3)
Model\Assistant\AIHelpers.cs (3)
368var newMessages = GetMessages(update, filter: c => c is not TextContent); 374foreach (var item in update.Contents.OfType<TextContent>())
Microsoft.Extensions.AI (2)
ChatCompletion\OpenTelemetryChatClient.cs (1)
250case TextContent tc when !string.IsNullOrWhiteSpace(tc.Text):
ToolReduction\EmbeddingToolReductionStrategy.cs (1)
60case TextContent content:
Microsoft.Extensions.AI.Abstractions (23)
ChatCompletion\ChatMessage.cs (1)
77/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
ChatCompletion\ChatResponseExtensions.cs (9)
53/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 107/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 130/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 158/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 186Coalesce<TextContent>(
ChatCompletion\ChatResponseUpdate.cs (1)
73/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
Contents\AIAnnotation.cs (1)
26/// for <see cref="TextContent"/>.
Contents\AIContent.cs (1)
17[JsonDerivedType(typeof(TextContent), typeDiscriminator: "text")]
Contents\AIContentExtensions.cs (4)
18/// <summary>Concatenates the text of all <see cref="TextContent"/> instances in the list.</summary> 30return (list[0] as TextContent)?.Text ?? string.Empty; 48if (list[i] is TextContent text) 59return string.Concat(contents.OfType<TextContent>());
Contents\TextContent.cs (1)
16/// Initializes a new instance of the <see cref="TextContent"/> class.
Contents\TextReasoningContent.cs (2)
13/// <see cref="TextReasoningContent"/> is distinct from <see cref="TextContent"/>. <see cref="TextReasoningContent"/> 15/// the model, which is represented by <see cref="TextContent"/>. Neither types derives from the other.
Contents\TextSpanAnnotatedRegion.cs (1)
10/// <remarks>This <see cref="AnnotatedRegion"/> typically applies to <see cref="TextContent"/>.</remarks>
SpeechToText\SpeechToTextResponse.cs (1)
65/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
SpeechToText\SpeechToTextResponseUpdate.cs (1)
85/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
Microsoft.Extensions.AI.Abstractions.Tests (53)
ChatCompletion\ChatMessageTests.cs (11)
48TextContent tc = Assert.IsType<TextContent>(message.Contents[0]); 108TextContent tc = Assert.IsType<TextContent>(message.Contents[i]); 154TextContent textContent = Assert.IsType<TextContent>(message.Contents[3]); 159((TextContent)message.Contents[3]).Text = "text-3"; 281((TextContent)chatMessage.Contents[0]).Text = "content-1-override"; // Override the content of the first text content item that has the "content-1" content 296var textContent = deserializedMessage.Contents[0] as TextContent; 319textContent = deserializedMessage.Contents[3] as TextContent;
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (19)
588TextContent[] contents = message.Contents.OfType<TextContent>().ToArray(); 624Assert.Equal("ABC", Assert.IsType<TextContent>(message.Contents[0]).Text); 626Assert.Equal("GH", Assert.IsType<TextContent>(message.Contents[2]).Text); 628Assert.Equal("K", Assert.IsType<TextContent>(message.Contents[4]).Text); 630Assert.Equal("MN", Assert.IsType<TextContent>(message.Contents[6]).Text); 699Assert.Equal("ABC", Assert.IsType<TextContent>(message.Contents[0]).Text); 700Assert.Equal("D", Assert.IsType<TextContent>(message.Contents[1]).Text); 701Assert.Equal("E", Assert.IsType<TextContent>(message.Contents[2]).Text); 702Assert.Equal("F", Assert.IsType<TextContent>(message.Contents[3]).Text); 703Assert.Equal("GH", Assert.IsType<TextContent>(message.Contents[4]).Text); 704Assert.Equal("I", Assert.IsType<TextContent>(message.Contents[5]).Text); 705Assert.Equal("J", Assert.IsType<TextContent>(message.Contents[6]).Text); 706Assert.Equal("K", Assert.IsType<TextContent>(message.Contents[7]).Text); 707Assert.Equal("L", Assert.IsType<TextContent>(message.Contents[8]).Text); 708Assert.Equal("MN", Assert.IsType<TextContent>(message.Contents[9]).Text); 709Assert.Equal("O", Assert.IsType<TextContent>(message.Contents[10]).Text); 710Assert.Equal("P", Assert.IsType<TextContent>(message.Contents[11]).Text); 730Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(Assert.Single(response.Messages).Contents)).Text);
ChatCompletion\ChatResponseUpdateTests.cs (7)
101TextContent textContent = Assert.IsType<TextContent>(update.Contents[3]); 106((TextContent)update.Contents[3]).Text = "text-3"; 142Assert.IsType<TextContent>(result.Contents[0]); 143Assert.Equal("text-1", ((TextContent)result.Contents[0]).Text); 154Assert.IsType<TextContent>(result.Contents[4]); 155Assert.Equal("text-2", ((TextContent)result.Contents[4]).Text);
Contents\TextContentTests.cs (2)
16TextContent c = new(text); 25TextContent c = new(null);
Image\ImageGenerationResponseTests.cs (1)
152Assert.IsType<TextContent>(deserialized.Contents[2]);
SpeechToText\SpeechToTextResponseTests.cs (7)
52TextContent tc = Assert.IsType<TextContent>(response.Contents[0]); 92TextContent tc = Assert.IsType<TextContent>(response.Contents[i]); 173Assert.Equal($"Text{i + 1}", ((TextContent)result.Contents[i]).Text); 236Assert.Equal("Hello, ", Assert.IsType<TextContent>(update.Contents[0]).Text); 238Assert.Equal("world!", Assert.IsType<TextContent>(update.Contents[2]).Text);
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (3)
126TextContent[] contents = response.Contents.OfType<TextContent>().ToArray(); 153Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(response.Contents)).Text);
SpeechToText\SpeechToTextResponseUpdateTests.cs (2)
72TextContent textContent = Assert.IsType<TextContent>(update.Contents[3]);
Utilities\AIJsonUtilitiesTests.cs (1)
1078Assert.Throws<ArgumentException>(() => options.AddAIContentType<TextContent>("discriminator"));
Microsoft.Extensions.AI.AzureAIInference (3)
AzureAIInferenceChatClient.cs (3)
465if (input.Contents.All(c => c is TextContent)) 480ChatRequestAssistantMessage message = new(string.Concat(input.Contents.Where(c => c is TextContent))); 509case TextContent textContent:
Microsoft.Extensions.AI.Evaluation (11)
ChatMessageExtensions.cs (6)
101/// <see cref="TextContent"/>s. If the <paramref name="message"/> does not contain any <see cref="TextContent"/>s 116if (!message.Contents.OfType<TextContent>().Any()) 140/// <see cref="TextContent"/>s. Any <paramref name="messages"/> that contain no <see cref="TextContent"/>s will be 142/// <see cref="TextContent"/>s then this function will return an empty string.
ChatResponseExtensions.cs (3)
22/// <see cref="TextContent"/>s. Any <see cref="ChatResponse.Messages"/> that contain no <see cref="TextContent"/>s 24/// <see cref="TextContent"/>s then this function will return an empty string.
EvaluationContext.cs (2)
59/// <see cref="TextContent"/> objects for text, <see cref="DataContent"/> or <see cref="UriContent"/> objects for 65/// <see cref="TextContent"/> object that includes the contained text.
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (8)
ScenarioRunResultTests.cs (8)
23var content1 = new TextContent("content1"); 24var content2 = new TextContent("content2"); 25var content3 = new TextContent("content3"); 115var content1 = new TextContent("content1"); 116var content2 = new TextContent("content2"); 117var content3 = new TextContent("content3"); 367if (x is TextContent xText && y is TextContent yText)
Microsoft.Extensions.AI.Evaluation.Safety (6)
AIContentExtensions.cs (1)
11=> content is TextContent || content is UsageContent;
ContentSafetyEvaluator.cs (2)
113contents.OfType<TextContent>() is IEnumerable<TextContent> textContents && textContents.Any() &&
ContentSafetyServicePayloadUtilities.cs (3)
320if (content is TextContent textContent) 515$"The current evaluation being performed by {evaluatorName} only supports content of type '{nameof(TextContent)}', '{nameof(UriContent)}' and '{nameof(DataContent)}'. " + 524$"The current evaluation being performed by {evaluatorName} only supports content of type '{nameof(TextContent)}'. " +
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (4)
179var singleTextContent = (TextContent)history[1].Contents.Single(); 676((TextContent)message.Contents[0]).Text += "!"; 710((TextContent)message.Contents[0]).Text += "!";
ReducingChatClientTests.cs (1)
101if (content is TextContent text)
Microsoft.Extensions.AI.OpenAI (11)
OpenAIAssistantsChatClient.cs (4)
235(((TextContent)textUpdate.Contents[0]).Annotations ??= []).Add(new CitationAnnotation 466foreach (var textContent in chatMessage.Contents.OfType<TextContent>()) 482case TextContent text:
OpenAIChatClient.cs (3)
278case TextContent textContent: 515TextContent? annotationContent = returnMessage.Contents.OfType<TextContent>().FirstOrDefault();
OpenAIResponsesChatClient.cs (4)
706case TextContent textContent: 809case TextContent textContent: 855mtci.ToolOutput = string.Concat(mstrc.Output?.OfType<TextContent>() ?? []); 909TextContent text = new(part.Text) { RawRepresentation = part };
Microsoft.Extensions.AI.OpenAI.Tests (15)
OpenAIChatClientTests.cs (2)
1250TextContent fcc = Assert.IsType<TextContent>(response.Messages.Single().Contents[0]);
OpenAIConversionTests.cs (4)
343Assert.Equal("Hello, world!", Assert.IsType<TextContent>(message.Contents[0], exactMatch: false).Text); 374Assert.Equal("Hello, world!", Assert.IsType<TextContent>(message.Contents[0], exactMatch: false).Text); 487var textContent = message.Contents.OfType<TextContent>().FirstOrDefault();
OpenAIResponseClientIntegrationTests.cs (4)
51TextContent tc = m.Contents.OfType<TextContent>().First(); 396var content = Assert.IsType<TextContent>(Assert.Single(toolResult.Output!));
OpenAIResponseClientTests.cs (5)
1091Assert.StartsWith("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at", Assert.IsType<TextContent>(Assert.Single(result.Output)).Text); 1346Assert.StartsWith("Available pages for dotnet/extensions", Assert.IsType<TextContent>(Assert.Single(firstResult.Output)).Text); 1359Assert.StartsWith("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at", Assert.IsType<TextContent>(Assert.Single(secondResult.Output)).Text); 1760Assert.StartsWith("Available pages for dotnet/extensions", Assert.IsType<TextContent>(Assert.Single(firstResult.Output)).Text); 1773Assert.StartsWith("The path to the `README.md` file", Assert.IsType<TextContent>(Assert.Single(secondResult.Output)).Text);
Microsoft.Extensions.AI.Tests (11)
ChatCompletion\DistributedCachingChatClientTest.cs (4)
346c => Assert.Equal("This becomes one chunk", Assert.IsType<TextContent>(c).Text), 348c => Assert.Equal("... and this becomes another one.", Assert.IsType<TextContent>(c).Text)); 424var content = Assert.IsType<TextContent>(Assert.Single(item.Contents));
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (2)
806Assert.Equal("Text 1", update.Contents.OfType<TextContent>().First().Text); 812Assert.Equal("Text 2", update.Contents.OfType<TextContent>().First().Text);
ChatCompletion\FunctionInvokingChatClientTests.cs (2)
790m => Assert.Equal("OK bye", Assert.IsType<TextContent>(Assert.Single(m.Contents)).Text)); 830Assert.IsType<TextContent>(Assert.Single(response.Messages[4].Contents));
ChatCompletion\UseDelegateChatClientTests.cs (2)
103cc.Messages.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world"; 206cc.Messages.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world (non-streaming)";
Functions\AIFunctionFactoryTest.cs (1)
930await ValidateAsync<TextContent>(