Module:bg-common/testcases
Jump to navigation
Jump to search
- The following documentation is located at Module:bg-common/testcases/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • tested module • sandbox
All tests passed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
Monosyllabic, no acute accent | |||
![]() | |||
![]() | с | с | с |
![]() | в | в | в |
![]() | а | а́ | а́ |
![]() | я | я́ | я́ |
![]() | сом | со́м | со́м |
![]() | принц | при́нц | при́нц |
![]() | ѝ | ѝ | ѝ |
![]() | БАЛ | БА́Л | БА́Л |
Monosyllabic with acute accent | |||
![]() | впря́г | впря́г | впря́г |
![]() | дъ́лг | дъ́лг | дъ́лг |
![]() | ТРЕ́НД | ТРЕ́НД | ТРЕ́НД |
![]() | У́ | У́ | У́ |
![]() | на́й- | на́й- | на́й- |
Polysyllabic, no acute accent | |||
![]() | лейка | лейка | лейка |
![]() | катарама | катарама | катарама |
![]() | УНИЦЕФ | УНИЦЕФ | УНИЦЕФ |
![]() | Севастопол | Севастопол | Севастопол |
Polysyllabic with acute accent | |||
![]() | ко́скоджа | ко́скоджа | ко́скоджа |
![]() | парашу́т | парашу́т | парашу́т |
![]() | Доми́нго | Доми́нго | Доми́нго |
![]() | ЮНЕ́СКО | ЮНЕ́СКО | ЮНЕ́СКО |
Suffixes don't get an acute accent | |||
![]() | -вам | -вам | -вам |
![]() | -ка | -ка | -ка |
Prefixes *do* get an acute accent | |||
![]() | по- | по́- | по́- |
![]() | при- | при́- | при́- |
Text | Expected | Actual | |
---|---|---|---|
Monosyllabic words | |||
![]() | true | true | |
![]() | с | true | true |
![]() | и | true | true |
![]() | дом | true | true |
![]() | спринт | true | true |
![]() | Дом | true | true |
![]() | СПРИНТ | true | true |
![]() | ѝ | true | true |
![]() | по- | true | true |
![]() | -вам | true | true |
Polysyllabic words | |||
![]() | нека | false | false |
![]() | НЕКА | false | false |
![]() | полиграф | false | false |
![]() | лющян | false | false |
![]() | произ- | false | false |
![]() | -овам | false | false |
Text | Expected | Actual | |
---|---|---|---|
Zero syllables | |||
![]() | в | в | в |
![]() | с | с | с |
Monosyllabic, no stress | |||
![]() | щанд | ща́нд | ща́нд |
![]() | сто | сто́ | сто́ |
![]() | иск | и́ск | и́ск |
![]() | у | у́ | у́ |
Monosyllabic with stress | |||
![]() | гра́м | гра́м | гра́м |
![]() | спи́рт | спи́рт | спи́рт |
![]() | фьо́н | фьо́н | фьо́н |
Polysyllabic, no stress | |||
![]() | еделвайс | е́делвайс | е́делвайс |
![]() | врачка | вра́чка | вра́чка |
![]() | кльомба | кльо́мба | кльо́мба |
Polysyllabic with stress | |||
![]() | ка́мера | ка́мера | ка́мера |
![]() | поли́ция | поли́ция | поли́ция |
![]() | катапу́лт | катапу́лт | катапу́лт |
Text | Expected | Actual | |
---|---|---|---|
Monosyllabic with acute accent | |||
![]() | впря́г | впряг | впряг |
![]() | дъ́лг | дълг | дълг |
![]() | ТРЕ́НД | ТРЕНД | ТРЕНД |
![]() | У́ | У | У |
![]() | гра́х | грах | грах |
Monosyllabic, no acute accent | |||
![]() | |||
![]() | с | с | с |
![]() | в | в | в |
![]() | а | а | а |
![]() | я | я | я |
![]() | сом | сом | сом |
![]() | принц | принц | принц |
![]() | ѝ | ѝ | ѝ |
![]() | БАЛ | БАЛ | БАЛ |
Polysyllabic, no acute accent | |||
![]() | лейка | лейка | лейка |
![]() | катарама | катарама | катарама |
![]() | УНИЦЕФ | УНИЦЕФ | УНИЦЕФ |
![]() | Севастопол | Севастопол | Севастопол |
Polysyllabic with acute accent | |||
![]() | ко́скоджа | ко́скоджа | ко́скоджа |
![]() | парашу́т | парашу́т | парашу́т |
![]() | Доми́нго | Доми́нго | Доми́нго |
![]() | ЮНЕ́СКО | ЮНЕ́СКО | ЮНЕ́СКО |
Suffixes don't get their acute accent removed | |||
![]() | -а́ч | -а́ч | -а́ч |
![]() | -ни́к | -ни́к | -ни́к |
Prefixes *do* get their acute accent removed | |||
![]() | по́- | по- | по- |
![]() | при́- | при- | при- |
local tests = require("Module:UnitTests")
local m_bg = require("Module:bg-common")
--- << is_monosyllabic >> ---
local is_monosyllabic_test_cases = {
"Monosyllabic words",
{ "", true },
{ "с", true },
{ "и", true },
{ "дом", true },
{ "спринт", true },
{ "Дом", true },
{ "СПРИНТ", true },
{ "ѝ", true },
{ "по-", true },
{ "-вам", true },
"Polysyllabic words",
{ "нека", false },
{ "НЕКА", false },
{ "полиграф", false },
{ "лющян", false },
{ "произ-", false },
{ "-овам", false },
}
function tests:check_is_monosyllabic(word, expected)
local actual = m_bg.is_monosyllabic(word)
tests:equals(word, actual, expected)
end
function tests:test_is_monosyllabic()
tests:iterate(is_monosyllabic_test_cases, "check_is_monosyllabic")
end
--- << add_monosyllabic_stress >> ---
local add_monosyllabic_stress_test_cases = {
"Monosyllabic, no acute accent",
{"", ""},
{"с", "с"},
{"в", "в"},
{"а", "а́"},
{"я", "я́"},
{"сом", "со́м"},
{"принц", "при́нц"},
{"ѝ", "ѝ"}, -- no idea why this works
{"БАЛ", "БА́Л"},
"Monosyllabic with acute accent",
{"впря́г", "впря́г"},
{"дъ́лг", "дъ́лг"},
{"ТРЕ́НД", "ТРЕ́НД"},
{"У́", "У́"},
{"на́й-", "на́й-"},
"Polysyllabic, no acute accent",
{"лейка", "лейка"},
{"катарама", "катарама"},
{"УНИЦЕФ", "УНИЦЕФ"},
{"Севастопол", "Севастопол"},
"Polysyllabic with acute accent",
{"ко́скоджа", "ко́скоджа"},
{"парашу́т", "парашу́т"},
{"Доми́нго", "Доми́нго"},
{"ЮНЕ́СКО", "ЮНЕ́СКО"},
"Suffixes don't get an acute accent",
{"-вам", "-вам"},
{"-ка", "-ка"},
"Prefixes *do* get an acute accent",
{"по-", "по́-"},
{"при-", "при́-"},
}
function tests:check_add_monosyllabic_stress(word, expected)
local actual = m_bg.add_monosyllabic_stress(word)
tests:equals(word, actual, expected)
end
function tests:test_add_monosyllabic_stress()
tests:iterate(add_monosyllabic_stress_test_cases, "check_add_monosyllabic_stress")
end
--- << remove_monosyllabic_stress >> ---
local remove_monosyllabic_stress_test_cases = {
"Monosyllabic with acute accent",
{"впря́г", "впряг"},
{"дъ́лг", "дълг"},
{"ТРЕ́НД", "ТРЕНД"},
{"У́", "У"},
{"гра́х", "грах"},
"Monosyllabic, no acute accent",
{"", ""},
{"с", "с"},
{"в", "в"},
{"а", "а"},
{"я", "я"},
{"сом", "сом"},
{"принц", "принц"},
{"ѝ", "ѝ"}, -- no idea why this works
{"БАЛ", "БАЛ"},
"Polysyllabic, no acute accent",
{"лейка", "лейка"},
{"катарама", "катарама"},
{"УНИЦЕФ", "УНИЦЕФ"},
{"Севастопол", "Севастопол"},
"Polysyllabic with acute accent",
{"ко́скоджа", "ко́скоджа"},
{"парашу́т", "парашу́т"},
{"Доми́нго", "Доми́нго"},
{"ЮНЕ́СКО", "ЮНЕ́СКО"},
"Suffixes don't get their acute accent removed",
{"-а́ч", "-а́ч"},
{"-ни́к", "-ни́к"},
"Prefixes *do* get their acute accent removed",
{"по́-", "по-"},
{"при́-", "при-"},
}
function tests:check_remove_monosyllabic_stress(word, expected)
local actual = m_bg.remove_monosyllabic_stress(word)
tests:equals(word, actual, expected)
end
function tests:test_remove_monosyllabic_stress()
tests:iterate(remove_monosyllabic_stress_test_cases, "check_remove_monosyllabic_stress")
end
--- << maybe_stress_initial_syllable >> ---
local maybe_stress_initial_test_cases = {
"Zero syllables",
{"в", "в"},
{"с", "с"},
"Monosyllabic, no stress",
{"щанд", "ща́нд"},
{"сто", "сто́"},
{"иск", "и́ск"},
{"у", "у́"},
"Monosyllabic with stress",
{"гра́м", "гра́м"},
{"спи́рт", "спи́рт"},
{"фьо́н", "фьо́н"},
"Polysyllabic, no stress",
{"еделвайс", "е́делвайс"},
{"врачка", "вра́чка"},
{"кльомба", "кльо́мба"},
"Polysyllabic with stress",
{"ка́мера", "ка́мера"},
{"поли́ция", "поли́ция"},
{"катапу́лт", "катапу́лт"},
}
function tests:check_maybe_stress_initial(word, expected)
local actual = m_bg.maybe_stress_initial_syllable(word)
tests:equals(word, actual, expected)
end
function tests:test_maybe_stress_initial_syllable()
tests:iterate(maybe_stress_initial_test_cases, "check_maybe_stress_initial")
end
return tests