spec/name_spec.rb in gimei-0.3.0 vs spec/name_spec.rb in gimei-0.4.0

- old
+ new

@@ -4,175 +4,190 @@ describe Gimei::Name do describe '.male' do before { @name = Gimei::Name.male } it 'Gimei::Name オブジェクトが返ること' do - @name.must_be_instance_of Gimei::Name + _(@name).must_be_instance_of Gimei::Name end + it '#gender が :male を返すこと' do + _(@name.gender).must_equal :male + end + it '#male? が true を返すこと' do - @name.male?.must_equal true + _(@name.male?).must_equal true end end describe '.female' do before { @name = Gimei::Name.female } it 'Gimei::Name オブジェクトが返ること' do - @name.must_be_instance_of Gimei::Name + _(@name).must_be_instance_of Gimei::Name end + it '#gender が :female を返すこと' do + _(@name.gender).must_equal :female + end + it '#female? が true を返すこと' do - @name.female?.must_equal true + _(@name.female?).must_equal true end end describe '.kanji' do it '全角文字とスペースが返ること' do - Gimei::Name.kanji.must_match(/\A[#{Moji.zen}\s]+\z/) + _(Gimei::Name.kanji).must_match(/\A[#{Moji.zen}\s]+\z/) end end describe '.hiragana' do it 'ひらがなとスペースが返ること' do - Gimei::Name.hiragana.must_match(/\A[\p{hiragana}\s]+\z/) + _(Gimei::Name.hiragana).must_match(/\A[\p{hiragana}\s]+\z/) end end describe '.katakana' do it 'カタカナとスペースが返ること' do - Gimei::Name.katakana.must_match(/\A[\p{katakana}\s]+\z/) + _(Gimei::Name.katakana).must_match(/\A[\p{katakana}\s]+\z/) end end describe '.romaji' do it 'ローマ字とスペースが返ること' do - Gimei::Name.romaji.must_match(/\A[a-zA-Z\s]+\z/) + _(Gimei::Name.romaji).must_match(/\A[a-zA-Z\s]+\z/) end end + describe '#gender' do + it ':male または :female が返ること' do + _(Gimei::Name.new.gender).must_be_instance_of(Symbol) + _(Gimei::Name.new.gender.to_s).must_match(/\A(?:male|female)\Z/) + end + end + describe '#kanji' do it '全角文字とスペースが返ること' do - Gimei::Name.new.kanji.must_match(/\A[#{Moji.zen}\s]+\z/) + _(Gimei::Name.new.kanji).must_match(/\A[#{Moji.zen}\s]+\z/) end end describe '#hiragana' do it 'ひらがなとスペースが返ること' do - Gimei::Name.new.hiragana.must_match(/\A[\p{hiragana}\s]+\z/) + _(Gimei::Name.new.hiragana).must_match(/\A[\p{hiragana}\s]+\z/) end end describe '#katakana' do it 'カタカナとスペースが返ること' do - Gimei::Name.new.katakana.must_match(/\A[\p{katakana}\s]+\z/) + _(Gimei::Name.new.katakana).must_match(/\A[\p{katakana}\s]+\z/) end end describe '#first' do it 'Gimei::Name::First オブジェクトが返ること' do - Gimei::Name.new.first.must_be_instance_of Gimei::Name::First + _(Gimei::Name.new.first).must_be_instance_of Gimei::Name::First end end describe '#last' do it 'Gimei::Name::Last オブジェクトが返ること' do - Gimei::Name.new.last.must_be_instance_of Gimei::Name::Last + _(Gimei::Name.new.last).must_be_instance_of Gimei::Name::Last end end describe '.romaji' do it 'ローマ字とスペースが返ること' do - Gimei::Name.new.romaji.must_match(/\A[a-zA-Z\s]+\z/) + _(Gimei::Name.new.romaji).must_match(/\A[a-zA-Z\s]+\z/) end end end describe Gimei::Name::First do describe '.male' do before { @name = Gimei::Name::First.male } it 'Gimei::Name::First オブジェクトが返ること' do - @name.must_be_instance_of Gimei::Name::First + _(@name).must_be_instance_of Gimei::Name::First end it '#male? が true を返すこと' do - @name.male?.must_equal true + _(@name.male?).must_equal true end end describe '.female' do before { @name = Gimei::Name::First.female } it 'Gimei::Name::First オブジェクトが返ること' do - @name.must_be_instance_of Gimei::Name::First + _(@name).must_be_instance_of Gimei::Name::First end it '#female? が true を返すこと' do - @name.female?.must_equal true + _(@name.female?).must_equal true end end describe '#kanji' do it '全角文字が返ること' do - Gimei::Name::First.new.kanji.must_match(/\A#{Moji.zen}+\z/) + _(Gimei::Name::First.new.kanji).must_match(/\A#{Moji.zen}+\z/) end end describe '#hiragana' do it 'ひらがなが返ること' do - Gimei::Name::First.new.hiragana.must_match(/\A\p{hiragana}+\z/) + _(Gimei::Name::First.new.hiragana).must_match(/\A\p{hiragana}+\z/) end end describe '#katakana' do it 'カタカナが返ること' do - Gimei::Name::First.new.katakana.must_match(/\A\p{katakana}+\z/) + _(Gimei::Name::First.new.katakana).must_match(/\A\p{katakana}+\z/) end end describe '#to_s' do it '全角文字が返ること' do - Gimei::Name::First.new.to_s.must_match(/\A#{Moji.zen}+\z/) + _(Gimei::Name::First.new.to_s).must_match(/\A#{Moji.zen}+\z/) end end describe '#romaji' do it 'アルファベットで返ること' do - Gimei::Name::First.new.romaji.must_match(/\A[a-zA-Z]+\z/) + _(Gimei::Name::First.new.romaji).must_match(/\A[a-zA-Z]+\z/) end end end describe Gimei::Name::Last do before { @name = Gimei::Name::Last.new } describe '#kanji' do it '全角文字が返ること' do - @name.kanji.must_match(/\A#{Moji.zen}+\z/) + _(@name.kanji).must_match(/\A#{Moji.zen}+\z/) end end describe '#hiragana' do it 'ひらがなが返ること' do - @name.hiragana.must_match(/\A\p{hiragana}+\z/) + _(@name.hiragana).must_match(/\A\p{hiragana}+\z/) end end describe '#katakana' do it 'カタカナが返ること' do - @name.katakana.must_match(/\A\p{katakana}+\z/) + _(@name.katakana).must_match(/\A\p{katakana}+\z/) end end describe '#to_s' do it '全角文字が返ること' do - @name.to_s.must_match(/\A#{Moji.zen}+\z/) + _(@name.to_s).must_match(/\A#{Moji.zen}+\z/) end end describe '#romaji' do it 'アルファベットで返ること' do - Gimei::Name::First.new.romaji.must_match(/\A[a-z|A-Z]+\z/) + _(Gimei::Name::First.new.romaji).must_match(/\A[a-z|A-Z]+\z/) end end end