1
1
defmodule LinguaTest do
2
- use ExUnit.Case
2
+ use ExUnit.Case , async: true
3
3
@ moduletag timeout: :infinity
4
- # doctest Lingua
4
+ doctest Lingua
5
5
6
6
@ total_language_count 75
7
7
@ spoken_language_count 74
@@ -34,38 +34,38 @@ defmodule LinguaTest do
34
34
|> Enum . count ( ) == @ spoken_language_count
35
35
end
36
36
37
- test "all_with_arabic_script /0" do
38
- assert Lingua . all_with_arabic_script ( ) |> Enum . member? ( :arabic )
39
- assert Lingua . all_with_arabic_script ( ) |> Enum . member? ( :persian )
40
- assert Lingua . all_with_arabic_script ( ) |> Enum . member? ( :urdu )
37
+ test "all_languages_with_arabic_script /0" do
38
+ assert Lingua . all_languages_with_arabic_script ( ) |> Enum . member? ( :arabic )
39
+ assert Lingua . all_languages_with_arabic_script ( ) |> Enum . member? ( :persian )
40
+ assert Lingua . all_languages_with_arabic_script ( ) |> Enum . member? ( :urdu )
41
41
42
- assert Lingua . all_with_arabic_script ( )
42
+ assert Lingua . all_languages_with_arabic_script ( )
43
43
|> Enum . count ( ) == @ arabic_count
44
44
end
45
45
46
- test "all_with_cyrillic_script /0" do
47
- assert Lingua . all_with_cyrillic_script ( ) |> Enum . member? ( :russian )
48
- assert Lingua . all_with_cyrillic_script ( ) |> Enum . member? ( :ukrainian )
49
- assert Lingua . all_with_cyrillic_script ( ) |> Enum . member? ( :macedonian )
46
+ test "all_languages_with_cyrillic_script /0" do
47
+ assert Lingua . all_languages_with_cyrillic_script ( ) |> Enum . member? ( :russian )
48
+ assert Lingua . all_languages_with_cyrillic_script ( ) |> Enum . member? ( :ukrainian )
49
+ assert Lingua . all_languages_with_cyrillic_script ( ) |> Enum . member? ( :macedonian )
50
50
51
- assert Lingua . all_with_cyrillic_script ( )
51
+ assert Lingua . all_languages_with_cyrillic_script ( )
52
52
|> Enum . count ( ) == @ cyrillic_count
53
53
end
54
54
55
- test "all_with_devanagari_script /0" do
56
- assert Lingua . all_with_devanagari_script ( ) |> Enum . member? ( :hindi )
57
- assert Lingua . all_with_devanagari_script ( ) |> Enum . member? ( :marathi )
55
+ test "all_languages_with_devanagari_script /0" do
56
+ assert Lingua . all_languages_with_devanagari_script ( ) |> Enum . member? ( :hindi )
57
+ assert Lingua . all_languages_with_devanagari_script ( ) |> Enum . member? ( :marathi )
58
58
59
- assert Lingua . all_with_devanagari_script ( )
59
+ assert Lingua . all_languages_with_devanagari_script ( )
60
60
|> Enum . count ( ) == @ devanagari_count
61
61
end
62
62
63
- test "all_with_latin_script /0" do
64
- assert Lingua . all_with_latin_script ( ) |> Enum . member? ( :welsh )
65
- assert Lingua . all_with_latin_script ( ) |> Enum . member? ( :bosnian )
66
- assert Lingua . all_with_latin_script ( ) |> Enum . member? ( :swedish )
63
+ test "all_languages_with_latin_script /0" do
64
+ assert Lingua . all_languages_with_latin_script ( ) |> Enum . member? ( :welsh )
65
+ assert Lingua . all_languages_with_latin_script ( ) |> Enum . member? ( :bosnian )
66
+ assert Lingua . all_languages_with_latin_script ( ) |> Enum . member? ( :swedish )
67
67
68
- assert Lingua . all_with_latin_script ( )
68
+ assert Lingua . all_languages_with_latin_script ( )
69
69
|> Enum . count ( ) == @ latin_count
70
70
end
71
71
@@ -113,6 +113,11 @@ defmodule LinguaTest do
113
113
languages: [ :english , :russian , :polish ]
114
114
) == { :ok , :polish }
115
115
116
+ assert Lingua . detect ( "państwowych" ,
117
+ builder_option: :with_languages ,
118
+ languages: [ :eng , :russian , :pol ]
119
+ ) == { :ok , :polish }
120
+
116
121
assert Lingua . detect ( "ѕидови" , builder_option: :all_languages_with_cyrillic_script ) ==
117
122
{ :ok , :macedonian }
118
123
@@ -127,6 +132,28 @@ defmodule LinguaTest do
127
132
compute_language_confidence_values: true
128
133
) ==
129
134
{ :ok , [ english: 1.0 ] }
135
+
136
+ assert Lingua . detect ( "what in the world is this" ,
137
+ builder_option: :with_languages ,
138
+ languages: [ :en , :ru , :he ] ,
139
+ compute_language_confidence_values: true
140
+ ) ==
141
+ { :ok , [ english: 1.0 ] }
142
+
143
+ assert Lingua . detect ( "what in the world is this" ,
144
+ builder_option: :with_languages ,
145
+ languages: [ :eng , :rus , :heb ] ,
146
+ compute_language_confidence_values: true
147
+ ) ==
148
+ { :ok , [ english: 1.0 ] }
149
+
150
+ assert_raise ArgumentError , fn ->
151
+ Lingua . detect ( "what in the world is this" ,
152
+ builder_option: :with_languages ,
153
+ languages: [ :kqjwenbg , :rus , :heb ] ,
154
+ compute_language_confidence_values: true
155
+ )
156
+ end
130
157
end
131
158
end
132
159
end
0 commit comments