Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 43bca12

Browse files
committed
test: added test to cover Usage.add method
1 parent 02f9c7f commit 43bca12

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/test_usage.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails
2+
3+
from agents.usage import Usage
4+
5+
6+
def test_usage_add_aggregates_all_fields():
7+
u1 = Usage(
8+
requests=1,
9+
input_tokens=10,
10+
input_tokens_details=InputTokensDetails(cached_tokens=3),
11+
output_tokens=20,
12+
output_tokens_details=OutputTokensDetails(reasoning_tokens=5),
13+
total_tokens=30,
14+
)
15+
u2 = Usage(
16+
requests=2,
17+
input_tokens=7,
18+
input_tokens_details=InputTokensDetails(cached_tokens=4),
19+
output_tokens=8,
20+
output_tokens_details=OutputTokensDetails(reasoning_tokens=6),
21+
total_tokens=15,
22+
)
23+
24+
u1.add(u2)
25+
26+
assert u1.requests == 3
27+
assert u1.input_tokens == 17
28+
assert u1.output_tokens == 28
29+
assert u1.total_tokens == 45
30+
assert u1.input_tokens_details.cached_tokens == 7
31+
assert u1.output_tokens_details.reasoning_tokens == 11
32+
33+
34+
def test_usage_add_aggregates_with_none_values():
35+
u1 = Usage()
36+
u2 = Usage(
37+
requests=2,
38+
input_tokens=7,
39+
input_tokens_details=InputTokensDetails(cached_tokens=4),
40+
output_tokens=8,
41+
output_tokens_details=OutputTokensDetails(reasoning_tokens=6),
42+
total_tokens=15,
43+
)
44+
45+
u1.add(u2)
46+
47+
assert u1.requests == 2
48+
assert u1.input_tokens == 7
49+
assert u1.output_tokens == 8
50+
assert u1.total_tokens == 15
51+
assert u1.input_tokens_details.cached_tokens == 4
52+
assert u1.output_tokens_details.reasoning_tokens == 6

0 commit comments

Comments
 (0)