ocitysmap/ocitysmap/i18n_test.py

96 wiersze
6.3 KiB
Python
Executable File

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# -*- coding: utf-8; mode: Python -*-
import unittest
import i18n
class i18n_ru_generic_test(unittest.TestCase):
def setUp(self):
self.r = i18n.i18n_ru_generic('ru', '')
def test_readable_street(self):
conversions = [
(u"улица Ленина", u"Ленина, улица"),
(u"Улица Ленина", u"Ленина, улица"),
(u"Зеленая улица", u"Зеленая улица"),
(u"1-ый пер. Дзержинского", u"Дзержинского, переулок 1-ый"),
(u"1-ый переулок Дзержинского", u"Дзержинского, переулок 1-ый"),
(u"Красный 5-й пр-д", u"Красный 5-й проезд"),
(u"Красный 5-ый пр-д.", u"Красный 5-ый проезд"),
(u"1-й Барьерный переулок", u"Барьерный переулок, 1-й"),
(u"переулок К.Цеткин", u"К.Цеткин, переулок"),
(u" переулок К.Цеткин ", u"К.Цеткин, переулок"),
(u" переулок К.Цеткин ", u"К.Цеткин, переулок"),
(u"2-й Лётный переулок", u"Лётный переулок, 2-й"),
(u"2-й Малаховский проезд", u"Малаховский проезд, 2-й"),
(u"2-й Малаховский пр-д", u"Малаховский проезд, 2-й"),
(u"Житный переулок", u"Житный переулок"),
(u"10-я Текстильная улица", u"Текстильная улица, 10-я"),
(u"11-я линия В.О.", u"В.О., линия 11-я"),
(u'Сосновая улица', u'Сосновая улица'),
(u'1-й Спортивный проезд', u'Спортивный проезд, 1-й'),
(u'1-й Коммунальный проезд', u'Коммунальный проезд, 1-й'),
(u'Красивый переулок', u'Красивый переулок'),
(u'Больничная улица', u'Больничная улица'),
(u'Улица Берёзово', u'Берёзово, улица'),
(u'улица 8 Марта', u'8 Марта, улица'),
(u'улица Алёнкино', u'Алёнкино, улица'),
(u'улица 222-го Артполка', u'222-го Артполка, улица'),
(u'Вятка', u'Вятка'),
(u'улица Воинов-Интернационалистов', u'Воинов-Интернационалистов, улица'),
(u'переулок Юности', u'Юности, переулок'),
(u'Арматурная улица', u'Арматурная улица'),
(u'Пикалов мост', u'Пикалов мост'),
(u'Подьяческий мост', u'Подьяческий мост'),
(u'Лесопильный мост', u'Лесопильный мост'),
(u'набережная Лебяжьей канавки', u'Лебяжьей канавки, набережная'),
(u'Мало-Калинкин мост', u'Мало-Калинкин мост'),
(u'Площадь Академика Лихачёва', u'Академика Лихачёва, площадь'),
(u'площадь Академика Лихачёва', u'Академика Лихачёва, площадь'),
(u'9-я линия В.О.', u'В.О., линия 9-я'),
(u'открытию регулярного трамвайного движения в Санкт-Петербурге',
u'открытию регулярного трамвайного движения в Санкт-Петербурге'),
(u'Нефтяная дорога', u'Нефтяная дорога'),
(u'8-9-я линии', u'8-9-я линии'),
# Not yet implemented, no doubt how to convert name right,
# there can be different conventions:
#(u'Малая Пушкарская улица', u'Пушкарская малая, улица'),
#(u'набережная реки Мойки', u'Мойки, реки набережная'),
#(u'Большой проспект П.С', u'?'),
# special case - no name, only prefix
(u"10-я аллея", u"10-я аллея"),
(u"123-я улица", u"123-я улица"),
# name can be classified as status part
(u'Набережная улица', u'Набережная улица'),
]
for fr, to in conversions:
self.assertEqual(to, self.r.user_readable_street(fr))
class i18n_be_generic_test(unittest.TestCase):
def setUp(self):
self.r = i18n.i18n_be_generic('be', '')
def test_readable_street(self):
conversions = [
(u"праспект Незалежнасці", u"Незалежнасці, праспект"),
(u"Кастрычніцкая вуліца", u"Кастрычніцкая вуліца"),
(u"вуліца Янкі Купалы", u"Янкі Купалы, вуліца"),
(u"вуліца Раманаўская Слабада", u"Раманаўская Слабада, вуліца"),
(u"Аляксандраўскі сквер", u"Аляксандраўскі сквер"),
(u"Музычны завулак", u"Музычны завулак"),
(u"Парк Цівалі", u"Цівалі, парк"),
(u"вуліца 60 год БССР", u"60 год БССР, вуліца"),
(u"вул. 8 сакавіка", u"8 сакавіка, вуліца"),
(u"завулак Баўмана", u"Баўмана, завулак"),
(u"плошча 17 Верасня", u"17 Верасня, плошча"),
(u"пл. 17 Верасня", u"17 Верасня, плошча"),
(u"2-і завулак Цімашэнкі", u"Цімашэнкі, 2-і завулак"),
]
for fr, to in conversions:
self.assertEqual(to, self.r.user_readable_street(fr))
if __name__ == '__main__':
unittest.main()