@@ -7,60 +7,61 @@ namespace AssemblyAI.UnitTests;
7
7
[ TestFixture ]
8
8
public class TranscriptParamsTests
9
9
{
10
+ private static TranscriptOptionalParams _optionalParams = new ( )
11
+ {
12
+ LanguageCode = TranscriptLanguageCode . En ,
13
+ LanguageDetection = true ,
14
+ LanguageConfidenceThreshold = 0.9f ,
15
+ SpeechModel = SpeechModel . Best ,
16
+ Punctuate = true ,
17
+ FormatText = true ,
18
+ Disfluencies = true ,
19
+ DualChannel = true ,
20
+ WebhookUrl = "https://example.com/webhook" ,
21
+ WebhookAuthHeaderName = "Webhook-Authorization" ,
22
+ WebhookAuthHeaderValue = "passwords" ,
23
+ AutoHighlights = true ,
24
+ AudioStartFrom = 10 ,
25
+ AudioEndAt = 360 ,
26
+ WordBoost = [ "word" ] ,
27
+ BoostParam = TranscriptBoostParam . Default ,
28
+ FilterProfanity = true ,
29
+ RedactPii = true ,
30
+ RedactPiiAudio = true ,
31
+ RedactPiiAudioQuality = RedactPiiAudioQuality . Mp3 ,
32
+ RedactPiiPolicies = [ PiiPolicy . Date , PiiPolicy . Drug ] ,
33
+ RedactPiiSub = SubstitutionPolicy . Hash ,
34
+ SpeakerLabels = true ,
35
+ SpeakersExpected = 4 ,
36
+ ContentSafety = true ,
37
+ ContentSafetyConfidence = 90 ,
38
+ IabCategories = true ,
39
+ CustomSpelling =
40
+ [
41
+ new TranscriptCustomSpelling
42
+ {
43
+ From = [ "from" ] ,
44
+ To = "to"
45
+ }
46
+ ] ,
47
+ SentimentAnalysis = true ,
48
+ AutoChapters = true ,
49
+ EntityDetection = true ,
50
+ SpeechThreshold = 0.9f ,
51
+ Summarization = true ,
52
+ SummaryModel = SummaryModel . Catchy ,
53
+ SummaryType = SummaryType . Bullets ,
54
+ CustomTopics = true ,
55
+ Topics = [ "topic" ]
56
+ } ;
57
+
10
58
[ Test ]
11
59
public void ShouldMapOptionalToTranscriptParams ( )
12
60
{
13
- var optionalParams = new TranscriptOptionalParams
14
- {
15
- LanguageCode = TranscriptLanguageCode . En ,
16
- LanguageDetection = true ,
17
- LanguageConfidenceThreshold = 0.9f ,
18
- SpeechModel = SpeechModel . Best ,
19
- Punctuate = true ,
20
- FormatText = true ,
21
- Disfluencies = true ,
22
- DualChannel = true ,
23
- WebhookUrl = "https://example.com/webhook" ,
24
- WebhookAuthHeaderName = "Webhook-Authorization" ,
25
- WebhookAuthHeaderValue = "passwords" ,
26
- AutoHighlights = true ,
27
- AudioStartFrom = 10 ,
28
- AudioEndAt = 360 ,
29
- WordBoost = [ "word" ] ,
30
- BoostParam = TranscriptBoostParam . Default ,
31
- FilterProfanity = true ,
32
- RedactPii = true ,
33
- RedactPiiAudio = true ,
34
- RedactPiiAudioQuality = RedactPiiAudioQuality . Mp3 ,
35
- RedactPiiPolicies = [ PiiPolicy . Date , PiiPolicy . Drug ] ,
36
- RedactPiiSub = SubstitutionPolicy . Hash ,
37
- SpeakerLabels = true ,
38
- SpeakersExpected = 4 ,
39
- ContentSafety = true ,
40
- ContentSafetyConfidence = 90 ,
41
- IabCategories = true ,
42
- CustomSpelling =
43
- [
44
- new TranscriptCustomSpelling
45
- {
46
- From = [ "from" ] ,
47
- To = "to"
48
- }
49
- ] ,
50
- SentimentAnalysis = true ,
51
- AutoChapters = true ,
52
- EntityDetection = true ,
53
- SpeechThreshold = 0.9f ,
54
- Summarization = true ,
55
- SummaryModel = SummaryModel . Catchy ,
56
- SummaryType = SummaryType . Bullets ,
57
- CustomTopics = true ,
58
- Topics = [ "topic" ]
59
- } ;
60
61
const string audioUrl = "https://example.com/audio.mp3" ;
61
- var transcriptParams = optionalParams . ToTranscriptParams ( audioUrl ) ;
62
+ var transcriptParams = _optionalParams . ToTranscriptParams ( audioUrl ) ;
62
63
63
- var optionalParamsJson = JsonSerializer . SerializeToElement ( optionalParams ) ;
64
+ var optionalParamsJson = JsonSerializer . SerializeToElement ( _optionalParams ) ;
64
65
var transcriptParamsJson = JsonSerializer . SerializeToElement ( transcriptParams ) ;
65
66
foreach ( var key in optionalParamsJson . EnumerateObject ( ) )
66
67
{
@@ -70,4 +71,13 @@ public void ShouldMapOptionalToTranscriptParams()
70
71
) ;
71
72
}
72
73
}
74
+
75
+ [ Test ]
76
+ public void ShouldClone ( )
77
+ {
78
+ var clonedParams = _optionalParams . Clone ( ) ;
79
+ var paramsJson = JsonSerializer . Serialize ( _optionalParams ) ;
80
+ var cloneJson = JsonSerializer . Serialize ( clonedParams ) ;
81
+ Assert . That ( paramsJson , Is . EqualTo ( cloneJson ) ) ;
82
+ }
73
83
}
0 commit comments