2 writes to Details
Microsoft.Extensions.AI.Abstractions.Tests (2)
Contents\UsageContentTests.cs (2)
45
c.
Details
= details2;
57
Assert.Throws<ArgumentNullException>("value", () => c.
Details
= null!);
94 references to Details
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
561
totalUsage.Add(uc.
Details
);
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\ChatResponseExtensions.cs (1)
626
(response.Usage ??= new()).Add(usage.
Details
);
SpeechToText\SpeechToTextResponseUpdateExtensions.cs (1)
101
(response.Usage ??= new()).Add(usage.
Details
);
TextToSpeech\TextToSpeechResponseUpdateExtensions.cs (1)
85
(response.Usage ??= new()).Add(usage.
Details
);
Microsoft.Extensions.AI.Abstractions.Tests (34)
Contents\UsageContentTests.cs (28)
25
Assert.NotNull(c.
Details
);
26
Assert.Same(c.
Details
, c.
Details
);
27
Assert.Null(c.
Details
.InputTokenCount);
28
Assert.Null(c.
Details
.OutputTokenCount);
29
Assert.Null(c.
Details
.TotalTokenCount);
30
Assert.Null(c.
Details
.AdditionalCounts);
42
Assert.Same(details, c.
Details
);
46
Assert.Same(details2, c.
Details
);
54
UsageDetails d = c.
Details
;
59
Assert.Same(d, c.
Details
);
78
Assert.NotNull(deserializedContent.
Details
);
79
Assert.Equal(content.
Details
.InputTokenCount, deserializedContent.
Details
.InputTokenCount);
80
Assert.Equal(content.
Details
.OutputTokenCount, deserializedContent.
Details
.OutputTokenCount);
81
Assert.Equal(content.
Details
.TotalTokenCount, deserializedContent.
Details
.TotalTokenCount);
82
Assert.Equal(content.
Details
.CachedInputTokenCount, deserializedContent.
Details
.CachedInputTokenCount);
83
Assert.Equal(content.
Details
.ReasoningTokenCount, deserializedContent.
Details
.ReasoningTokenCount);
106
Assert.NotNull(usageContent.
Details
);
107
Assert.Equal(10, usageContent.
Details
.InputTokenCount);
108
Assert.Equal(20, usageContent.
Details
.OutputTokenCount);
109
Assert.Equal(30, usageContent.
Details
.TotalTokenCount);
110
Assert.Equal(5, usageContent.
Details
.CachedInputTokenCount);
111
Assert.Equal(8, usageContent.
Details
.ReasoningTokenCount);
SpeechToText\SpeechToTextResponseTests.cs (3)
247
Assert.Equal(100, usage.
Details
.InputTokenCount);
248
Assert.Equal(200, usage.
Details
.OutputTokenCount);
249
Assert.Equal(300, usage.
Details
.TotalTokenCount);
TextToSpeech\TextToSpeechResponseTests.cs (3)
173
Assert.Equal(100, usage.
Details
.InputTokenCount);
174
Assert.Equal(200, usage.
Details
.OutputTokenCount);
175
Assert.Equal(300, usage.
Details
.TotalTokenCount);
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (5)
150
Assert.True(usage.
Details
.InputTokenCount > 1);
151
Assert.True(usage.
Details
.OutputTokenCount > 1);
152
Assert.Equal(usage.
Details
.InputTokenCount + usage.
Details
.OutputTokenCount, usage.
Details
.TotalTokenCount);
Microsoft.Extensions.AI.OpenAI (3)
MicrosoftExtensionsAIChatExtensions.cs (3)
150
(int?)usageContent.
Details
.OutputTokenCount ?? 0,
151
(int?)usageContent.
Details
.InputTokenCount ?? 0,
152
(int?)usageContent.
Details
.TotalTokenCount ?? 0) :
Microsoft.Extensions.AI.OpenAI.Tests (40)
OpenAIChatClientTests.cs (12)
260
Assert.Equal(8, usage.
Details
.InputTokenCount);
261
Assert.Equal(9, usage.
Details
.OutputTokenCount);
262
Assert.Equal(17, usage.
Details
.TotalTokenCount);
263
Assert.Equal(5, usage.
Details
.CachedInputTokenCount);
264
Assert.Equal(90, usage.
Details
.ReasoningTokenCount);
272
}, usage.
Details
.AdditionalCounts);
1386
Assert.Equal(61, usage.
Details
.InputTokenCount);
1387
Assert.Equal(16, usage.
Details
.OutputTokenCount);
1388
Assert.Equal(77, usage.
Details
.TotalTokenCount);
1389
Assert.Equal(0, usage.
Details
.CachedInputTokenCount);
1390
Assert.Equal(90, usage.
Details
.ReasoningTokenCount);
1398
}, usage.
Details
.AdditionalCounts);
OpenAIResponseClientTests.cs (18)
347
Assert.Equal(17, usage.
Details
.InputTokenCount);
348
Assert.Equal(122, usage.
Details
.OutputTokenCount);
349
Assert.Equal(139, usage.
Details
.TotalTokenCount);
474
Assert.Equal(10, usage.
Details
.InputTokenCount);
475
Assert.Equal(25, usage.
Details
.OutputTokenCount);
476
Assert.Equal(35, usage.
Details
.TotalTokenCount);
884
Assert.Equal(26, usage.
Details
.InputTokenCount);
885
Assert.Equal(10, usage.
Details
.OutputTokenCount);
886
Assert.Equal(36, usage.
Details
.TotalTokenCount);
1126
Assert.Equal(18, usage.
Details
.InputTokenCount);
1127
Assert.Equal(53, usage.
Details
.OutputTokenCount);
1128
Assert.Equal(71, usage.
Details
.TotalTokenCount);
6249
Assert.Equal(10, usage.
Details
.InputTokenCount);
6250
Assert.Equal(15, usage.
Details
.OutputTokenCount);
6251
Assert.Equal(25, usage.
Details
.TotalTokenCount);
6653
Assert.Equal(15, usage.
Details
.InputTokenCount);
6654
Assert.Equal(0, usage.
Details
.OutputTokenCount);
6655
Assert.Equal(15, usage.
Details
.TotalTokenCount);
OpenAISpeechToTextClientTests.cs (5)
344
Assert.Equal(43, usage.
Details
.InputTokenCount);
345
Assert.Equal(13, usage.
Details
.OutputTokenCount);
346
Assert.Equal(56, usage.
Details
.TotalTokenCount);
347
Assert.Equal(43, usage.
Details
.InputAudioTokenCount);
348
Assert.Equal(0, usage.
Details
.InputTextTokenCount);
OpenAITextToSpeechClientIntegrationTests.cs (2)
52
Assert.True(usageContent.
Details
.InputTokenCount > 0);
53
Assert.True(usageContent.
Details
.TotalTokenCount > 0);
OpenAITextToSpeechClientTests.cs (3)
338
Assert.Equal(5, usage.
Details
.InputTokenCount);
339
Assert.Equal(10, usage.
Details
.OutputTokenCount);
340
Assert.Equal(15, usage.
Details
.TotalTokenCount);
Microsoft.Extensions.AI.Tests (8)
ChatCompletion\DistributedCachingChatClientTest.cs (6)
865
Assert.Equal(expectedUsage.
Details
.InputTokenCount, actualUsage.
Details
.InputTokenCount);
866
Assert.Equal(expectedUsage.
Details
.OutputTokenCount, actualUsage.
Details
.OutputTokenCount);
867
Assert.Equal(expectedUsage.
Details
.TotalTokenCount, actualUsage.
Details
.TotalTokenCount);
ChatCompletion\ImageGeneratingChatClientTests.cs (2)
454
Assert.Equal(5, usageContent.
Details
.InputTokenCount);
531
Assert.Equal(5, usageContent.
Details
.InputTokenCount);