string_foundation 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile +9 -9
  4. data/Gemfile.lock +19 -19
  5. data/{LICENSE.txt → LICENSE} +1 -1
  6. data/PULL_REQUEST_TEMPLATE.md +14 -0
  7. data/README.md +244 -104
  8. data/Rakefile +3 -3
  9. data/bin/console +1 -0
  10. data/coverage/assets/{0.10.0 → 0.10.2}/application.css +0 -0
  11. data/coverage/assets/{0.10.0 → 0.10.2}/application.js +0 -0
  12. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/border.png +0 -0
  13. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/controls.png +0 -0
  14. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading.gif +0 -0
  15. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading_background.png +0 -0
  16. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_green.png +0 -0
  17. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_red.png +0 -0
  18. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_yellow.png +0 -0
  19. data/coverage/assets/{0.10.0 → 0.10.2}/loading.gif +0 -0
  20. data/coverage/assets/{0.10.0 → 0.10.2}/magnify.png +0 -0
  21. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  23. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  24. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  25. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  26. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  27. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  28. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  29. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_222222_256x240.png +0 -0
  30. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  31. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_454545_256x240.png +0 -0
  32. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_888888_256x240.png +0 -0
  33. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  34. data/coverage/index.html +5885 -3160
  35. data/lib/string_foundation.rb +4 -2
  36. data/lib/string_foundation/blank.rb +17 -0
  37. data/lib/string_foundation/case.rb +28 -38
  38. data/lib/string_foundation/convert.rb +9 -9
  39. data/lib/string_foundation/convertible.rb +4 -4
  40. data/lib/string_foundation/is.rb +13 -0
  41. data/lib/string_foundation/length.rb +56 -0
  42. data/lib/string_foundation/like.rb +4 -4
  43. data/lib/string_foundation/version.rb +2 -2
  44. data/lib/string_foundation/with.rb +7 -7
  45. data/pkg/string_foundation-1.1.0.gem +0 -0
  46. data/spec/spec_helper.rb +10 -10
  47. data/spec/string_foundation/blank_spec.rb +91 -0
  48. data/spec/string_foundation/case_spec.rb +398 -433
  49. data/spec/string_foundation/convert_spec.rb +98 -98
  50. data/spec/string_foundation/convertible_spec.rb +286 -0
  51. data/spec/string_foundation/is_spec.rb +62 -0
  52. data/spec/string_foundation/length_spec.rb +226 -0
  53. data/spec/string_foundation/like_spec.rb +103 -103
  54. data/spec/string_foundation/version_spec.rb +4 -4
  55. data/spec/string_foundation/with_spec.rb +48 -48
  56. data/spec/support/enhanced_matchers_extension.rb +1 -0
  57. data/string_foundation.gemspec +15 -14
  58. metadata +46 -37
  59. data/circle.yml +0 -14
  60. data/pkg/string_foundation-1.0.0.gem +0 -0
  61. data/spec/string_foundation/convertaile_spec.rb +0 -286
@@ -1,30 +1,30 @@
1
1
  # ==============================================================================
2
- # SPEC - STRING FOUNDATION - CONVERT
3
- # ==============================================================================
2
+ # SPEC - STRING FOUNDATION - CONVERT SPEC
4
3
  # frozen_string_literal: true
5
- describe '[ Convert Methods ]' do
4
+ # ==============================================================================
5
+ describe "[ Convert Methods ]" do
6
6
 
7
7
  # ----------------------------------------------------------------------------
8
8
  # Convert To TrueClass Or FalseClass
9
9
  # ----------------------------------------------------------------------------
10
- describe 'CONVERT TO TRUECLASS OR FALSE CLASS' do
10
+ describe "CONVERT TO TRUECLASS OR FALSE CLASS" do
11
11
  let(:string) { nil }
12
12
  subject { string.to_bool }
13
13
 
14
- context 'when a string is "true",' do
15
- let(:string) { 'true' }
14
+ context "when a string is \"true\"," do
15
+ let(:string) { "true" }
16
16
 
17
- it { is_expected.to eq true }
17
+ it { is_expected.to be true }
18
18
  end
19
19
 
20
- context 'when a string is "false",' do
21
- let(:string) { 'false' }
20
+ context "when a string is \"false\"," do
21
+ let(:string) { "false" }
22
22
 
23
- it { is_expected.to eq false }
23
+ it { is_expected.to be false }
24
24
  end
25
25
 
26
- context 'when a string is invalid,' do
27
- let(:string) { 'dummy' }
26
+ context "when a string is invalid," do
27
+ let(:string) { "dummy" }
28
28
 
29
29
  it { is_expected_as_block.to raise_error(TypeError) }
30
30
  end
@@ -34,68 +34,68 @@ describe '[ Convert Methods ]' do
34
34
  # ----------------------------------------------------------------------------
35
35
  # Convert A BOOLY STRING To TrueClass Or FalseClass
36
36
  # ----------------------------------------------------------------------------
37
- describe 'CONVERT A BOOLY STRING TO TRUECLASS OR FALSE CLASS' do
37
+ describe "CONVERT A BOOLY STRING TO TRUECLASS OR FALSE CLASS" do
38
38
  let(:string) { nil }
39
39
  subject { string.to_booly }
40
40
 
41
- context 'when a string is "true",' do
42
- let(:string) { 'true' }
41
+ context "when a string is \"true\"," do
42
+ let(:string) { "true" }
43
43
 
44
- it { is_expected.to eq true }
44
+ it { is_expected.to be true }
45
45
  end
46
46
 
47
- context 'when a string is "false",' do
48
- let(:string) { 'false' }
47
+ context "when a string is \"false\"," do
48
+ let(:string) { "false" }
49
49
 
50
- it { is_expected.to eq false }
50
+ it { is_expected.to be false }
51
51
  end
52
52
 
53
- context 'when a string is invalid,' do
54
- let(:string) { 'dummy' }
53
+ context "when a string is invalid," do
54
+ let(:string) { "dummy" }
55
55
 
56
56
  it { is_expected_as_block.to raise_error(TypeError) }
57
57
  end
58
58
 
59
- context 'when a string is a positive integral number,' do
60
- let(:string) { '1' }
59
+ context "when a string is a positive integral number," do
60
+ let(:string) { "1" }
61
61
 
62
- it { is_expected.to eq true }
62
+ it { is_expected.to be true }
63
63
  end
64
64
 
65
- context 'when a string is a negative integral number,' do
66
- let(:string) { '-1' }
65
+ context "when a string is a negative integral number," do
66
+ let(:string) { "-1" }
67
67
 
68
- it { is_expected.to eq false }
68
+ it { is_expected.to be false }
69
69
  end
70
70
 
71
- context 'when a string is a positive floating point number,' do
72
- let(:string) { '0.1' }
71
+ context "when a string is a positive floating point number," do
72
+ let(:string) { "0.1" }
73
73
 
74
- it { is_expected.to eq true }
74
+ it { is_expected.to be true }
75
75
  end
76
76
 
77
- context 'when a string is a negative floating point number,' do
78
- let(:string) { '-0.1' }
77
+ context "when a string is a negative floating point number," do
78
+ let(:string) { "-0.1" }
79
79
 
80
- it { is_expected.to eq false }
80
+ it { is_expected.to be false }
81
81
  end
82
82
 
83
- context 'when a string is 0,' do
84
- let(:string) { '0' }
83
+ context "when a string is 0," do
84
+ let(:string) { "0" }
85
85
 
86
- it { is_expected.to eq false }
86
+ it { is_expected.to be false }
87
87
  end
88
88
 
89
- context 'when a string is 0.0,' do
90
- let(:string) { '0.0' }
89
+ context "when a string is 0.0," do
90
+ let(:string) { "0.0" }
91
91
 
92
- it { is_expected.to eq false }
92
+ it { is_expected.to be false }
93
93
  end
94
94
 
95
- context 'when a string is an empty string,' do
96
- let(:string) { '' }
95
+ context "when a string is an empty string," do
96
+ let(:string) { "" }
97
97
 
98
- it { is_expected.to eq false }
98
+ it { is_expected.to be false }
99
99
  end
100
100
  end
101
101
 
@@ -103,62 +103,62 @@ describe '[ Convert Methods ]' do
103
103
  # ----------------------------------------------------------------------------
104
104
  # Convert To Proper Class From String
105
105
  # ----------------------------------------------------------------------------
106
- describe 'CONVER TO PROPER CLASS FROM STRING' do
106
+ describe "CONVER TO PROPER CLASS FROM STRING" do
107
107
  let(:string) { nil }
108
108
  subject { string.to_pretty }
109
109
 
110
- context 'when a string is "0",' do
111
- let(:string) { '0' }
110
+ context "when a string is \"0\"," do
111
+ let(:string) { "0" }
112
112
 
113
- it { is_expected.to eq 0 }
113
+ it { is_expected.to eq(0) }
114
114
  end
115
115
 
116
- context 'when a string is "1",' do
117
- let(:string) { '1' }
116
+ context "when a string is \"1\"," do
117
+ let(:string) { "1" }
118
118
 
119
- it { is_expected.to eq 1 }
119
+ it { is_expected.to eq(1) }
120
120
  end
121
121
 
122
- context 'when a string is "000123",' do
123
- let(:string) { '000123' }
122
+ context "when a string is \"000123\"," do
123
+ let(:string) { "000123" }
124
124
 
125
- it { is_expected.to eq 123 }
125
+ it { is_expected.to eq(123) }
126
126
  end
127
127
 
128
- context 'when a string is "0.0",' do
129
- let(:string) { '0.0' }
128
+ context "when a string is \"0.0\"," do
129
+ let(:string) { "0.0" }
130
130
 
131
- it { is_expected.to eq 0.0 }
131
+ it { is_expected.to eq(0.0) }
132
132
  end
133
133
 
134
- context 'when a string is "000.00123",' do
135
- let(:string) { '000.00123' }
134
+ context "when a string is \"000.00123\"," do
135
+ let(:string) { "000.00123" }
136
136
 
137
- it { is_expected.to eq 0.00123 }
137
+ it { is_expected.to eq(0.00123) }
138
138
  end
139
139
 
140
- context 'when a string is "true",' do
141
- let(:string) { 'true' }
140
+ context "when a string is \"true\"," do
141
+ let(:string) { "true" }
142
142
 
143
- it { is_expected.to eq true }
143
+ it { is_expected.to be true }
144
144
  end
145
145
 
146
- context 'when a string is "false",' do
147
- let(:string) { 'false' }
146
+ context "when a string is \"false\"," do
147
+ let(:string) { "false" }
148
148
 
149
- it { is_expected.to eq false }
149
+ it { is_expected.to be false }
150
150
  end
151
151
 
152
- context 'when a string is "dummy",' do
153
- let(:string) { 'dummy' }
152
+ context "when a string is \"dummy\"," do
153
+ let(:string) { "dummy" }
154
154
 
155
- it { is_expected.to eq string }
155
+ it { is_expected.to eq(string) }
156
156
  end
157
157
 
158
- context 'when a string is an empty string,' do
159
- let(:string) { '' }
158
+ context "when a string is an empty string," do
159
+ let(:string) { "" }
160
160
 
161
- it { is_expected.to eq nil }
161
+ it { is_expected.to be_nil }
162
162
  end
163
163
  end
164
164
 
@@ -166,43 +166,43 @@ describe '[ Convert Methods ]' do
166
166
  # ----------------------------------------------------------------------------
167
167
  # Convert From Newline To Characters
168
168
  # ----------------------------------------------------------------------------
169
- describe 'CONVERT FROM NEWLINE TO CHARACTERS' do
170
- let(:string) { "We are Brushdown.\nWe are Brushdown." }
171
- let(:char) { '<br>' }
169
+ describe "CONVERT FROM NEWLINE TO CHARACTERS" do
170
+ let(:string) { "I am Jaga Apple.\nI am Jaga Apple." }
171
+ let(:char) { "<br>" }
172
172
  subject { string.nl_to(char) }
173
173
 
174
- context 'when a string has newlines "\n",' do
175
- it { is_expected.to eq 'We are Brushdown.<br>We are Brushdown.' }
174
+ context "when a string has newlines \"\\n\"," do
175
+ it { is_expected.to eq("I am Jaga Apple.<br>I am Jaga Apple.") }
176
176
  end
177
177
 
178
- context 'when a string has newlines "\r\n",' do
179
- let(:string) { "We are Brushdown.\r\nWe are Brushdown." }
178
+ context "when a string has newlines \"\\r\\n\"," do
179
+ let(:string) { "I am Jaga Apple.\r\nI am Jaga Apple." }
180
180
 
181
- it { is_expected.to eq 'We are Brushdown.<br>We are Brushdown.' }
181
+ it { is_expected.to eq("I am Jaga Apple.<br>I am Jaga Apple.") }
182
182
  end
183
183
 
184
- context 'when a string does not have newlines,' do
185
- let(:string) { "We are Brushdown. We are Brushdown." }
184
+ context "when a string does not have newlines," do
185
+ let(:string) { "I am Jaga Apple. I am Jaga Apple." }
186
186
 
187
- it { is_expected.to eq string }
187
+ it { is_expected.to eq(string) }
188
188
  end
189
189
 
190
- context 'when an argument is not set,' do
191
- subject { string.nl_to() }
190
+ context "when an argument is not set," do
191
+ subject { string.nl_to }
192
192
 
193
193
  it { is_expected_as_block.to raise_error(ArgumentError) }
194
194
  end
195
195
 
196
- context 'when an argument is nil,' do
196
+ context "when an argument is nil," do
197
197
  let(:char) { nil }
198
198
 
199
- it { is_expected.to eq 'We are Brushdown.We are Brushdown.' }
199
+ it { is_expected.to eq("I am Jaga Apple.I am Jaga Apple.") }
200
200
  end
201
201
 
202
- context 'when an argument is an empty string,' do
203
- let(:char) { '' }
202
+ context "when an argument is an empty string," do
203
+ let(:char) { "" }
204
204
 
205
- it { is_expected.to eq 'We are Brushdown.We are Brushdown.' }
205
+ it { is_expected.to eq("I am Jaga Apple.I am Jaga Apple.") }
206
206
  end
207
207
  end
208
208
 
@@ -210,24 +210,24 @@ describe '[ Convert Methods ]' do
210
210
  # ----------------------------------------------------------------------------
211
211
  # Convert From Newline To <br>
212
212
  # ----------------------------------------------------------------------------
213
- describe 'CONVERT FROM NEWLINE TO `<br>`' do
214
- let(:string) { "We are Brushdown.\nWe are Brushdown." }
213
+ describe "CONVERT FROM NEWLINE TO `<br>`" do
214
+ let(:string) { "I am Jaga Apple.\nI am Jaga Apple." }
215
215
  subject { string.nl_to_br }
216
216
 
217
- context 'when a string has newlines "\n",' do
218
- it { is_expected.to eq 'We are Brushdown.<br>We are Brushdown.' }
217
+ context "when a string has newlines \"\n\"," do
218
+ it { is_expected.to eq("I am Jaga Apple.<br>I am Jaga Apple.") }
219
219
  end
220
220
 
221
- context 'when a string has newlines "\r\n",' do
222
- let(:string) { "We are Brushdown.\r\nWe are Brushdown." }
221
+ context "when a string has newlines \"\\r\\n\"," do
222
+ let(:string) { "I am Jaga Apple.\r\nI am Jaga Apple." }
223
223
 
224
- it { is_expected.to eq 'We are Brushdown.<br>We are Brushdown.' }
224
+ it { is_expected.to eq("I am Jaga Apple.<br>I am Jaga Apple.") }
225
225
  end
226
226
 
227
- context 'when a string does not have newlines,' do
228
- let(:string) { "We are Brushdown. We are Brushdown." }
227
+ context "when a string does not have newlines," do
228
+ let(:string) { "I am Jaga Apple. I am Jaga Apple." }
229
229
 
230
- it { is_expected.to eq string }
230
+ it { is_expected.to eq(string) }
231
231
  end
232
232
  end
233
233
 
@@ -0,0 +1,286 @@
1
+ # ==============================================================================
2
+ # SPEC - STRING FOUNDATION - CONVERTIBLE SPEC
3
+ # frozen_string_literal: true
4
+ # ==============================================================================
5
+ describe "[ Convertible Methods ]" do
6
+
7
+ # ----------------------------------------------------------------------------
8
+ # Check Convertible To Integer
9
+ # ----------------------------------------------------------------------------
10
+ describe "CHECK CONVERTIBLE TO INTEGER" do
11
+ let(:string) { nil }
12
+ subject { string.to_i? }
13
+
14
+ context "when a string is an integral number," do
15
+ context "it is a positive number," do
16
+ let(:string) { "123" }
17
+
18
+ it { is_expected.to be true }
19
+ end
20
+
21
+ context "it is a positive number with a sign," do
22
+ let(:string) { "+123" }
23
+
24
+ it { is_expected.to be true }
25
+ end
26
+
27
+ context "it is a negative number," do
28
+ let(:string) { "-5" }
29
+
30
+ it { is_expected.to be true }
31
+ end
32
+ end
33
+
34
+ context "when a string is a floating point number," do
35
+ context "it is a positive number," do
36
+ let(:string) { "0.123" }
37
+
38
+ it { is_expected.to be true }
39
+ end
40
+
41
+ context "it is a positive number with a sign," do
42
+ let(:string) { "+0.123" }
43
+
44
+ it { is_expected.to be true }
45
+ end
46
+
47
+ context "it is a negative number," do
48
+ let(:string) { "-5.123" }
49
+
50
+ it { is_expected.to be true }
51
+ end
52
+ end
53
+
54
+ context "when a string is a floating point number without an integer," do
55
+ context "it is a positive number," do
56
+ let(:string) { ".123" }
57
+
58
+ it { is_expected.to be true }
59
+ end
60
+
61
+ context "it is a positive number with a sign," do
62
+ let(:string) { "+.123" }
63
+
64
+ it { is_expected.to be true }
65
+ end
66
+
67
+ context "it is a negative number," do
68
+ let(:string) { "-.123" }
69
+
70
+ it { is_expected.to be true }
71
+ end
72
+ end
73
+
74
+ context "when a string a number has leading zeros," do
75
+ context "it is a positive number," do
76
+ let(:string) { "00000123" }
77
+
78
+ it { is_expected.to be true }
79
+ end
80
+
81
+ context "it is a positive number with a sign," do
82
+ let(:string) { "+00000123" }
83
+
84
+ it { is_expected.to be true }
85
+ end
86
+
87
+ context "it is a negative number," do
88
+ let(:string) { "-00000123" }
89
+
90
+ it { is_expected.to be true }
91
+ end
92
+ end
93
+
94
+ context "when a string is not a number," do
95
+ let(:string) { "abc" }
96
+
97
+ it { is_expected.to be false }
98
+ end
99
+ end
100
+
101
+
102
+ # ----------------------------------------------------------------------------
103
+ # Check Convertible To Float
104
+ # ----------------------------------------------------------------------------
105
+ describe "CHECK CONVERTIBLE TO FLOAT" do
106
+ let(:string) { nil }
107
+ subject { string.to_f? }
108
+
109
+ context "when a string is an integral number," do
110
+ context "it is a positive number," do
111
+ let(:string) { "123" }
112
+
113
+ it { is_expected.to be true }
114
+ end
115
+
116
+ context "it is a positive number with a sign," do
117
+ let(:string) { "+123" }
118
+
119
+ it { is_expected.to be true }
120
+ end
121
+
122
+ context "it is a negative number," do
123
+ let(:string) { "-5" }
124
+
125
+ it { is_expected.to be true }
126
+ end
127
+ end
128
+
129
+ context "when a string is a floating point number," do
130
+ context "it is a positive number," do
131
+ let(:string) { "0.123" }
132
+
133
+ it { is_expected.to be true }
134
+ end
135
+
136
+ context "it is a positive number with a sign," do
137
+ let(:string) { "+0.123" }
138
+
139
+ it { is_expected.to be true }
140
+ end
141
+
142
+ context "it is a negative number," do
143
+ let(:string) { "-5.123" }
144
+
145
+ it { is_expected.to be true }
146
+ end
147
+ end
148
+
149
+ context "when a string is a floating point number without an integer," do
150
+ context "it is a positive number," do
151
+ let(:string) { ".123" }
152
+
153
+ it { is_expected.to be true }
154
+ end
155
+
156
+ context "it is a positive number with a sign," do
157
+ let(:string) { "+.123" }
158
+
159
+ it { is_expected.to be true }
160
+ end
161
+
162
+ context "it is a negative number," do
163
+ let(:string) { "-.123" }
164
+
165
+ it { is_expected.to be true }
166
+ end
167
+ end
168
+
169
+ context "when a string a number has leading zeros," do
170
+ context "it is a positive number," do
171
+ let(:string) { "00000123" }
172
+
173
+ it { is_expected.to be true }
174
+ end
175
+
176
+ context "it is a positive number with a sign," do
177
+ let(:string) { "+00000123" }
178
+
179
+ it { is_expected.to be true }
180
+ end
181
+
182
+ context "it is a negative number," do
183
+ let(:string) { "-00000123" }
184
+
185
+ it { is_expected.to be true }
186
+ end
187
+ end
188
+
189
+ context "when a string is not a number," do
190
+ let(:string) { "abc" }
191
+
192
+ it { is_expected.to be false }
193
+ end
194
+ end
195
+
196
+
197
+ # ----------------------------------------------------------------------------
198
+ # Check Convertible To Boolean
199
+ # ----------------------------------------------------------------------------
200
+ describe "CHECK CONVERTIBLE TO BOOLEAN" do
201
+ let(:string) { nil }
202
+ subject { string.to_bool? }
203
+
204
+ context "when a string is \"true\"," do
205
+ let(:string) { "true" }
206
+
207
+ it { is_expected.to be true }
208
+ end
209
+
210
+ context "when a string is \"false\"," do
211
+ let(:string) { "false" }
212
+
213
+ it { is_expected.to be true }
214
+ end
215
+
216
+ context "when a string is empty," do
217
+ let(:string) { "" }
218
+
219
+ it { is_expected.to be false }
220
+ end
221
+
222
+ context "when a string is a positive number," do
223
+ let(:string) { "1" }
224
+
225
+ it { is_expected.to be false }
226
+ end
227
+
228
+ context "when a string is a negative number," do
229
+ let(:string) { "-1" }
230
+
231
+ it { is_expected.to be false }
232
+ end
233
+
234
+ context "when a string is not a number," do
235
+ let(:string) { "abc" }
236
+
237
+ it { is_expected.to be false }
238
+ end
239
+ end
240
+
241
+
242
+ # ----------------------------------------------------------------------------
243
+ # Check Convertaile To Booly
244
+ # ----------------------------------------------------------------------------
245
+ describe "CHECK CONVERTIBLE TO BOOLYs" do
246
+ let(:string) { nil }
247
+ subject { string.to_booly? }
248
+
249
+ context "when a string is \"true\"," do
250
+ let(:string) { "true" }
251
+
252
+ it { is_expected.to be true }
253
+ end
254
+
255
+ context "when a string is \"false\"," do
256
+ let(:string) { "false" }
257
+
258
+ it { is_expected.to be true }
259
+ end
260
+
261
+ context "when a string is empty," do
262
+ let(:string) { "" }
263
+
264
+ it { is_expected.to be true }
265
+ end
266
+
267
+ context "when a string is a positive number," do
268
+ let(:string) { "1" }
269
+
270
+ it { is_expected.to be true }
271
+ end
272
+
273
+ context "when a string is a negative number," do
274
+ let(:string) { "-1" }
275
+
276
+ it { is_expected.to be true }
277
+ end
278
+
279
+ context "when a string is not a number," do
280
+ let(:string) { "abc" }
281
+
282
+ it { is_expected.to be false }
283
+ end
284
+ end
285
+
286
+ end