gimei 0.1.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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