commonTest.com.michaeltroger.latintocyrillic.macedonian.academic.MacedonianCyrillicToLatinTest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of latin-to-cyrillic Show documentation
Show all versions of latin-to-cyrillic Show documentation
A Kotlin Multiplatform Library for Latin to Cyrillic transliteration
The newest version!
package com.michaeltroger.latintocyrillic.macedonian.academic
import com.michaeltroger.latintocyrillic.Alphabet
import com.michaeltroger.latintocyrillic.LatinCyrillic
import com.michaeltroger.latintocyrillic.LatinCyrillicImpl
import com.michaeltroger.latintocyrillic.runBlockingTest
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
internal class MacedonianCyrillicToLatinTest {
private lateinit var converter: LatinCyrillic
@BeforeTest
fun setUp() {
converter = LatinCyrillicImpl(Alphabet.Macedonian)
}
@Test
fun testEdgeCases() = runBlockingTest {
assertEquals("", converter.cyrillicToLatin(""))
assertEquals(".", converter.cyrillicToLatin("."))
assertEquals(",", converter.cyrillicToLatin(","))
assertEquals("!", converter.cyrillicToLatin("!"))
assertEquals("?", converter.cyrillicToLatin("?"))
}
@Test
fun testDoubleLetters() = runBlockingTest {
assertEquals("Nj", converter.cyrillicToLatin("Њ"))
assertEquals("nj", converter.cyrillicToLatin("њ"))
assertEquals("Lj", converter.cyrillicToLatin("Љ"))
assertEquals("lj", converter.cyrillicToLatin("љ"))
assertEquals("Dž", converter.cyrillicToLatin("Џ"))
assertEquals("dž", converter.cyrillicToLatin("џ"))
assertEquals("Dz", converter.cyrillicToLatin("Ѕ"))
assertEquals("dz", converter.cyrillicToLatin("ѕ"))
}
@Test
fun testSingleLetters() = runBlockingTest {
assertEquals("N", converter.cyrillicToLatin("Н"))
assertEquals("n", converter.cyrillicToLatin("н"))
assertEquals("L", converter.cyrillicToLatin("Л"))
assertEquals("l", converter.cyrillicToLatin("л"))
assertEquals("D", converter.cyrillicToLatin("Д"))
assertEquals("d", converter.cyrillicToLatin("д"))
assertEquals("Ǵ", converter.cyrillicToLatin("Ѓ"))
assertEquals("ǵ", converter.cyrillicToLatin("ѓ"))
assertEquals("Ḱ", converter.cyrillicToLatin("Ќ"))
assertEquals("ḱ", converter.cyrillicToLatin("ќ"))
}
@Test
fun testSentences() = runBlockingTest { // source: https://vecer.mk and https://translate.google.com/
assertEquals("""Očigledno, i Amerikancite zabeležale deka Bjelo Dugme e poveḱe od muzika.""",
converter.cyrillicToLatin(
"""Очигледно, и Американците забележале дека Бјело Дугме е повеќе од музика."""
))
assertEquals(""""Bjelo Dugme, kako i mnogu drugi izvori na kulturata i subkulturata na Jugoslavija, doaǵa od Saraevo.
|Gradot koj e dom na raskažuvačite Zuko Džumhur i Abdulah Sidran, se ušte najgolemiot jugoslovenski umetnik na filmot Emir Kustirica,
|muzičkite legendi Zdravko Čoliḱ, Zabranjeno pušenje i Doktor Nele Karajliḱ, Duško Trifunoviḱ, slikarot Mersad Berber,
|televiziskiot fenomen Top lista nadrealista... Saraevo, gradot na sevdahot, muzikata i umetnicite, najubavata mešavina na četiri veri i religii vo Evropa,
|so najmnogu jugoslovenski kopnež i koga Jugoslavija ja imaše, i koga potoa beše izneverena tokmu od verskite vodači i uličnite dileri, vo sojuz.""",
converter.cyrillicToLatin(
""""Бјело Дугме, како и многу други извори на културата и субкултурата на Југославија, доаѓа од Сараево.
|Градот кој е дом на раскажувачите Зуко Џумхур и Абдулах Сидран, се уште најголемиот југословенски уметник на филмот Емир Кустирица,
|музичките легенди Здравко Чолиќ, Забрањено пушење и Доктор Неле Карајлиќ, Душко Трифуновиќ, сликарот Мерсад Бербер,
|телевизискиот феномен Топ листа надреалиста... Сараево, градот на севдахот, музиката и уметниците, најубавата мешавина на четири вери и религии во Европа,
|со најмногу југословенски копнеж и кога Југославија ја имаше, и кога потоа беше изневерена токму од верските водачи и уличните дилери, во сојуз."""
))
}
@Test // verified with: https://www.lexilogos.com and https://transliteration.eki.ee and https://www.loc.gov/catdir/cpso/roman.html
fun testWikiAlphabet() = runBlockingTest { // source: https://mk.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%98%D0%B0_%D0%BD%D0%B0_%D0%BC%D0%B0%D0%BA%D0%B5%D0%B4%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D1%82%D0%BE_%D0%BF%D0%B8%D1%81%D0%BC%D0%BE
assertEquals(""""
A a
B b
V v
G g
D d
Ǵ ǵ
E e
Ž ž
Z z
Dz dz
I i
J j
K k
L l
Lj lj
M m
N n
Nj nj
O o
P p
R r
S s
T t
Ḱ ḱ
U u
F f
H h
C c
Č č
Dž dž
Š š
""",
converter.cyrillicToLatin(""""
А а
Б б
В в
Г г
Д д
Ѓ ѓ
Е е
Ж ж
З з
Ѕ ѕ
И и
Ј ј
К к
Л л
Љ љ
М м
Н н
Њ њ
О о
П п
Р р
С с
Т т
Ќ ќ
У у
Ф ф
Х х
Ц ц
Ч ч
Џ џ
Ш ш
"""
))
}
@Test // verified with: https://www.lexilogos.com and https://transliteration.eki.ee and https://www.loc.gov/catdir/cpso/roman.html
fun testAlaLcAlphabet() = runBlockingTest { // source: https://mk.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%98%D0%B0_%D0%BD%D0%B0_%D0%BC%D0%B0%D0%BA%D0%B5%D0%B4%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D1%82%D0%BE_%D0%BF%D0%B8%D1%81%D0%BC%D0%BE
assertEquals(""""
A a
B b
V v
G g
Ǵ ǵ
D d
E e
Ž ž
Z z
Dz dz
I i
J j
K k
Ḱ ḱ
L l
Lj lj
M m
N n
Nj nj
O o
P p
R r
S s
T t
U u
F f
H h
C c
Č č
Dž dž
Š š
""",
converter.cyrillicToLatin(""""
А а
Б б
В в
Г г
Ѓ ѓ
Д д
Е е
Ж ж
З з
Ѕ ѕ
И и
Ј ј
К к
Ќ ќ
Л л
Љ љ
М м
Н н
Њ њ
О о
П п
Р р
С с
Т т
У у
Ф ф
Х х
Ц ц
Ч ч
Џ џ
Ш ш
"""
))
}
}