1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-19 06:49:50 +01:00

Add kana name formatters (ja_JP)

This commit is contained in:
Kazuyuki Hayashi 2013-12-12 16:47:27 +09:00
parent ca91fd3cce
commit 929fbccf22
2 changed files with 91 additions and 0 deletions

53
src/Faker/Provider/ja_JP/Person.php Normal file → Executable file
View File

@ -29,4 +29,57 @@ class Person extends \Faker\Provider\Person
'三宅', '村山',
'山田', '吉本'
);
protected static $kanaFormats = array(
'{{lastKanaName}} {{firstKanaName}}'
);
protected static $firstKanaName = array(
'アキラ', 'アケミ', 'アスカ', 'オサム',
'カナ', 'キョウスケ', 'ケンイチ', 'クミコ',
'ジュン', 'ソウタロウ',
'タロウ', 'チヨ', 'トモミ', 'トモヤ',
'ナオキ', 'ナオコ',
'ハナコ', 'ヒロシ',
'ミツル', 'モモコ',
'ユミコ', 'リカ',
);
protected static $lastKanaName = array(
'アオタ', 'イダカ', 'ウノ', 'エコダ', 'オオガキ',
'カノウ', 'キジマ', 'クドウ', 'コイズミ',
'ササダ', 'スズキ', 'スギヤマ',
'タナベ', 'ツダ',
'ナギサ', 'ナカツガワ', 'ニシノソノ',
'ハラダ', 'ハマダ', 'ヒロカワ', 'フジモト',
'ミヤケ', 'ムラヤマ',
'ヤマダ', 'ヨシモト'
);
/**
* @example 'アオタ アキラ'
*/
public function kanaName()
{
$format = static::randomElement(static::$kanaFormats);
return $this->generator->parse($format);
}
/**
* @example 'アオタ'
*/
public static function firstKanaName()
{
return static::randomElement(static::$firstKanaName);
}
/**
* @example 'アキラ'
*/
public static function lastKanaName()
{
return static::randomElement(static::$lastKanaName);
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace Faker\Test\Provider\ja_JP;
use Faker\Generator;
use Faker\Provider\ja_JP\Person;
class PersonTest extends \PHPUnit_Framework_TestCase
{
public function testKanaNameReturnsAotaNaoko()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('アオタ ナオコ', $faker->kanaName());
}
public function testFirstKanaNameReturnsTomomi()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('トモミ', $faker->firstKanaName);
}
public function testLastKanaNameReturnsNagisa()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('ナギサ', $faker->lastKanaName);
}
}