# encoding: utf8
from nose.tools import *
import unittest

import pokedex.roomaji


def test_roomaji():
    tests = [
        (u'ã¤ãã«ã©ã¹',         'yamikarasu'),

        # Elongated vowel
        (u'ã¤ã¼ãã¤',           'iibui'),
        (u'ãã¼ãã¼',           'hoohoo'),
        (u'ãã«ãã¥ã¦',         u'pikachuu'),

        # Combined characters
        (u'ãã£ã¼ã¹',           'nyaasu'),
        (u'ã¸ã£',               'ja'),
        (u'ãããã¦ã',         'gyakuten'),
        (u'ã¦ã§ã¶ã¼ãã¼ã«',     'wezaabooru'),

        # Special katakana combinations
        (u'ã©ãã£ã¢ã¹',         'ratiasu'),
        (u'ã¦ã£ã¼',             'wii'),
        (u'ã»ã¬ãã£',           'sereby'),
    ]

    for kana, roomaji in tests:
        result = pokedex.roomaji.romanize(kana)
        assert_equal(result, roomaji, u"'%s' romanizes correctly" % roomaji)

def test_roomaji_cs():
    tests = [
        (u'ã¤ãã«ã©ã¹',         u'jamikarasu'),

        # Elongated vowel
        (u'ã¤ã¼ãã¤',           u'Ã­bui'),
        (u'ãã¼ãã¼',           u'hÃ³hÃ³'),
        (u'ãã«ãã¥ã¦',         u'pikaÄÃº'),

        # Combined characters
        (u'ãã£ã¼ã¹',           u'ÅjÃ¡su'),
        (u'ã¸ã£',              u'dÅ¾a'),
        (u'ãããã¦ã',         u'gjakuten'),
        (u'ã¦ã§ã¶ã¼ãã¼ã«',     u'wezÃ¡bÃ³ru'),

        # Special katakana combinations
        (u'ã©ãã£ã¢ã¹',         u'ratiasu'),
        (u'ã¦ã£ã¼',             u'wÃ­'),
        (u'ã»ã¬ãã£',           u'serebÃ­'),
    ]

    for kana, roomaji in tests:
        result = pokedex.roomaji.romanize(kana, 'cs')
        assert_equal(result, roomaji, u"'%s' romanizes correctly for Czech" % roomaji)
