This repository has been archived by the owner on Dec 11, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #709 from selmonal/master
Add Mongolian Provider
- Loading branch information
Showing
3 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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#####' | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | ||
} | ||
} |