view src/test/java/openmind/RomanizationLocTest.java @ 97:2c49ddbe95ac

fix tests for changes in RomanizationLoC (not changing wa-).
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 17 Oct 2018 18:44:25 +0200
parents 8adfa8679991
children
line wrap: on
line source

package openmind;

import static org.junit.Assert.*;

import org.junit.Test;
import org.mpi.openmind.repository.utils.RomanizationLoC;

/**
 * Test RomanizationLoC conversion from ISMI transliteration to Library of Congress romanization.
 * 
 * @author casties
 *
 */
public class RomanizationLocTest {

    /*
     * Test methods for {@link org.mpi.openmind.repository.utils.RomanizationLoC#convert(java.lang.String)}.
     */
    
    @Test
    public void testConvertRule1() {
        assertEquals("Th/th Kh/kh Dh/dh Sh/sh Gh/gh á", RomanizationLoC.convert("Ṯ/ṯ Ḫ/ḫ Ḏ/ḏ Š/š Ġ/ġ ỳ"));
    }
    
    @Test
    public void testConvertRule2() {
        assertEquals("al-risalah", RomanizationLoC.convert("al-risalaẗ"));
        assertEquals("risalat al-kabir", RomanizationLoC.convert("risalaẗ al-kabir"));
        assertEquals("risalat    al-kabir", RomanizationLoC.convert("risalaẗ    al-kabir"));
        assertEquals("risalat al-kabirah", RomanizationLoC.convert("risalaẗ al-kabiraẗ"));
        assertEquals("risalah", RomanizationLoC.convert("risalaẗ"));
        assertEquals("risalah risalah", RomanizationLoC.convert("risalaẗ risalaẗ"));
        assertEquals("risalatan", RomanizationLoC.convert("risalaẗan"));
    }

    @Test
    public void testConvertRule3() {
        assertEquals("bi-al-tamām̄", RomanizationLoC.convert("bi al-tamām̄"));
        // 25.6.2018: Do not use for wa (problem with Persian) 
        //assertEquals("wa-al-kamāl", RomanizationLoC.convert("wa al-kamāl"));
        assertEquals("bi-tarīq", RomanizationLoC.convert("bi tarīq"));
    }

    @Test
    public void testConvertRule4() {
        assertEquals("lil-shirbini", RomanizationLoC.convert("li al-shirbini"));
        assertEquals("lil-Shirbīnī", RomanizationLoC.convert("li’l-Shirbīnī"));
        assertEquals("lil-Shirbīnī", RomanizationLoC.convert("li-’l-Shirbīnī"));
        assertEquals("lil-Shirbīnī", RomanizationLoC.convert("liʾl-Shirbīnī"));
        assertEquals("lil-Shirbīnī", RomanizationLoC.convert("li-ʾl-Shirbīnī"));
        assertEquals("li-tajrīd", RomanizationLoC.convert("li tajrīd"));
    }

    @Test
    public void testConvertRule5() {
        assertEquals("fi al-kitāb", RomanizationLoC.convert("fi’l-kitāb"));
        assertEquals("fi al-kitāb", RomanizationLoC.convert("fi-’l-kitāb"));
        assertEquals("fi al-kitāb", RomanizationLoC.convert("fiʾl-kitāb"));
        assertEquals("fi al-kitāb", RomanizationLoC.convert("fi-ʾl-kitāb"));
        assertEquals("al-shams", RomanizationLoC.convert("aš-šams"));
        assertEquals("al-dhams", RomanizationLoC.convert("aḏ-ḏams"));
    }
    
    /*
     * rule 6 not used
    @Test
    public void testConvertRule6() {
        assertEquals("Adʹham", RomanizationLoC.convert("Adham"));
    }
     */

    /*
     * rule 7 not used
    @Test
    public void testConvertRule7() {
        assertEquals("ʿAbd Allāh", RomanizationLoC.convert("‘Abdullāh"));
        assertEquals("ʿAbd Allāh", RomanizationLoC.convert("ʿAbdullah"));
        assertEquals("ʿAbd Allāh", RomanizationLoC.convert("ʿAbd allāh"));
        assertEquals("ʿAli b. ʿAbd Allāh", RomanizationLoC.convert("ʿAli b. ʿAbdullah"));
    }
    */

    @Test
    public void testConvertRules() {
        assertEquals("Risālah fī al-ʿamal bi-rubʿ al-muqanṭarāt al-shamālīyah", RomanizationLoC.convert("Risālaẗ fī al-ʿamal bi-rubʿ al-muqanṭarāt al-šamālīyaẗ"));
        // 25.6.2018: Do not use for wa (problem with Persian) 
        //assertEquals("Mukhtaṣarah fī ṣanʿah baʿḍ al-ālāt al-raṣadiyyah wa-al-ʿamal bi-hā", RomanizationLoC.convert("Muḫtaṣaraẗ fī ṣanʿaẗ baʿḍ al-ālāt al-raṣadiyyaẗ wa-ʾl-ʿamal bi-hā"));
        assertEquals("Mukhtaṣarah fī ṣanʿah baʿḍ al-ālāt al-raṣadiyyah wa al-ʿamal bi-hā", RomanizationLoC.convert("Muḫtaṣaraẗ fī ṣanʿaẗ baʿḍ al-ālāt al-raṣadiyyaẗ wa-ʾl-ʿamal bi-hā"));
    }
}