openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.2.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

tests/Audio/OpenAIAudioModelFactoryTests.cs

398lines · modecode

1using System;
2using System.Collections.Generic;
3using System.Linq;
4using NUnit.Framework;
5using OpenAI.Audio;
6
7namespace OpenAI.Tests.Audio;
8
9[Parallelizable(ParallelScope.All)]
10[Category("Audio")]
11[Category("Smoke")]
12public partial class OpenAIAudioModelFactoryTests
13{
14 [Test]
15 public void AudioTranscriptionWithNoPropertiesWorks()
16 {
17 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription();
18
19 Assert.That(audioTranscription.Language, Is.Null);
20 Assert.That(audioTranscription.Duration, Is.Null);
21 Assert.That(audioTranscription.Text, Is.Null);
22 Assert.That(audioTranscription.Words, Is.Not.Null.And.Empty);
23 Assert.That(audioTranscription.Segments, Is.Not.Null.And.Empty);
24 }
25
26 [Test]
27 public void AudioTranscriptionWithLanguageWorks()
28 {
29 string language = "esperanto";
30 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription(language: language);
31
32 Assert.That(audioTranscription.Language, Is.EqualTo(language));
33 Assert.That(audioTranscription.Duration, Is.Null);
34 Assert.That(audioTranscription.Text, Is.Null);
35 Assert.That(audioTranscription.Words, Is.Not.Null.And.Empty);
36 Assert.That(audioTranscription.Segments, Is.Not.Null.And.Empty);
37 }
38
39 [Test]
40 public void AudioTranscriptionWithDurationWorks()
41 {
42 TimeSpan duration = TimeSpan.FromSeconds(45);
43 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription(duration: duration);
44
45 Assert.That(audioTranscription.Language, Is.Null);
46 Assert.That(audioTranscription.Duration, Is.EqualTo(duration));
47 Assert.That(audioTranscription.Text, Is.Null);
48 Assert.That(audioTranscription.Words, Is.Not.Null.And.Empty);
49 Assert.That(audioTranscription.Segments, Is.Not.Null.And.Empty);
50 }
51
52 [Test]
53 public void AudioTranscriptionWithTextWorks()
54 {
55 string text = "I've been transcripted.";
56 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription(text: text);
57
58 Assert.That(audioTranscription.Language, Is.Null);
59 Assert.That(audioTranscription.Duration, Is.Null);
60 Assert.That(audioTranscription.Text, Is.EqualTo(text));
61 Assert.That(audioTranscription.Words, Is.Not.Null.And.Empty);
62 Assert.That(audioTranscription.Segments, Is.Not.Null.And.Empty);
63 }
64
65 [Test]
66 public void AudioTranscriptionWithWordsWorks()
67 {
68 IEnumerable<TranscribedWord> words = [
69 OpenAIAudioModelFactory.TranscribedWord(word: "Apple"),
70 OpenAIAudioModelFactory.TranscribedWord(word: "pie")
71 ];
72 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription(words: words);
73
74 Assert.That(audioTranscription.Language, Is.Null);
75 Assert.That(audioTranscription.Duration, Is.Null);
76 Assert.That(audioTranscription.Text, Is.Null);
77 Assert.That(audioTranscription.Words.SequenceEqual(words), Is.True);
78 Assert.That(audioTranscription.Segments, Is.Not.Null.And.Empty);
79 }
80
81 [Test]
82 public void AudioTranscriptionWithSegmentsWorks()
83 {
84 IEnumerable<TranscribedSegment> segments = [
85 OpenAIAudioModelFactory.TranscribedSegment(id: 1),
86 OpenAIAudioModelFactory.TranscribedSegment(id: 2)
87 ];
88 AudioTranscription audioTranscription = OpenAIAudioModelFactory.AudioTranscription(segments: segments);
89
90 Assert.That(audioTranscription.Language, Is.Null);
91 Assert.That(audioTranscription.Duration, Is.Null);
92 Assert.That(audioTranscription.Text, Is.Null);
93 Assert.That(audioTranscription.Words, Is.Not.Null.And.Empty);
94 Assert.That(audioTranscription.Segments.SequenceEqual(segments), Is.True);
95 }
96
97 [Test]
98 public void AudioTranslationWithNoPropertiesWorks()
99 {
100 AudioTranslation audioTranslation = OpenAIAudioModelFactory.AudioTranslation();
101
102 Assert.That(audioTranslation.Language, Is.Null);
103 Assert.That(audioTranslation.Duration, Is.Null);
104 Assert.That(audioTranslation.Text, Is.Null);
105 Assert.That(audioTranslation.Segments, Is.Not.Null.And.Empty);
106 }
107
108 [Test]
109 public void AudioTranslationWithLanguageWorks()
110 {
111 string language = "esperanto";
112 AudioTranslation audioTranslation = OpenAIAudioModelFactory.AudioTranslation(language: language);
113
114 Assert.That(audioTranslation.Language, Is.EqualTo(language));
115 Assert.That(audioTranslation.Duration, Is.Null);
116 Assert.That(audioTranslation.Text, Is.Null);
117 Assert.That(audioTranslation.Segments, Is.Not.Null.And.Empty);
118 }
119
120 [Test]
121 public void AudioTranslationWithDurationWorks()
122 {
123 TimeSpan duration = TimeSpan.FromSeconds(45);
124 AudioTranslation audioTranslation = OpenAIAudioModelFactory.AudioTranslation(duration: duration);
125
126 Assert.That(audioTranslation.Language, Is.Null);
127 Assert.That(audioTranslation.Duration, Is.EqualTo(duration));
128 Assert.That(audioTranslation.Text, Is.Null);
129 Assert.That(audioTranslation.Segments, Is.Not.Null.And.Empty);
130 }
131
132 [Test]
133 public void AudioTranslationWithTextWorks()
134 {
135 string text = "I've been transcripted.";
136 AudioTranslation audioTranslation = OpenAIAudioModelFactory.AudioTranslation(text: text);
137
138 Assert.That(audioTranslation.Language, Is.Null);
139 Assert.That(audioTranslation.Duration, Is.Null);
140 Assert.That(audioTranslation.Text, Is.EqualTo(text));
141 Assert.That(audioTranslation.Segments, Is.Not.Null.And.Empty);
142 }
143
144 [Test]
145 public void AudioTranslationWithSegmentsWorks()
146 {
147 IEnumerable<TranscribedSegment> segments = [
148 OpenAIAudioModelFactory.TranscribedSegment(id: 1),
149 OpenAIAudioModelFactory.TranscribedSegment(id: 2)
150 ];
151 AudioTranslation audioTranslation = OpenAIAudioModelFactory.AudioTranslation(segments: segments);
152
153 Assert.That(audioTranslation.Language, Is.Null);
154 Assert.That(audioTranslation.Duration, Is.Null);
155 Assert.That(audioTranslation.Text, Is.Null);
156 Assert.That(audioTranslation.Segments.SequenceEqual(segments), Is.True);
157 }
158
159 [Test]
160 public void TranscribedSegmentWithNoPropertiesWorks()
161 {
162 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment();
163
164 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
165 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
166 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
167 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
168 Assert.That(transcribedSegment.Text, Is.Null);
169 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
170 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
171 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
172 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
173 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
174 }
175
176 [Test]
177 public void TranscribedSegmentWithIdWorks()
178 {
179 int id = 10;
180 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(id: id);
181
182 Assert.That(transcribedSegment.Id, Is.EqualTo(id));
183 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
184 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
185 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
186 Assert.That(transcribedSegment.Text, Is.Null);
187 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
188 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
189 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
190 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
191 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
192 }
193
194 [Test]
195 public void TranscribedSegmentWithSeekOffsetWorks()
196 {
197 int seekOffset = 900000000;
198 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(seekOffset: seekOffset);
199
200 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
201 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(seekOffset));
202 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
203 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
204 Assert.That(transcribedSegment.Text, Is.Null);
205 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
206 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
207 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
208 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
209 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
210 }
211
212 [Test]
213 public void TranscribedSegmentWithStartWorks()
214 {
215 TimeSpan startTime = TimeSpan.FromSeconds(45);
216 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(startTime: startTime);
217
218 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
219 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
220 Assert.That(transcribedSegment.StartTime, Is.EqualTo(startTime));
221 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
222 Assert.That(transcribedSegment.Text, Is.Null);
223 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
224 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
225 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
226 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
227 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
228 }
229
230 [Test]
231 public void TranscribedSegmentWithEndWorks()
232 {
233 TimeSpan endTime = TimeSpan.FromSeconds(45);
234 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(endTime: endTime);
235
236 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
237 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
238 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
239 Assert.That(transcribedSegment.EndTime, Is.EqualTo(endTime));
240 Assert.That(transcribedSegment.Text, Is.Null);
241 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
242 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
243 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
244 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
245 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
246 }
247
248 [Test]
249 public void TranscribedSegmentWithTextWorks()
250 {
251 string text = "A segment text";
252 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(text: text);
253
254 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
255 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
256 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
257 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
258 Assert.That(transcribedSegment.Text, Is.EqualTo(text));
259 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
260 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
261 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
262 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
263 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
264 }
265
266 [Test]
267 public void TranscribedSegmentWithTokenIdsWorks()
268 {
269 ReadOnlyMemory<int> tokenIds = new[] { 900000000, 900000001 };
270 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(tokenIds: tokenIds);
271
272 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
273 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
274 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
275 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
276 Assert.That(transcribedSegment.Text, Is.Null);
277 Assert.That(transcribedSegment.TokenIds.Span.SequenceEqual(tokenIds.Span), Is.True);
278 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
279 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
280 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
281 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
282 }
283
284 [Test]
285 public void TranscribedSegmentWithTemperatureWorks()
286 {
287 float temperature = 0.232f;
288 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(temperature: temperature);
289
290 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
291 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
292 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
293 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
294 Assert.That(transcribedSegment.Text, Is.Null);
295 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
296 Assert.That(transcribedSegment.Temperature, Is.EqualTo(temperature));
297 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
298 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
299 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
300 }
301
302 [Test]
303 public void TranscribedSegmentWithAverageLogProbabilityWorks()
304 {
305 float averageLogProbability = -3.1415f;
306 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(averageLogProbability: averageLogProbability);
307
308 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
309 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
310 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
311 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
312 Assert.That(transcribedSegment.Text, Is.Null);
313 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
314 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
315 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(averageLogProbability));
316 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
317 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
318 }
319
320 [Test]
321 public void TranscribedSegmentWithCompressionRatioWorks()
322 {
323 float compressionRatio = 1.33f;
324 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(compressionRatio: compressionRatio);
325
326 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
327 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
328 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
329 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
330 Assert.That(transcribedSegment.Text, Is.Null);
331 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
332 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
333 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
334 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(compressionRatio));
335 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(default(float)));
336 }
337
338 [Test]
339 public void TranscribedSegmentWithNoSpeechProbabilityWorks()
340 {
341 float noSpeechProbability = 0.02f;
342 TranscribedSegment transcribedSegment = OpenAIAudioModelFactory.TranscribedSegment(noSpeechProbability: noSpeechProbability);
343
344 Assert.That(transcribedSegment.Id, Is.EqualTo(default(int)));
345 Assert.That(transcribedSegment.SeekOffset, Is.EqualTo(default(int)));
346 Assert.That(transcribedSegment.StartTime, Is.EqualTo(default(TimeSpan)));
347 Assert.That(transcribedSegment.EndTime, Is.EqualTo(default(TimeSpan)));
348 Assert.That(transcribedSegment.Text, Is.Null);
349 Assert.That(transcribedSegment.TokenIds.Span.Length, Is.GreaterThanOrEqualTo(0));
350 Assert.That(transcribedSegment.Temperature, Is.EqualTo(default(float)));
351 Assert.That(transcribedSegment.AverageLogProbability, Is.EqualTo(default(float)));
352 Assert.That(transcribedSegment.CompressionRatio, Is.EqualTo(default(float)));
353 Assert.That(transcribedSegment.NoSpeechProbability, Is.EqualTo(noSpeechProbability));
354 }
355
356 [Test]
357 public void TranscribedWordWithNoPropertiesWorks()
358 {
359 TranscribedWord transcribedWord = OpenAIAudioModelFactory.TranscribedWord();
360
361 Assert.That(transcribedWord.Word, Is.Null);
362 Assert.That(transcribedWord.StartTime, Is.EqualTo(default(TimeSpan)));
363 Assert.That(transcribedWord.EndTime, Is.EqualTo(default(TimeSpan)));
364 }
365
366 [Test]
367 public void TranscribedWordWithIdWorks()
368 {
369 string word = "croissant";
370 TranscribedWord transcribedWord = OpenAIAudioModelFactory.TranscribedWord(word: word);
371
372 Assert.That(transcribedWord.Word, Is.EqualTo(word));
373 Assert.That(transcribedWord.StartTime, Is.EqualTo(default(TimeSpan)));
374 Assert.That(transcribedWord.EndTime, Is.EqualTo(default(TimeSpan)));
375 }
376
377 [Test]
378 public void TranscribedWordWithStartWorks()
379 {
380 TimeSpan startTime = TimeSpan.FromSeconds(45);
381 TranscribedWord transcribedWord = OpenAIAudioModelFactory.TranscribedWord(startTime: startTime);
382
383 Assert.That(transcribedWord.Word, Is.Null);
384 Assert.That(transcribedWord.StartTime, Is.EqualTo(startTime));
385 Assert.That(transcribedWord.EndTime, Is.EqualTo(default(TimeSpan)));
386 }
387
388 [Test]
389 public void TranscribedWordWithEndWorks()
390 {
391 TimeSpan endTime = TimeSpan.FromSeconds(45);
392 TranscribedWord transcribedWord = OpenAIAudioModelFactory.TranscribedWord(endTime: endTime);
393
394 Assert.That(transcribedWord.Word, Is.Null);
395 Assert.That(transcribedWord.StartTime, Is.EqualTo(default(TimeSpan)));
396 Assert.That(transcribedWord.EndTime, Is.EqualTo(endTime));
397 }
398}
399