File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments