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

Commit

Permalink
Merge pull request #709 from selmonal/master
Browse files Browse the repository at this point in the history
Add Mongolian Provider
  • Loading branch information
fzaninotto committed Feb 23, 2016
2 parents 8e3c021 + 39331f1 commit 38146e1
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 0 deletions.
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);
}
}

0 comments on commit 38146e1

Please sign in to comment.