spec/unique_spec.rb in gimei-1.0.1 vs spec/unique_spec.rb in gimei-1.1.0
- old
+ new
@@ -155,9 +155,63 @@
end
end
end
end
+ describe '#family' do
+ describe '姓が枯渇していないとき' do
+ it '一意な姓(漢字単位)が返ること' do
+ Gimei.stub(:names, {
+ 'first_name' => { 'male' => [], 'female' => [] },
+ 'last_name' => [%w[前島 まえしま マエシマ], %w[神谷 かみや カミヤ]]
+ }) do
+ _([Gimei.unique.family.kanji, Gimei.unique.family.kanji].sort).must_equal %w[前島 神谷]
+ end
+ end
+ end
+
+ describe '姓が枯渇したとき' do
+ it 'Gimei::RetryLimitExceeded例外が発生すること' do
+ Gimei.stub(:names, {
+ 'first_name' => { 'male' => [], 'female' => [] },
+ 'last_name' => [%w[前島 まえしま マエシマ]]
+ }) do
+ assert_raises Gimei::RetryLimitExceeded do
+ Gimei.unique.family
+ Gimei.unique.family
+ end
+ end
+ end
+ end
+ end
+
+ describe '#given' do
+ describe '名が枯渇していないとき' do
+ it '一意な名(漢字単位)が返ること' do
+ Gimei.stub(:names, {
+ 'first_name' => { 'male' => [%w[真一 しんいち シンイチ], %w[真二 しんじ シンジ]] },
+ 'last_name' => %w[]
+ }) do
+ _([Gimei.unique.given(:male).kanji, Gimei.unique.given(:male).kanji].sort).must_equal %w[真一 真二]
+ end
+ end
+ end
+
+ describe '名が枯渇したとき' do
+ it 'Gimei::RetryLimitExceeded例外が発生すること' do
+ Gimei.stub(:names, {
+ 'first_name' => { 'male' => [%w[真一 しんいち シンイチ]] },
+ 'last_name' => []
+ }) do
+ assert_raises Gimei::RetryLimitExceeded do
+ Gimei.unique.given(:male)
+ Gimei.unique.given(:male)
+ end
+ end
+ end
+ end
+ end
+
describe '#kanji' do
describe '名前が枯渇していないとき' do
it '一意な名前(フルネームの漢字単位)が返ること' do
Gimei.stub(:names, {
'first_name' => { 'male' => [%w[真一 しんいち シンイチ]] },