@@ -28,13 +28,68 @@ def test_text_generation_result_start():
28
28
assert result .start_time is not None
29
29
30
30
31
+ @pytest .mark .sanity
32
+ def test_text_generation_result_output_token ():
33
+ request = TextGenerationRequest (prompt = "Generate a story" )
34
+ result = TextGenerationResult (request = request )
35
+ prompt = "Once upon a time"
36
+ result .start (prompt )
37
+ token = "the"
38
+ result .output_token (token )
39
+ assert result .output == f"{ token } "
40
+ assert result .last_time is not None and result .last_time > result .start_time
41
+
42
+
31
43
@pytest .mark .sanity
32
44
def test_text_generation_result_end ():
33
45
request = TextGenerationRequest (prompt = "Generate a story" )
34
46
result = TextGenerationResult (request = request )
47
+ result .start ("Once upon a time" )
35
48
result .end ("The end" )
36
49
assert result .output == "The end"
37
- assert result .end_time is not None
50
+ assert result .end_time is not None and result .end_time > result .start_time
51
+
52
+
53
+ @pytest .mark .regression
54
+ def test_text_generation_result_json ():
55
+ request = TextGenerationRequest (prompt = "Generate a story" )
56
+ result = TextGenerationResult (request = request )
57
+ prompt = "Once upon a time"
58
+ result .start (prompt )
59
+ generated = "The end"
60
+ result .end (generated )
61
+ json_str = result .to_json ()
62
+ assert '"prompt":"Once upon a time"' in json_str
63
+ assert '"output":"The end"' in json_str
64
+
65
+ result_restored = TextGenerationResult .from_json (json_str )
66
+ assert result .request == result_restored .request
67
+ assert result_restored .prompt == prompt
68
+ assert result_restored .output == generated
69
+
70
+ json_str_restored = result_restored .to_json ()
71
+ assert json_str == json_str_restored
72
+
73
+
74
+ @pytest .mark .regression
75
+ def test_text_generation_result_yaml ():
76
+ request = TextGenerationRequest (prompt = "Generate a story" )
77
+ result = TextGenerationResult (request = request )
78
+ prompt = "Once upon a time"
79
+ result .start (prompt )
80
+ generated = "The end"
81
+ result .end (generated )
82
+ yaml_str = result .to_yaml ()
83
+ assert "prompt: Once upon a time" in yaml_str
84
+ assert "output: The end" in yaml_str
85
+
86
+ result_restored = TextGenerationResult .from_yaml (yaml_str )
87
+ assert result .request == result_restored .request
88
+ assert result_restored .prompt == prompt
89
+ assert result_restored .output == generated
90
+
91
+ yaml_str_restored = result_restored .to_yaml ()
92
+ assert yaml_str == yaml_str_restored
38
93
39
94
40
95
@pytest .mark .smoke
@@ -46,6 +101,38 @@ def test_text_generation_error_initialization():
46
101
assert result .error == str (error )
47
102
48
103
104
+ @pytest .mark .regression
105
+ def test_text_generation_error_json ():
106
+ request = TextGenerationRequest (prompt = "Generate a story" )
107
+ error = Exception ("Test error" )
108
+ result = TextGenerationError (request = request , error = error )
109
+ json_str = result .to_json ()
110
+ assert '"error":"Test error"' in json_str
111
+
112
+ result_restored = TextGenerationError .from_json (json_str )
113
+ assert result .request == result_restored .request
114
+ assert result_restored .error == str (error )
115
+
116
+ json_str_restored = result_restored .to_json ()
117
+ assert json_str == json_str_restored
118
+
119
+
120
+ @pytest .mark .regression
121
+ def test_text_generation_error_yaml ():
122
+ request = TextGenerationRequest (prompt = "Generate a story" )
123
+ error = Exception ("Test error" )
124
+ result = TextGenerationError (request = request , error = error )
125
+ yaml_str = result .to_yaml ()
126
+ assert "error: Test error" in yaml_str
127
+
128
+ result_restored = TextGenerationError .from_yaml (yaml_str )
129
+ assert result .request == result_restored .request
130
+ assert result_restored .error == str (error )
131
+
132
+ yaml_str_restored = result_restored .to_yaml ()
133
+ assert yaml_str == yaml_str_restored
134
+
135
+
49
136
@pytest .mark .smoke
50
137
def test_text_generation_benchmark_initialization ():
51
138
benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
@@ -84,6 +171,48 @@ def test_text_generation_benchmark_completed_with_error():
84
171
assert benchmark .error_count == 1
85
172
86
173
174
+ @pytest .mark .regression
175
+ def test_text_generation_benchmark_json ():
176
+ benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
177
+ benchmark .request_started ()
178
+ request = TextGenerationRequest (prompt = "Generate a story" )
179
+ result = TextGenerationResult (request = request )
180
+ benchmark .request_completed (result )
181
+ json_str = benchmark .to_json ()
182
+ assert '"mode":"test"' in json_str
183
+ assert '"rate":1.0' in json_str
184
+
185
+ benchmark_restored = TextGenerationBenchmark .from_json (json_str )
186
+ assert benchmark .mode == benchmark_restored .mode
187
+ assert benchmark .rate == benchmark_restored .rate
188
+ assert benchmark .request_count == benchmark_restored .request_count
189
+ assert benchmark .error_count == benchmark_restored .error_count
190
+
191
+ json_str_restored = benchmark_restored .to_json ()
192
+ assert json_str == json_str_restored
193
+
194
+
195
+ @pytest .mark .regression
196
+ def test_text_generation_benchmark_yaml ():
197
+ benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
198
+ benchmark .request_started ()
199
+ request = TextGenerationRequest (prompt = "Generate a story" )
200
+ result = TextGenerationResult (request = request )
201
+ benchmark .request_completed (result )
202
+ yaml_str = benchmark .to_yaml ()
203
+ assert "mode: test" in yaml_str
204
+ assert "rate: 1.0" in yaml_str
205
+
206
+ benchmark_restored = TextGenerationBenchmark .from_yaml (yaml_str )
207
+ assert benchmark .mode == benchmark_restored .mode
208
+ assert benchmark .rate == benchmark_restored .rate
209
+ assert benchmark .request_count == benchmark_restored .request_count
210
+ assert benchmark .error_count == benchmark_restored .error_count
211
+
212
+ yaml_str_restored = benchmark_restored .to_yaml ()
213
+ assert yaml_str == yaml_str_restored
214
+
215
+
87
216
@pytest .mark .smoke
88
217
def test_text_generation_benchmark_report_initialization ():
89
218
report = TextGenerationBenchmarkReport ()
@@ -97,3 +226,37 @@ def test_text_generation_benchmark_report_add_benchmark():
97
226
benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
98
227
report .add_benchmark (benchmark )
99
228
assert len (report .benchmarks ) == 1
229
+
230
+
231
+ @pytest .mark .regression
232
+ def test_text_generation_benchmark_report_json ():
233
+ report = TextGenerationBenchmarkReport ()
234
+ benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
235
+ report .add_benchmark (benchmark )
236
+ json_str = report .to_json ()
237
+ assert '"benchmarks":' in json_str
238
+ assert '"args":[]' in json_str
239
+
240
+ report_restored = TextGenerationBenchmarkReport .from_json (json_str )
241
+ assert len (report .benchmarks ) == len (report_restored .benchmarks )
242
+ assert len (report .args ) == len (report_restored .args )
243
+
244
+ json_str_restored = report_restored .to_json ()
245
+ assert json_str == json_str_restored
246
+
247
+
248
+ @pytest .mark .regression
249
+ def test_text_generation_benchmark_report_yaml ():
250
+ report = TextGenerationBenchmarkReport ()
251
+ benchmark = TextGenerationBenchmark (mode = "test" , rate = 1.0 )
252
+ report .add_benchmark (benchmark )
253
+ yaml_str = report .to_yaml ()
254
+ assert "benchmarks:" in yaml_str
255
+ assert "args: []" in yaml_str
256
+
257
+ report_restored = TextGenerationBenchmarkReport .from_yaml (yaml_str )
258
+ assert len (report .benchmarks ) == len (report_restored .benchmarks )
259
+ assert len (report .args ) == len (report_restored .args )
260
+
261
+ yaml_str_restored = report_restored .to_yaml ()
262
+ assert yaml_str == yaml_str_restored
0 commit comments