Skip to content
This repository has been archived by the owner on Dec 11, 2020. It is now read-only.

Add Mongolian Provider #709

Merged
merged 2 commits into from
Feb 23, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions src/Faker/Provider/mn_MN/Person.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?php

namespace Faker\Provider\mn_MN;

class Person extends \Faker\Provider\Person
{
/**
* @link http://ner.query.mn/son
*/
protected static $firstNameMale = array(
'Агь-Од', 'Адархидай', 'Адхираг', 'Ажай', 'Аз-Оргил', 'Алаг-Наяа', 'Алахуш-дигитхури', 'Алдиэр', 'Алтаннар', 'Алхуй', 'Алчи', 'Алчидай', 'Амал', 'Амбагай', 'Амин-Эрдэнэ', 'Анхлан', 'Арачиан', 'Аргасун', 'Арин', 'Арулад', 'Архай Хасар', 'Аучу', 'Ачиг-Чирүн', 'Ачиг-Ширүн', 'Аша-хамбу',
'Баарьдай', 'Багу-Чорхи', 'Байшинхор', 'Бала', 'Бала-Чэрби', 'Балхачи', 'Барула', 'Баруладай', 'Бахажи', 'Баярмагнай', 'Бодончар', 'Боржигидай', 'Боролдай', 'Боролдайсуялби', 'Бужир', 'Буйраг', 'Булуган', 'Бурьбулчиру', 'Буту', 'Буха-Төмөр', 'Бухатай', 'Бухату', 'Бучаран', 'Бэсүдэй', 'Бүлтэчү', 'Бүри', 'Бүри-Бөхө', 'Бүрибөх', 'Бүхэдэй', 'Бөгэн',
'Гилүгэтэй', 'Гэнигэдэй', 'Гүнгуа', 'Гүр-Хан', 'Гүчүгүр', 'Гүчүд',
'Дайр', 'Дайр-Үсүн', 'Далдурхан', 'Дамача', 'Дарбай', 'Даридай', 'Даун', 'Добу', 'Доголдай', 'Доголху', 'Додай', 'Дорибөхө', 'Дува', 'Дэгэй', 'Дэй-Сэцэн', 'Дөрбуй', 'Дөрбэй',
'Егү', 'Еди-Тоблуг', 'Есүнхэй', 'Ехэй-Хонтагар',
'Жажирадай', 'Жалалдин', 'Жали', 'Жалибуха', 'Жалман', 'Жарчиудай', 'Жатай', 'Жаурьдай', 'Жаха-Хамбу', 'Жахахамбу', 'Жибгэ', 'Жибэгэ', 'Жидай', 'Жидэр', 'Жихүр', 'Жубхан', 'Жунсо', 'Жэгэй', 'Жэхү', 'Жэүн', 'Жүрчидэй',
'Зочи', 'Зүтгэлбөх',
'Ивгээл', 'Идухадай', 'Идүүд', 'Илаху', 'Илугай', 'Инал', 'Иналч', 'Инанча', 'Итүргэн', 'Их-Нэүрин', 'Их-Чэрэн', 'Ихнүдэн', 'Ихчирэн',
'Кишлиг',
'Лаблах',
'Мангай', 'Мангудай', 'Масхуд', 'Молор', 'Молор эрдэнэ', 'Моричи', 'Мороха', 'Мулхалху', 'Мухулай буюу Мухули', 'Мэгэтү', 'Мэгүжин', 'Мэлиг', 'Мэнгитү', 'Мэнлиг', 'Мэнэн', 'Мүгэ', 'Мүлхэ-тотаг', 'Мүнтүүр', 'Мөчи',
'Нарийн-гэгээн', 'Наринтоорил', 'Наху', 'Ноёгидай', 'Нэүдэйн Цагаан',
'Огда', 'Оготор', 'Олар', 'Олдхар', 'Онгууд', 'Оронар', 'Оронартай', 'Охинбархаг',
'Өлэбэг', 'Өнгүр', 'Өэлэн',
'Саль-Хачау', 'Саргай', 'Сача-Бэхи', 'Сачуур', 'Сорхату', 'Сорхоншар', 'Сохо-Сэцэн', 'Сэмсэчүлэ', 'Сэцэ-Домог', 'Сэчиүр', 'Сэчэ-Бэхи', 'Сүбэхэй', 'Сүйхэтү', 'Сүхэхэй', 'Сүхэхэй-Жаун', 'Сүхэхэй-Жэүн', 'Сөнид',
'Тай-Төмөр', 'Тайчар', 'Тайчиудай', 'Тайчу', 'Тамача', 'Тамир', 'Таргудай', 'Тататунга', 'Тобуха', 'Тогочар', 'Тогтоа', 'Тогучар', 'Тодойн-Гэрти', 'Тодсаха', 'Толун', 'Торбиташ', 'Торголжин', 'Торойн отчигон', 'Тугудай', 'Тунбинай', 'Тунхуйдай', 'Тусах', 'Туху', 'Тэв тэнгэр', 'Тэлэгэтү', 'Тэмүжин-Үгэ', 'Тэмүжинүгэ', 'Тэрхэг', 'Түгэ', 'Түгэ-Маха',
'Удутай', 'Уйгуртай', 'Уруудай', 'Усун', 'Ухуна',
'Үгэ', 'Үгэлэн', 'Үнгүр',
'Хаатай Дармала', 'Хабич', 'Хабтурхас', 'Хадиги', 'Хайду', 'Халжа', 'Халиудар', 'Хан-Эрдэнэ', 'Хангиадай', 'Ханхархан', 'Хар-Хадаан', 'Хараудар', 'Харачар', 'Хархай', 'Хархалзан', 'Хархирүгэ', 'Харчу', 'Хауран', 'Хачи-Хүлүг', 'Хачиу', 'Хачиун', 'Хачула', 'Хаши', 'Хашин', 'Хингиадай', 'Хиратай', 'Хирилтуг', 'Хирмау', 'Хишилиг', 'Ходун',
'Цагаангуа',
'Чанай', 'Чаужин', 'Чаурхан', 'Чахурхан', 'Чигу', 'Чилгутай', 'Чилэгэрбөх', 'Чилэгүтэн-Тахи', 'Чилэдү', 'Чинбай', 'Чирхай', 'Чирхитэй', 'Чихарай', 'Чихитай', 'Чормаган', 'Чоёг Цагаан', 'Чуу мэргэн', 'Чүлгэдэй',
'Шижуудай', 'Шинч', 'Шинэсочи', 'Ширахул',
'Эди', 'Элжгэдэй', 'Элхудур', 'Эрххар', 'Эхлэлсайхан',
'Ю-Хунан', 'Юрүхан',
'Ядир', 'Ялавач', 'Ялбаг'
);

/**
* @link http://ner.query.mn/daugther
*/
protected static $firstNameFemale = array(
'Агь-Од', 'Алагабэх', 'Алалтун', 'Алахчит', 'Амин-Эрдэнэ', 'Анхлан',
'Баргужин-Гуа', 'Баярмагнай', 'Борогчин-Гуа',
'Гүрбэсү',
'Дөргэнэ',
'Ибага', 'Ивгээл',
'Мааяадээвий', 'Моло', 'Монголжин-Гуа',
'Олуйхан', 'Орбай',
'Өэлүн-Үжин',
'Саргай', 'Сорхагтан', 'Сохатай', 'Сочигэл',
'Тамир', 'Тухай',
'Ужаур-Үжин',
'Хожинбэх', 'Хорижин', 'Хуагчин', 'Хутугтай', 'Хуурчин',
'Цотан',
'Чаалун', 'Чаурбэх', 'Чэчэйхэн',
'Эбэхэй'
);

protected static $namePrefix = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'К', 'Л', 'М', 'Н', 'О', 'Ө', 'П', 'Р', 'С', 'Т', 'У', 'Ү', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Э', 'Ю', 'Я');

protected static $alphabet = array('А', 'Л', 'Х', 'Б', 'М', 'Ц', 'В', 'Н', 'Ч', 'Г', 'О', 'Ш', 'Д', 'Ө', 'Щ', 'Е', 'П', 'Ъ', 'Ё', 'Р', 'Ы', 'Ж', 'С', 'Ь', 'З', 'Т', 'Э', 'И', 'У', 'Ю', 'Й', 'Ү', 'Я', 'К', 'Ф');

protected static $maleNameFormats = array(
'{{namePrefix}}.{{firstNameMale}}'
);

protected static $femaleNameFormats = array(
'{{namePrefix}}.{{firstNameFemale}}'
);

protected static $idNumberFormat = "{{alphabet}}{{alphabet}}########";

/**
* Generate an identification number.
*
* @example ИЙ92011412
*/
public function idNumber()
{
return static::numerify($this->generator->parse(static::$idNumberFormat));
}

/**
* @return string
* @example 'Ф'
*/
public function alphabet()
{
return static::randomElement(static::$alphabet);
}

/**
* @return string
* @example 'Э'
*/
public function namePrefix()
{
return static::randomElement(static::$namePrefix);
}
}
13 changes: 13 additions & 0 deletions src/Faker/Provider/mn_MN/PhoneNumber.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace Faker\Provider\mn_MN;

class PhoneNumber extends \Faker\Provider\PhoneNumber
{
protected static $formats = array(
'9#######',
'8#######',
'7#######',
'3#####'
);
}
27 changes: 27 additions & 0 deletions test/Faker/Provider/mn_MN/PersonTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

namespace Faker\Test\Provider\mn_MN;

use Faker\Generator;
use Faker\Provider\mn_MN\Person;

class PersonTest extends \PHPUnit_Framework_TestCase
{
public function testName()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);

$this->assertRegExp('/^[А-Я]{1}\.[\w\W]+$/u', $faker->name);
}

public function testIdNumber()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(2);

$this->assertRegExp('/^[А-Я]{2}\d{8}$/u', $faker->idNumber);
}
}