openai/openai-dotnet

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.10

Branches

Tags

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

Clone

HTTPS

Download ZIP

tests/Audio/OpenAIAudioModelFactoryTests.cs

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