gimei 0.1.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  class Gimei
2
- VERSION = "0.1.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -0,0 +1,64 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative 'spec_helper'
3
+
4
+ describe Gimei do
5
+ describe '#kanji and #to_s' do
6
+ it '全角文字が返ること' do
7
+ _(Gimei.address.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
8
+ _(Gimei.address.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
9
+ _(Gimei.address.prefecture.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
10
+ _(Gimei.address.prefecture.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
11
+ _(Gimei.address.city.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
12
+ _(Gimei.address.city.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
13
+ _(Gimei.address.town.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
14
+ _(Gimei.address.town.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
15
+
16
+ _(Gimei.prefecture.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
17
+ _(Gimei.prefecture.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
18
+ _(Gimei.city.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
19
+ _(Gimei.city.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
20
+ _(Gimei.town.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
21
+ _(Gimei.town.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
22
+ end
23
+ end
24
+
25
+ describe '#hiragana' do
26
+ it 'ひらがなが返ること' do
27
+ _(Gimei.address.hiragana).must_match(/\A[\p{hiragana}]+\z/)
28
+ _(Gimei.address.prefecture.hiragana).must_match(/\A[\p{hiragana}]+\z/)
29
+ _(Gimei.address.city.hiragana).must_match(/\A[\p{hiragana}]+\z/)
30
+ _(Gimei.address.town.hiragana).must_match(/\A[\p{hiragana}]+\z/)
31
+
32
+ _(Gimei.prefecture.hiragana).must_match(/\A[\p{hiragana}]+\z/)
33
+ _(Gimei.city.hiragana).must_match(/\A[\p{hiragana}]+\z/)
34
+ _(Gimei.town.hiragana).must_match(/\A[\p{hiragana}]+\z/)
35
+ end
36
+ end
37
+
38
+ describe '#katakana' do
39
+ it 'カタカナが返ること' do
40
+ _(Gimei.address.katakana).must_match(/\A[\p{katakana}]+\z/)
41
+ _(Gimei.address.prefecture.katakana).must_match(/\A[\p{katakana}]+\z/)
42
+ _(Gimei.address.city.katakana).must_match(/\A[\p{katakana}]+\z/)
43
+ _(Gimei.address.town.katakana).must_match(/\A[\p{katakana}]+\z/)
44
+
45
+ _(Gimei.prefecture.katakana).must_match(/\A[\p{katakana}]+\z/)
46
+ _(Gimei.city.katakana).must_match(/\A[\p{katakana}]+\z/)
47
+ _(Gimei.town.katakana).must_match(/\A[\p{katakana}]+\z/)
48
+ end
49
+ end
50
+
51
+ describe '#romaji' do
52
+ it 'ローマ字が返ること' do
53
+ _(Gimei.address.romaji).must_match(/\A[a-zA-Z\s]+\z/)
54
+
55
+ _(Gimei.address.prefecture.romaji).must_match(/\A[a-zA-Z]+\z/)
56
+ _(Gimei.address.city.romaji).must_match(/\A[a-zA-Z]+\z/)
57
+ _(Gimei.address.town.romaji).must_match(/\A[a-zA-Z]+\z/)
58
+
59
+ _(Gimei.prefecture.romaji).must_match(/\A[a-zA-Z]+\z/)
60
+ _(Gimei.city.romaji).must_match(/\A[a-zA-Z]+\z/)
61
+ _(Gimei.town.romaji).must_match(/\A[a-zA-Z]+\z/)
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,181 @@
1
+ # coding: utf-8
2
+ require_relative 'spec_helper'
3
+
4
+ describe Gimei do
5
+ describe '.male' do
6
+ before { @name = Gimei.male }
7
+
8
+ it 'Gimei::Name オブジェクトが返ること' do
9
+ _(@name).must_be_instance_of Gimei::Name
10
+ end
11
+
12
+ it '#gender が :male を返すこと' do
13
+ _(@name.gender).must_equal :male
14
+ end
15
+
16
+ it '#male? が true を返すこと' do
17
+ _(@name.male?).must_equal true
18
+ end
19
+ end
20
+
21
+ describe '.female' do
22
+ before { @name = Gimei.female }
23
+
24
+ it 'Gimei::Name オブジェクトが返ること' do
25
+ _(@name).must_be_instance_of Gimei::Name
26
+ end
27
+
28
+ it '#gender が :female を返すこと' do
29
+ _(@name.gender).must_equal :female
30
+ end
31
+
32
+ it '#female? が true を返すこと' do
33
+ _(@name.female?).must_equal true
34
+ end
35
+ end
36
+
37
+ describe '#gender' do
38
+ it ':male または :female が返ること' do
39
+ _(Gimei.new.gender).must_be_instance_of(Symbol)
40
+ _(Gimei.new.gender.to_s).must_match(/\A(?:male|female)\Z/)
41
+ end
42
+ end
43
+
44
+ describe '#kanji' do
45
+ it '全角文字とスペースが返ること' do
46
+ _(Gimei.new.kanji).must_match(/\A#{zenkaku_or_space_regexp}+\z/)
47
+ end
48
+ end
49
+
50
+ describe '#to_s' do
51
+ it '全角文字とスペースが返ること' do
52
+ _(Gimei.new.to_s).must_match(/\A#{zenkaku_or_space_regexp}+\z/)
53
+ end
54
+ end
55
+
56
+ describe '.kanji' do
57
+ it '全角文字とスペースが返ること' do
58
+ _(Gimei.kanji).must_match(/\A#{zenkaku_or_space_regexp}+\z/)
59
+ end
60
+ end
61
+
62
+ describe '#hiragana' do
63
+ it 'ひらがなとスペースが返ること' do
64
+ _(Gimei.new.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
65
+ end
66
+ end
67
+
68
+ describe '.hiragana' do
69
+ it 'ひらがなとスペースが返ること' do
70
+ _(Gimei.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
71
+ end
72
+ end
73
+
74
+ describe '#katakana' do
75
+ it 'カタカナとスペースが返ること' do
76
+ _(Gimei.new.katakana).must_match(/\A[\p{katakana}\s]+\z/)
77
+ end
78
+ end
79
+
80
+ describe '.katakana' do
81
+ it 'カタカナとスペースが返ること' do
82
+ _(Gimei.katakana).must_match(/\A[\p{katakana}\s]+\z/)
83
+ end
84
+ end
85
+
86
+ describe '.name' do
87
+ it 'Gimei::Name オブジェクトが返ること' do
88
+ _(Gimei.name).must_be_instance_of Gimei::Name
89
+ end
90
+ end
91
+
92
+ describe '#name' do
93
+ it 'Gimei::Name オブジェクトが返ること' do
94
+ _(Gimei.new.name).must_be_instance_of Gimei::Name
95
+ end
96
+ end
97
+
98
+ describe '.first' do
99
+ it 'Gimei::Name::First オブジェクトが返ること' do
100
+ _(Gimei.first).must_be_instance_of Gimei::Name::First
101
+ end
102
+ end
103
+
104
+ describe '#first' do
105
+ it 'Gimei::Name::First オブジェクトが返ること' do
106
+ _(Gimei.new.first).must_be_instance_of Gimei::Name::First
107
+ end
108
+ end
109
+
110
+ describe '.last' do
111
+ it 'Gimei::Name::First オブジェクトが返ること' do
112
+ _(Gimei.last).must_be_instance_of Gimei::Name::Last
113
+ end
114
+ end
115
+
116
+ describe '#last' do
117
+ it 'Gimei::Name::First オブジェクトが返ること' do
118
+ _(Gimei.new.last).must_be_instance_of Gimei::Name::Last
119
+ end
120
+ end
121
+
122
+ describe '.romaji' do
123
+ it 'ローマ字とスペースが返ること' do
124
+ _(Gimei.romaji).must_match(/\A[a-zA-Z\s]+\z/)
125
+ end
126
+ end
127
+
128
+ describe '#romaji' do
129
+ it 'ローマ字とスペースが返ること' do
130
+ _(Gimei.new.romaji).must_match(/\A[a-zA-Z\s]+\z/)
131
+ end
132
+ end
133
+
134
+ describe '.address' do
135
+ it 'Gimei::Address オブジェクトが返ること' do
136
+ _(Gimei.address).must_be_instance_of Gimei::Address
137
+ end
138
+ end
139
+
140
+ describe '#address' do
141
+ it 'Gimei::Address オブジェクトが返ること' do
142
+ _(Gimei.new.address).must_be_instance_of Gimei::Address
143
+ end
144
+ end
145
+
146
+ describe '.prefecture' do
147
+ it 'Gimei::Address::Prefecture オブジェクトが返ること' do
148
+ _(Gimei.prefecture).must_be_instance_of Gimei::Address::Prefecture
149
+ end
150
+ end
151
+
152
+ describe '#prefecture' do
153
+ it 'Gimei::Address::Prefecture オブジェクトが返ること' do
154
+ _(Gimei.new.prefecture).must_be_instance_of Gimei::Address::Prefecture
155
+ end
156
+ end
157
+
158
+ describe '.city' do
159
+ it 'Gimei::Address::City オブジェクトが返ること' do
160
+ _(Gimei.city).must_be_instance_of Gimei::Address::City
161
+ end
162
+ end
163
+
164
+ describe '#city' do
165
+ it 'Gimei::Address::City オブジェクトが返ること' do
166
+ _(Gimei.new.city).must_be_instance_of Gimei::Address::City
167
+ end
168
+ end
169
+
170
+ describe '.town' do
171
+ it 'Gimei::Address::Town オブジェクトが返ること' do
172
+ _(Gimei.town).must_be_instance_of Gimei::Address::Town
173
+ end
174
+ end
175
+
176
+ describe '#town' do
177
+ it 'Gimei::Address::Town オブジェクトが返ること' do
178
+ _(Gimei.new.town).must_be_instance_of Gimei::Address::Town
179
+ end
180
+ end
181
+ end
@@ -1,123 +1,193 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require_relative 'spec_helper'
3
3
 
4
- describe Gimei do
4
+ describe Gimei::Name do
5
5
  describe '.male' do
6
- before { @name = Gimei.male }
6
+ before { @name = Gimei::Name.male }
7
7
 
8
- it '男性の名前が返ること' do
9
- @name.male?.must_equal true
8
+ it 'Gimei::Name オブジェクトが返ること' do
9
+ _(@name).must_be_instance_of Gimei::Name
10
+ end
11
+
12
+ it '#gender が :male を返すこと' do
13
+ _(@name.gender).must_equal :male
14
+ end
15
+
16
+ it '#male? が true を返すこと' do
17
+ _(@name.male?).must_equal true
10
18
  end
11
19
  end
12
20
 
13
21
  describe '.female' do
14
- before { @name = Gimei.female }
22
+ before { @name = Gimei::Name.female }
23
+
24
+ it 'Gimei::Name オブジェクトが返ること' do
25
+ _(@name).must_be_instance_of Gimei::Name
26
+ end
27
+
28
+ it '#gender が :female を返すこと' do
29
+ _(@name.gender).must_equal :female
30
+ end
15
31
 
16
- it '女性の名前が返ること' do
17
- @name.female?.must_equal true
32
+ it '#female? が true を返すこと' do
33
+ _(@name.female?).must_equal true
18
34
  end
19
35
  end
20
36
 
21
- describe '#kanji' do
22
- before { @name = Gimei.new }
37
+ describe '.kanji' do
38
+ it '全角文字とスペースが返ること' do
39
+ _(Gimei::Name.kanji).must_match(/\A#{zenkaku_or_space_regexp}+\z/)
40
+ end
41
+ end
23
42
 
43
+ describe '.hiragana' do
44
+ it 'ひらがなとスペースが返ること' do
45
+ _(Gimei::Name.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
46
+ end
47
+ end
48
+
49
+ describe '.katakana' do
50
+ it 'カタカナとスペースが返ること' do
51
+ _(Gimei::Name.katakana).must_match(/\A[\p{katakana}\s]+\z/)
52
+ end
53
+ end
54
+
55
+ describe '.romaji' do
56
+ it 'ローマ字とスペースが返ること' do
57
+ _(Gimei::Name.romaji).must_match(/\A[a-zA-Z\s]+\z/)
58
+ end
59
+ end
60
+
61
+ describe '#gender' do
62
+ it ':male または :female が返ること' do
63
+ _(Gimei::Name.new.gender).must_be_instance_of(Symbol)
64
+ _(Gimei::Name.new.gender.to_s).must_match(/\A(?:male|female)\Z/)
65
+ end
66
+ end
67
+
68
+ describe '#kanji' do
24
69
  it '全角文字とスペースが返ること' do
25
- @name.kanji.must_match /\A[#{Moji.zen}\s]+\z/
70
+ _(Gimei::Name.new.kanji).must_match(/\A#{zenkaku_or_space_regexp}+\z/)
26
71
  end
27
72
  end
28
73
 
29
74
  describe '#hiragana' do
30
- before { @name = Gimei.new }
31
-
32
75
  it 'ひらがなとスペースが返ること' do
33
- @name.hiragana.must_match /\A[\p{hiragana}\s]+\z/
76
+ _(Gimei::Name.new.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
34
77
  end
35
78
  end
36
79
 
37
80
  describe '#katakana' do
38
- before { @name = Gimei.new }
39
-
40
81
  it 'カタカナとスペースが返ること' do
41
- @name.katakana.must_match /\A[\p{katakana}\s]+\z/
82
+ _(Gimei::Name.new.katakana).must_match(/\A[\p{katakana}\s]+\z/)
83
+ end
84
+ end
85
+
86
+ describe '#first' do
87
+ it 'Gimei::Name::First オブジェクトが返ること' do
88
+ _(Gimei::Name.new.first).must_be_instance_of Gimei::Name::First
89
+ end
90
+ end
91
+
92
+ describe '#last' do
93
+ it 'Gimei::Name::Last オブジェクトが返ること' do
94
+ _(Gimei::Name.new.last).must_be_instance_of Gimei::Name::Last
95
+ end
96
+ end
97
+
98
+ describe '.romaji' do
99
+ it 'ローマ字とスペースが返ること' do
100
+ _(Gimei::Name.new.romaji).must_match(/\A[a-zA-Z\s]+\z/)
42
101
  end
43
102
  end
44
103
  end
45
104
 
46
- describe Gimei::First do
105
+ describe Gimei::Name::First do
47
106
  describe '.male' do
48
- before { @name = Gimei::First.male }
107
+ before { @name = Gimei::Name::First.male }
108
+
109
+ it 'Gimei::Name::First オブジェクトが返ること' do
110
+ _(@name).must_be_instance_of Gimei::Name::First
111
+ end
49
112
 
50
- it '男性の名前が返ること' do
51
- @name.male?.must_equal true
113
+ it '#male? が true を返すこと' do
114
+ _(@name.male?).must_equal true
52
115
  end
53
116
  end
54
117
 
55
118
  describe '.female' do
56
- before { @name = Gimei::First.female }
119
+ before { @name = Gimei::Name::First.female }
57
120
 
58
- it '女性の名前が返ること' do
59
- @name.female?.must_equal true
121
+ it 'Gimei::Name::First オブジェクトが返ること' do
122
+ _(@name).must_be_instance_of Gimei::Name::First
123
+ end
124
+
125
+ it '#female? が true を返すこと' do
126
+ _(@name.female?).must_equal true
60
127
  end
61
128
  end
62
129
 
63
130
  describe '#kanji' do
64
- before { @name = Gimei::First.new }
65
-
66
131
  it '全角文字が返ること' do
67
- @name.kanji.must_match /\A#{Moji.zen}+\z/
132
+ _(Gimei::Name::First.new.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
68
133
  end
69
134
  end
70
135
 
71
136
  describe '#hiragana' do
72
- before { @name = Gimei::First.new }
73
-
74
137
  it 'ひらがなが返ること' do
75
- @name.hiragana.must_match /\A\p{hiragana}+\z/
138
+ _(Gimei::Name::First.new.hiragana).must_match(/\A\p{hiragana}+\z/)
76
139
  end
77
140
  end
78
141
 
79
142
  describe '#katakana' do
80
- before { @name = Gimei::First.new }
81
-
82
143
  it 'カタカナが返ること' do
83
- @name.katakana.must_match /\A\p{katakana}+\z/
144
+ _(Gimei::Name::First.new.katakana).must_match(/\A\p{katakana}+\z/)
84
145
  end
85
146
  end
86
147
 
87
148
  describe '#to_s' do
88
- before { @name = Gimei::First.new }
89
-
90
149
  it '全角文字が返ること' do
91
- @name.to_s.must_match /\A#{Moji.zen}+\z/
150
+ _(Gimei::Name::First.new.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
151
+ end
152
+ end
153
+
154
+ describe '#romaji' do
155
+ it 'アルファベットで返ること' do
156
+ _(Gimei::Name::First.new.romaji).must_match(/\A[a-zA-Z]+\z/)
92
157
  end
93
158
  end
94
159
  end
95
160
 
96
- describe Gimei::Last do
97
- before { @name = Gimei::Last.new }
161
+ describe Gimei::Name::Last do
162
+ before { @name = Gimei::Name::Last.new }
98
163
 
99
164
  describe '#kanji' do
100
165
  it '全角文字が返ること' do
101
- @name.kanji.must_match /\A#{Moji.zen}+\z/
166
+ _(@name.kanji).must_match(/\A#{zenkaku_regexp}+\z/)
102
167
  end
103
168
  end
104
169
 
105
170
  describe '#hiragana' do
106
171
  it 'ひらがなが返ること' do
107
- @name.hiragana.must_match /\A\p{hiragana}+\z/
172
+ _(@name.hiragana).must_match(/\A\p{hiragana}+\z/)
108
173
  end
109
174
  end
110
175
 
111
176
  describe '#katakana' do
112
177
  it 'カタカナが返ること' do
113
- @name.katakana.must_match /\A\p{katakana}+\z/
178
+ _(@name.katakana).must_match(/\A\p{katakana}+\z/)
114
179
  end
115
180
  end
116
181
 
117
182
  describe '#to_s' do
118
183
  it '全角文字が返ること' do
119
- @name.to_s.must_match /\A#{Moji.zen}+\z/
184
+ _(@name.to_s).must_match(/\A#{zenkaku_regexp}+\z/)
120
185
  end
121
186
  end
122
- end
123
187
 
188
+ describe '#romaji' do
189
+ it 'アルファベットで返ること' do
190
+ _(Gimei::Name::First.new.romaji).must_match(/\A[a-z|A-Z]+\z/)
191
+ end
192
+ end
193
+ end