striuct 0.6.1 → 0.7.0
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.
- checksums.yaml +4 -4
- data/MIT-LICENSE.txt +21 -0
- data/README.md +19 -39
- data/lib/striuct.rb +3 -3
- data/lib/striuct/classmethods/README.md +2 -2
- data/lib/striuct/classmethods/adjustment.rb +15 -13
- data/lib/striuct/classmethods/attributes.rb +94 -92
- data/lib/striuct/classmethods/conflict_management.rb +109 -106
- data/lib/striuct/classmethods/constructor.rb +47 -54
- data/lib/striuct/classmethods/copy.rb +45 -43
- data/lib/striuct/classmethods/default.rb +23 -21
- data/lib/striuct/classmethods/enum.rb +46 -44
- data/lib/striuct/classmethods/fix.rb +23 -21
- data/lib/striuct/classmethods/hashdeepdupulicatable.rb +15 -15
- data/lib/striuct/classmethods/inner.rb +57 -55
- data/lib/striuct/classmethods/length.rb +12 -10
- data/lib/striuct/classmethods/macro.rb +110 -106
- data/lib/striuct/classmethods/names.rb +69 -65
- data/lib/striuct/classmethods/predicate.rb +131 -129
- data/lib/striuct/classmethods/requirements.rb +3 -1
- data/lib/striuct/classmethods/to_struct.rb +21 -18
- data/lib/striuct/classmethods/validation.rb +15 -13
- data/lib/striuct/instancemethods/README.md +2 -2
- data/lib/striuct/instancemethods/assign.rb +29 -27
- data/lib/striuct/instancemethods/cast.rb +28 -26
- data/lib/striuct/instancemethods/compare.rb +26 -24
- data/lib/striuct/instancemethods/default.rb +31 -29
- data/lib/striuct/instancemethods/delegate_class_methods.rb +35 -33
- data/lib/striuct/instancemethods/enum.rb +86 -84
- data/lib/striuct/instancemethods/getter.rb +39 -37
- data/lib/striuct/instancemethods/hashy.rb +99 -97
- data/lib/striuct/instancemethods/keyvalidatable.rb +8 -6
- data/lib/striuct/instancemethods/lock.rb +46 -44
- data/lib/striuct/instancemethods/object.rb +50 -48
- data/lib/striuct/instancemethods/requirements.rb +11 -9
- data/lib/striuct/instancemethods/safety.rb +11 -9
- data/lib/striuct/instancemethods/setter.rb +46 -45
- data/lib/striuct/instancemethods/to_s.rb +39 -37
- data/lib/striuct/instancemethods/validation.rb +31 -29
- data/lib/striuct/instancemethods/values.rb +50 -48
- data/lib/striuct/requirements.rb +3 -1
- data/lib/striuct/singleton_class.rb +12 -17
- data/lib/striuct/structs.rb +3 -3
- metadata +33 -178
- data/.gitignore +0 -35
- data/.travis.yml +0 -17
- data/.yardopts +0 -1
- data/Gemfile +0 -11
- data/MIT-LICENSE +0 -22
- data/Rakefile +0 -11
- data/benchmark/basics.rb +0 -56
- data/example/README.rb +0 -50
- data/example/example1.rb +0 -195
- data/example/example2.rb +0 -20
- data/example/see_trace.rb +0 -32
- data/striuct.gemspec +0 -45
- data/test/helper.rb +0 -3
- data/test/test_sglc-constructor.rb +0 -36
- data/test/test_subc-c-add_members.rb +0 -13
- data/test/test_subc-c-close_member.rb +0 -36
- data/test/test_subc-c-constructor.rb +0 -92
- data/test/test_subc-c-copy.rb +0 -71
- data/test/test_subc-c-freeze.rb +0 -36
- data/test/test_subc-c-inheritable.rb +0 -58
- data/test/test_subc-c-safety_naming.rb +0 -73
- data/test/test_subc-f-alias_member.rb +0 -54
- data/test/test_subc-f-enum.rb +0 -159
- data/test/test_subc-f-predicate.rb +0 -647
- data/test/test_subc-f-to_struct.rb +0 -61
- data/test/test_subc-f-validation_util.rb +0 -59
- data/test/test_subc-f_debug.rb +0 -39
- data/test/test_subc-f_name.rb +0 -525
- data/test/test_subc-i-accessor.rb +0 -138
- data/test/test_subc-i-adjuster.rb +0 -95
- data/test/test_subc-i-assign.rb +0 -53
- data/test/test_subc-i-basic.rb +0 -43
- data/test/test_subc-i-cast.rb +0 -27
- data/test/test_subc-i-compare.rb +0 -52
- data/test/test_subc-i-copy.rb +0 -23
- data/test/test_subc-i-default_value.rb +0 -129
- data/test/test_subc-i-freeze.rb +0 -19
- data/test/test_subc-i-hashlike.rb +0 -144
- data/test/test_subc-i-keyvalidatable.rb +0 -25
- data/test/test_subc-i-lock.rb +0 -40
- data/test/test_subc-i-must.rb +0 -30
- data/test/test_subc-i-to_s_family.rb +0 -26
- data/test/test_subc-i-validation_specific_conditions.rb +0 -297
- data/test/test_subc-i-validation_with_getter.rb +0 -33
- data/test/test_version.rb +0 -13
@@ -1,647 +0,0 @@
|
|
1
|
-
require_relative 'helper'
|
2
|
-
|
3
|
-
class Test_Striuct_Subclass_BasicPredicate < Test::Unit::TestCase
|
4
|
-
|
5
|
-
class Subclass < Striuct
|
6
|
-
member :foo
|
7
|
-
member :bar
|
8
|
-
alias_member :aliased, :bar
|
9
|
-
close_member
|
10
|
-
end.freeze
|
11
|
-
|
12
|
-
INSTANCE = Subclass.new.freeze
|
13
|
-
|
14
|
-
TYPE_PAIRS = {
|
15
|
-
class: Subclass,
|
16
|
-
instance: INSTANCE
|
17
|
-
}.freeze
|
18
|
-
|
19
|
-
[:autonym?, :has_autonym?].each do |predicate|
|
20
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
21
|
-
define_method :"test_#{type}_#{predicate}" do
|
22
|
-
assert_same true, reciever.public_send(predicate, :foo)
|
23
|
-
assert_same true, reciever.public_send(predicate, :bar)
|
24
|
-
assert_same false, reciever.public_send(predicate, :aliased)
|
25
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
26
|
-
assert_same false, reciever.public_send(predicate, 1)
|
27
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
28
|
-
assert_same true, reciever.public_send(predicate, 'foo')
|
29
|
-
assert_same true, reciever.public_send(predicate, 'bar')
|
30
|
-
assert_same false, reciever.public_send(predicate, 'aliased')
|
31
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
[:alias?, :has_alias?].each do |predicate|
|
37
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
38
|
-
define_method :"test_#{type}_#{predicate}" do
|
39
|
-
assert_same false, reciever.public_send(predicate, :foo)
|
40
|
-
assert_same false, reciever.public_send(predicate, :bar)
|
41
|
-
assert_same true, reciever.public_send(predicate, :aliased)
|
42
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
43
|
-
assert_same false, reciever.public_send(predicate, 1)
|
44
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
45
|
-
assert_same false, reciever.public_send(predicate, 'foo')
|
46
|
-
assert_same false, reciever.public_send(predicate, 'bar')
|
47
|
-
assert_same true, reciever.public_send(predicate, 'aliased')
|
48
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
[:member?, :has_member?].each do |predicate|
|
54
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
55
|
-
define_method :"test_#{type}_#{predicate}" do
|
56
|
-
assert_same true, reciever.public_send(predicate, :foo)
|
57
|
-
assert_same true, reciever.public_send(predicate, :bar)
|
58
|
-
assert_same true, reciever.public_send(predicate, :aliased)
|
59
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
60
|
-
assert_same false, reciever.public_send(predicate, 1)
|
61
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
62
|
-
assert_same true, reciever.public_send(predicate, 'foo')
|
63
|
-
assert_same true, reciever.public_send(predicate, 'bar')
|
64
|
-
assert_same true, reciever.public_send(predicate, 'aliased')
|
65
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
[:index?, :has_index?].each do |predicate|
|
71
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
72
|
-
define_method :"test_#{type}_#{predicate}" do
|
73
|
-
assert_same true, reciever.public_send(predicate, 0)
|
74
|
-
assert_same true, reciever.public_send(predicate, 1)
|
75
|
-
assert_same false, reciever.public_send(predicate, 2)
|
76
|
-
assert_same false, reciever.public_send(predicate, 99 * 99)
|
77
|
-
assert_same true, reciever.public_send(predicate, -1)
|
78
|
-
assert_same true, reciever.public_send(predicate, -2)
|
79
|
-
assert_same false, reciever.public_send(predicate, -3)
|
80
|
-
assert_same false, reciever.public_send(predicate, -(99 * 99))
|
81
|
-
assert_same true, reciever.public_send(predicate, 0.1)
|
82
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
83
|
-
assert_same false, reciever.public_send(predicate, '1')
|
84
|
-
assert_same false, reciever.public_send(predicate, :foo)
|
85
|
-
assert_same false, reciever.public_send(predicate, :bar)
|
86
|
-
assert_same false, reciever.public_send(predicate, :aliased)
|
87
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
88
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
89
|
-
assert_same false, reciever.public_send(predicate, 'foo')
|
90
|
-
assert_same false, reciever.public_send(predicate, 'bar')
|
91
|
-
assert_same false, reciever.public_send(predicate, 'aliased')
|
92
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
[:key?, :has_key?].each do |predicate|
|
98
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
99
|
-
define_method :"test_#{type}_#{predicate}" do
|
100
|
-
assert_same true, reciever.public_send(predicate, 0)
|
101
|
-
assert_same true, reciever.public_send(predicate, 1)
|
102
|
-
assert_same false, reciever.public_send(predicate, 2)
|
103
|
-
assert_same false, reciever.public_send(predicate, 99 * 99)
|
104
|
-
assert_same true, reciever.public_send(predicate, -1)
|
105
|
-
assert_same true, reciever.public_send(predicate, -2)
|
106
|
-
assert_same false, reciever.public_send(predicate, -3)
|
107
|
-
assert_same false, reciever.public_send(predicate, -(99 * 99))
|
108
|
-
assert_same true, reciever.public_send(predicate, 0.1)
|
109
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
110
|
-
assert_same false, reciever.public_send(predicate, '1')
|
111
|
-
assert_same true, reciever.public_send(predicate, :foo)
|
112
|
-
assert_same true, reciever.public_send(predicate, :bar)
|
113
|
-
assert_same true, reciever.public_send(predicate, :aliased)
|
114
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
115
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
116
|
-
assert_same true, reciever.public_send(predicate, 'foo')
|
117
|
-
assert_same true, reciever.public_send(predicate, 'bar')
|
118
|
-
assert_same true, reciever.public_send(predicate, 'aliased')
|
119
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
[:with_aliases?].each do |predicate|
|
125
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
126
|
-
define_method :"test_#{type}_#{predicate}" do
|
127
|
-
assert_same false, reciever.public_send(predicate, :foo)
|
128
|
-
assert_same true, reciever.public_send(predicate, :bar)
|
129
|
-
assert_same false, reciever.public_send(predicate, :aliased)
|
130
|
-
assert_same false, reciever.public_send(predicate, :xyz)
|
131
|
-
assert_same false, reciever.public_send(predicate, 1)
|
132
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
133
|
-
assert_same false, reciever.public_send(predicate, 'foo')
|
134
|
-
assert_same true, reciever.public_send(predicate, 'bar')
|
135
|
-
assert_same false, reciever.public_send(predicate, 'aliased')
|
136
|
-
assert_same false, reciever.public_send(predicate, 'xyz')
|
137
|
-
end
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
end
|
142
|
-
|
143
|
-
|
144
|
-
class Test_Striuct_Subclass_Predicate_Default < Test::Unit::TestCase
|
145
|
-
|
146
|
-
class Subclass < Striuct
|
147
|
-
member :foo
|
148
|
-
member :val, BasicObject, default: 'DEFAULT'
|
149
|
-
|
150
|
-
conflict_management :struct do
|
151
|
-
member :lazy, BasicObject, default_proc: ->{}
|
152
|
-
end
|
153
|
-
|
154
|
-
alias_member :als_foo, :foo
|
155
|
-
alias_member :als_val, :val
|
156
|
-
alias_member :als_lazy, :lazy
|
157
|
-
close_member
|
158
|
-
end.freeze
|
159
|
-
|
160
|
-
INSTANCE = Subclass.new.freeze
|
161
|
-
|
162
|
-
TYPE_PAIRS = {
|
163
|
-
class: Subclass,
|
164
|
-
instance: INSTANCE
|
165
|
-
}.freeze
|
166
|
-
|
167
|
-
[:with_default?].each do |predicate|
|
168
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
169
|
-
define_method :"test_#{type}_#{predicate}" do
|
170
|
-
assert_same false, reciever.public_send(predicate, :foo)
|
171
|
-
assert_same false, reciever.public_send(predicate, :als_foo)
|
172
|
-
assert_same false, reciever.public_send(predicate, 'foo')
|
173
|
-
assert_same false, reciever.public_send(predicate, 'als_foo')
|
174
|
-
assert_same false, reciever.public_send(predicate, 0)
|
175
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
176
|
-
|
177
|
-
assert_same true, reciever.public_send(predicate, :val)
|
178
|
-
assert_same true, reciever.public_send(predicate, :als_val)
|
179
|
-
assert_same true, reciever.public_send(predicate, 'val')
|
180
|
-
assert_same true, reciever.public_send(predicate, 'als_val')
|
181
|
-
assert_same true, reciever.public_send(predicate, 1)
|
182
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
183
|
-
|
184
|
-
assert_same true, reciever.public_send(predicate, :lazy)
|
185
|
-
assert_same true, reciever.public_send(predicate, :als_lazy)
|
186
|
-
assert_same true, reciever.public_send(predicate, 'lazy')
|
187
|
-
assert_same true, reciever.public_send(predicate, 'als_lazy')
|
188
|
-
assert_same true, reciever.public_send(predicate, 2)
|
189
|
-
assert_same true, reciever.public_send(predicate, 2.9)
|
190
|
-
|
191
|
-
assert_same false, reciever.public_send(predicate, :none)
|
192
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
193
|
-
assert_same false, reciever.public_send(predicate, 3)
|
194
|
-
assert_same false, reciever.public_send(predicate, 3.9)
|
195
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
196
|
-
end
|
197
|
-
end
|
198
|
-
end
|
199
|
-
|
200
|
-
end
|
201
|
-
|
202
|
-
class Test_Striuct_Subclass_Predicate_Adjuster < Test::Unit::TestCase
|
203
|
-
|
204
|
-
class Subclass < Striuct
|
205
|
-
member :no_with
|
206
|
-
alias_member :als_no_with, :no_with
|
207
|
-
member :with do |_|; end
|
208
|
-
alias_member :als_with, :with
|
209
|
-
member :cond_with, BasicObject do |_|; end
|
210
|
-
alias_member :als_cond_with, :cond_with
|
211
|
-
|
212
|
-
close_member
|
213
|
-
end.freeze
|
214
|
-
|
215
|
-
INSTANCE = Subclass.new.freeze
|
216
|
-
|
217
|
-
TYPE_PAIRS = {
|
218
|
-
class: Subclass,
|
219
|
-
instance: INSTANCE
|
220
|
-
}.freeze
|
221
|
-
|
222
|
-
[:with_adjuster?].each do |predicate|
|
223
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
224
|
-
define_method :"test_#{type}_#{predicate}" do
|
225
|
-
assert_same false, reciever.public_send(predicate, :no_with)
|
226
|
-
assert_same false, reciever.public_send(predicate, :als_no_with)
|
227
|
-
assert_same false, reciever.public_send(predicate, 'no_with')
|
228
|
-
assert_same false, reciever.public_send(predicate, 'als_no_with')
|
229
|
-
assert_same false, reciever.public_send(predicate, 0)
|
230
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
231
|
-
|
232
|
-
assert_same true, reciever.public_send(predicate, :with)
|
233
|
-
assert_same true, reciever.public_send(predicate, :als_with)
|
234
|
-
assert_same true, reciever.public_send(predicate, 'with')
|
235
|
-
assert_same true, reciever.public_send(predicate, 'als_with')
|
236
|
-
assert_same true, reciever.public_send(predicate, 1)
|
237
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
238
|
-
|
239
|
-
assert_same true, reciever.public_send(predicate, :cond_with)
|
240
|
-
assert_same true, reciever.public_send(predicate, :als_cond_with)
|
241
|
-
assert_same true, reciever.public_send(predicate, 'cond_with')
|
242
|
-
assert_same true, reciever.public_send(predicate, 'als_cond_with')
|
243
|
-
assert_same true, reciever.public_send(predicate, 2)
|
244
|
-
assert_same true, reciever.public_send(predicate, 2.9)
|
245
|
-
|
246
|
-
assert_same false, reciever.public_send(predicate, :none)
|
247
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
248
|
-
assert_same false, reciever.public_send(predicate, 3)
|
249
|
-
assert_same false, reciever.public_send(predicate, 3.9)
|
250
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
251
|
-
end
|
252
|
-
end
|
253
|
-
end
|
254
|
-
|
255
|
-
end
|
256
|
-
|
257
|
-
class Test_Striuct_Subclass_Predicate_Condition < Test::Unit::TestCase
|
258
|
-
|
259
|
-
class Subclass < Striuct
|
260
|
-
member :no_with
|
261
|
-
alias_member :als_no_with, :no_with
|
262
|
-
member :with, nil
|
263
|
-
alias_member :als_with, :with
|
264
|
-
member :with_any, BasicObject
|
265
|
-
alias_member :als_with_any, :with_any
|
266
|
-
member :adj_with, nil do |_|; end
|
267
|
-
alias_member :als_adj_with, :adj_with
|
268
|
-
|
269
|
-
close_member
|
270
|
-
end.freeze
|
271
|
-
|
272
|
-
INSTANCE = Subclass.new.freeze
|
273
|
-
|
274
|
-
TYPE_PAIRS = {
|
275
|
-
class: Subclass,
|
276
|
-
instance: INSTANCE
|
277
|
-
}.freeze
|
278
|
-
|
279
|
-
[:with_condition?, :restrict?].each do |predicate|
|
280
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
281
|
-
define_method :"test_#{type}_#{predicate}" do
|
282
|
-
assert_same false, reciever.public_send(predicate, :no_with)
|
283
|
-
assert_same false, reciever.public_send(predicate, :als_no_with)
|
284
|
-
assert_same false, reciever.public_send(predicate, 'no_with')
|
285
|
-
assert_same false, reciever.public_send(predicate, 'als_no_with')
|
286
|
-
assert_same false, reciever.public_send(predicate, 0)
|
287
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
288
|
-
|
289
|
-
assert_same true, reciever.public_send(predicate, :with)
|
290
|
-
assert_same true, reciever.public_send(predicate, :als_with)
|
291
|
-
assert_same true, reciever.public_send(predicate, 'with')
|
292
|
-
assert_same true, reciever.public_send(predicate, 'als_with')
|
293
|
-
assert_same true, reciever.public_send(predicate, 1)
|
294
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
295
|
-
|
296
|
-
assert_same false, reciever.public_send(predicate, :with_any)
|
297
|
-
assert_same false, reciever.public_send(predicate, :als_with_any)
|
298
|
-
assert_same false, reciever.public_send(predicate, 'with_any')
|
299
|
-
assert_same false, reciever.public_send(predicate, 'als_with_any')
|
300
|
-
assert_same false, reciever.public_send(predicate, 2)
|
301
|
-
assert_same false, reciever.public_send(predicate, 2.9)
|
302
|
-
|
303
|
-
assert_same true, reciever.public_send(predicate, :adj_with)
|
304
|
-
assert_same true, reciever.public_send(predicate, :als_adj_with)
|
305
|
-
assert_same true, reciever.public_send(predicate, 'adj_with')
|
306
|
-
assert_same true, reciever.public_send(predicate, 'als_adj_with')
|
307
|
-
assert_same true, reciever.public_send(predicate, 3)
|
308
|
-
assert_same true, reciever.public_send(predicate, 3.9)
|
309
|
-
|
310
|
-
assert_same false, reciever.public_send(predicate, :none)
|
311
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
312
|
-
assert_same false, reciever.public_send(predicate, 4)
|
313
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
314
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
315
|
-
end
|
316
|
-
end
|
317
|
-
end
|
318
|
-
|
319
|
-
end
|
320
|
-
|
321
|
-
class Test_Striuct_Subclass_Predicate_Must < Test::Unit::TestCase
|
322
|
-
|
323
|
-
class Subclass < Striuct
|
324
|
-
member :no_with
|
325
|
-
alias_member :als_no_with, :no_with
|
326
|
-
member :with, BasicObject, must: true
|
327
|
-
alias_member :als_with, :with
|
328
|
-
member :with_any, BasicObject, must: true
|
329
|
-
alias_member :als_with_any, :with_any
|
330
|
-
member(:adj_with, BasicObject, must: true) do |_|; end
|
331
|
-
alias_member :als_adj_with, :adj_with
|
332
|
-
|
333
|
-
close_member
|
334
|
-
end.freeze
|
335
|
-
|
336
|
-
INSTANCE = Subclass[als_with: 1, als_with_any: 1, adj_with: 1].freeze
|
337
|
-
|
338
|
-
TYPE_PAIRS = {
|
339
|
-
class: Subclass,
|
340
|
-
instance: INSTANCE
|
341
|
-
}.freeze
|
342
|
-
|
343
|
-
[:with_must?, :must?].each do |predicate|
|
344
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
345
|
-
define_method :"test_#{type}_#{predicate}" do
|
346
|
-
assert_same false, reciever.public_send(predicate, :no_with)
|
347
|
-
assert_same false, reciever.public_send(predicate, :als_no_with)
|
348
|
-
assert_same false, reciever.public_send(predicate, 'no_with')
|
349
|
-
assert_same false, reciever.public_send(predicate, 'als_no_with')
|
350
|
-
assert_same false, reciever.public_send(predicate, 0)
|
351
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
352
|
-
|
353
|
-
assert_same true, reciever.public_send(predicate, :with)
|
354
|
-
assert_same true, reciever.public_send(predicate, :als_with)
|
355
|
-
assert_same true, reciever.public_send(predicate, 'with')
|
356
|
-
assert_same true, reciever.public_send(predicate, 'als_with')
|
357
|
-
assert_same true, reciever.public_send(predicate, 1)
|
358
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
359
|
-
|
360
|
-
assert_same true, reciever.public_send(predicate, :with_any)
|
361
|
-
assert_same true, reciever.public_send(predicate, :als_with_any)
|
362
|
-
assert_same true, reciever.public_send(predicate, 'with_any')
|
363
|
-
assert_same true, reciever.public_send(predicate, 'als_with_any')
|
364
|
-
assert_same true, reciever.public_send(predicate, 2)
|
365
|
-
assert_same true, reciever.public_send(predicate, 2.9)
|
366
|
-
|
367
|
-
assert_same true, reciever.public_send(predicate, :adj_with)
|
368
|
-
assert_same true, reciever.public_send(predicate, :als_adj_with)
|
369
|
-
assert_same true, reciever.public_send(predicate, 'adj_with')
|
370
|
-
assert_same true, reciever.public_send(predicate, 'als_adj_with')
|
371
|
-
assert_same true, reciever.public_send(predicate, 3)
|
372
|
-
assert_same true, reciever.public_send(predicate, 3.9)
|
373
|
-
|
374
|
-
assert_same false, reciever.public_send(predicate, :none)
|
375
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
376
|
-
assert_same false, reciever.public_send(predicate, 4)
|
377
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
378
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
379
|
-
end
|
380
|
-
end
|
381
|
-
end
|
382
|
-
|
383
|
-
end
|
384
|
-
|
385
|
-
|
386
|
-
class Test_Striuct_Subclass_Predicate_HookTiming_Setter_Enable < Test::Unit::TestCase
|
387
|
-
|
388
|
-
class Subclass < Striuct
|
389
|
-
member :no_with
|
390
|
-
alias_member :als_no_with, :no_with
|
391
|
-
member :with, nil, setter_validation: true
|
392
|
-
alias_member :als_with, :with
|
393
|
-
member :with_any, BasicObject, writer_validation: true
|
394
|
-
alias_member :als_with_any, :with_any
|
395
|
-
member :adj_with, nil, writer_validation: true do |_|; end
|
396
|
-
alias_member :als_adj_with, :adj_with
|
397
|
-
|
398
|
-
close_member
|
399
|
-
end.freeze
|
400
|
-
|
401
|
-
INSTANCE = Subclass.new.freeze
|
402
|
-
|
403
|
-
TYPE_PAIRS = {
|
404
|
-
class: Subclass,
|
405
|
-
instance: INSTANCE
|
406
|
-
}.freeze
|
407
|
-
|
408
|
-
[:with_safety_setter?, :with_safety_writer?].each do |predicate|
|
409
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
410
|
-
define_method :"test_#{type}_#{predicate}" do
|
411
|
-
assert_same true, reciever.public_send(predicate, :no_with)
|
412
|
-
assert_same true, reciever.public_send(predicate, :als_no_with)
|
413
|
-
assert_same true, reciever.public_send(predicate, 'no_with')
|
414
|
-
assert_same true, reciever.public_send(predicate, 'als_no_with')
|
415
|
-
assert_same true, reciever.public_send(predicate, 0)
|
416
|
-
assert_same true, reciever.public_send(predicate, 0.9)
|
417
|
-
|
418
|
-
assert_same true, reciever.public_send(predicate, :with)
|
419
|
-
assert_same true, reciever.public_send(predicate, :als_with)
|
420
|
-
assert_same true, reciever.public_send(predicate, 'with')
|
421
|
-
assert_same true, reciever.public_send(predicate, 'als_with')
|
422
|
-
assert_same true, reciever.public_send(predicate, 1)
|
423
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
424
|
-
|
425
|
-
assert_same true, reciever.public_send(predicate, :with_any)
|
426
|
-
assert_same true, reciever.public_send(predicate, :als_with_any)
|
427
|
-
assert_same true, reciever.public_send(predicate, 'with_any')
|
428
|
-
assert_same true, reciever.public_send(predicate, 'als_with_any')
|
429
|
-
assert_same true, reciever.public_send(predicate, 2)
|
430
|
-
assert_same true, reciever.public_send(predicate, 2.9)
|
431
|
-
|
432
|
-
assert_same true, reciever.public_send(predicate, :adj_with)
|
433
|
-
assert_same true, reciever.public_send(predicate, :als_adj_with)
|
434
|
-
assert_same true, reciever.public_send(predicate, 'adj_with')
|
435
|
-
assert_same true, reciever.public_send(predicate, 'als_adj_with')
|
436
|
-
assert_same true, reciever.public_send(predicate, 3)
|
437
|
-
assert_same true, reciever.public_send(predicate, 3.9)
|
438
|
-
|
439
|
-
assert_same false, reciever.public_send(predicate, :none)
|
440
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
441
|
-
assert_same false, reciever.public_send(predicate, 4)
|
442
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
443
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
444
|
-
end
|
445
|
-
end
|
446
|
-
end
|
447
|
-
|
448
|
-
end
|
449
|
-
|
450
|
-
class Test_Striuct_Subclass_Predicate_HookTiming_Setter_Disable < Test::Unit::TestCase
|
451
|
-
|
452
|
-
class Subclass < Striuct
|
453
|
-
member :no_with
|
454
|
-
alias_member :als_no_with, :no_with
|
455
|
-
|
456
|
-
member :with, nil, setter_validation: false
|
457
|
-
alias_member :als_with, :with
|
458
|
-
|
459
|
-
member :with_any, BasicObject, writer_validation: false
|
460
|
-
alias_member :als_with_any, :with_any
|
461
|
-
|
462
|
-
member :adj_with, nil, writer_validation: false do |_|; end
|
463
|
-
alias_member :als_adj_with, :adj_with
|
464
|
-
|
465
|
-
close_member
|
466
|
-
end.freeze
|
467
|
-
|
468
|
-
INSTANCE = Subclass.new.freeze
|
469
|
-
|
470
|
-
TYPE_PAIRS = {
|
471
|
-
class: Subclass,
|
472
|
-
instance: INSTANCE
|
473
|
-
}.freeze
|
474
|
-
|
475
|
-
[:with_safety_setter?, :with_safety_writer?].each do |predicate|
|
476
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
477
|
-
define_method :"test_#{type}_#{predicate}" do
|
478
|
-
assert_same true, reciever.public_send(predicate, :no_with)
|
479
|
-
assert_same true, reciever.public_send(predicate, :als_no_with)
|
480
|
-
assert_same true, reciever.public_send(predicate, 'no_with')
|
481
|
-
assert_same true, reciever.public_send(predicate, 'als_no_with')
|
482
|
-
assert_same true, reciever.public_send(predicate, 0)
|
483
|
-
assert_same true, reciever.public_send(predicate, 0.9)
|
484
|
-
|
485
|
-
assert_same false, reciever.public_send(predicate, :with)
|
486
|
-
assert_same false, reciever.public_send(predicate, :als_with)
|
487
|
-
assert_same false, reciever.public_send(predicate, 'with')
|
488
|
-
assert_same false, reciever.public_send(predicate, 'als_with')
|
489
|
-
assert_same false, reciever.public_send(predicate, 1)
|
490
|
-
assert_same false, reciever.public_send(predicate, 1.9)
|
491
|
-
|
492
|
-
assert_same false, reciever.public_send(predicate, :with_any)
|
493
|
-
assert_same false, reciever.public_send(predicate, :als_with_any)
|
494
|
-
assert_same false, reciever.public_send(predicate, 'with_any')
|
495
|
-
assert_same false, reciever.public_send(predicate, 'als_with_any')
|
496
|
-
assert_same false, reciever.public_send(predicate, 2)
|
497
|
-
assert_same false, reciever.public_send(predicate, 2.9)
|
498
|
-
|
499
|
-
assert_same false, reciever.public_send(predicate, :adj_with)
|
500
|
-
assert_same false, reciever.public_send(predicate, :als_adj_with)
|
501
|
-
assert_same false, reciever.public_send(predicate, 'adj_with')
|
502
|
-
assert_same false, reciever.public_send(predicate, 'als_adj_with')
|
503
|
-
assert_same false, reciever.public_send(predicate, 3)
|
504
|
-
assert_same false, reciever.public_send(predicate, 3.9)
|
505
|
-
|
506
|
-
assert_same false, reciever.public_send(predicate, :none)
|
507
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
508
|
-
assert_same false, reciever.public_send(predicate, 4)
|
509
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
510
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
511
|
-
end
|
512
|
-
end
|
513
|
-
end
|
514
|
-
|
515
|
-
end
|
516
|
-
|
517
|
-
|
518
|
-
class Test_Striuct_Subclass_Predicate_HookTiming_Getter_Enable < Test::Unit::TestCase
|
519
|
-
|
520
|
-
class Subclass < Striuct
|
521
|
-
member :no_with
|
522
|
-
alias_member :als_no_with, :no_with
|
523
|
-
member :with, nil, getter_validation: true
|
524
|
-
alias_member :als_with, :with
|
525
|
-
member :with_any, BasicObject, reader_validation: true
|
526
|
-
alias_member :als_with_any, :with_any
|
527
|
-
member :adj_with, nil, reader_validation: true do |_|; end
|
528
|
-
alias_member :als_adj_with, :adj_with
|
529
|
-
|
530
|
-
close_member
|
531
|
-
end.freeze
|
532
|
-
|
533
|
-
INSTANCE = Subclass.new.freeze
|
534
|
-
|
535
|
-
TYPE_PAIRS = {
|
536
|
-
class: Subclass,
|
537
|
-
instance: INSTANCE
|
538
|
-
}.freeze
|
539
|
-
|
540
|
-
[:with_safety_getter?, :with_safety_reader?].each do |predicate|
|
541
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
542
|
-
define_method :"test_#{type}_#{predicate}" do
|
543
|
-
assert_same false, reciever.public_send(predicate, :no_with)
|
544
|
-
assert_same false, reciever.public_send(predicate, :als_no_with)
|
545
|
-
assert_same false, reciever.public_send(predicate, 'no_with')
|
546
|
-
assert_same false, reciever.public_send(predicate, 'als_no_with')
|
547
|
-
assert_same false, reciever.public_send(predicate, 0)
|
548
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
549
|
-
|
550
|
-
assert_same true, reciever.public_send(predicate, :with)
|
551
|
-
assert_same true, reciever.public_send(predicate, :als_with)
|
552
|
-
assert_same true, reciever.public_send(predicate, 'with')
|
553
|
-
assert_same true, reciever.public_send(predicate, 'als_with')
|
554
|
-
assert_same true, reciever.public_send(predicate, 1)
|
555
|
-
assert_same true, reciever.public_send(predicate, 1.9)
|
556
|
-
|
557
|
-
assert_same true, reciever.public_send(predicate, :with_any)
|
558
|
-
assert_same true, reciever.public_send(predicate, :als_with_any)
|
559
|
-
assert_same true, reciever.public_send(predicate, 'with_any')
|
560
|
-
assert_same true, reciever.public_send(predicate, 'als_with_any')
|
561
|
-
assert_same true, reciever.public_send(predicate, 2)
|
562
|
-
assert_same true, reciever.public_send(predicate, 2.9)
|
563
|
-
|
564
|
-
assert_same true, reciever.public_send(predicate, :adj_with)
|
565
|
-
assert_same true, reciever.public_send(predicate, :als_adj_with)
|
566
|
-
assert_same true, reciever.public_send(predicate, 'adj_with')
|
567
|
-
assert_same true, reciever.public_send(predicate, 'als_adj_with')
|
568
|
-
assert_same true, reciever.public_send(predicate, 3)
|
569
|
-
assert_same true, reciever.public_send(predicate, 3.9)
|
570
|
-
|
571
|
-
assert_same false, reciever.public_send(predicate, :none)
|
572
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
573
|
-
assert_same false, reciever.public_send(predicate, 4)
|
574
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
575
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
576
|
-
end
|
577
|
-
end
|
578
|
-
end
|
579
|
-
|
580
|
-
end
|
581
|
-
|
582
|
-
class Test_Striuct_Subclass_Predicate_HookTiming_Getter_Disable < Test::Unit::TestCase
|
583
|
-
|
584
|
-
class Subclass < Striuct
|
585
|
-
member :no_with
|
586
|
-
alias_member :als_no_with, :no_with
|
587
|
-
|
588
|
-
member :with, nil, getter_validation: false
|
589
|
-
alias_member :als_with, :with
|
590
|
-
|
591
|
-
member :with_any, BasicObject, reader_validation: false
|
592
|
-
alias_member :als_with_any, :with_any
|
593
|
-
|
594
|
-
member :adj_with, nil, reader_validation: false do |_|; end
|
595
|
-
alias_member :als_adj_with, :adj_with
|
596
|
-
|
597
|
-
close_member
|
598
|
-
end.freeze
|
599
|
-
|
600
|
-
INSTANCE = Subclass.new.freeze
|
601
|
-
|
602
|
-
TYPE_PAIRS = {
|
603
|
-
class: Subclass,
|
604
|
-
instance: INSTANCE
|
605
|
-
}.freeze
|
606
|
-
|
607
|
-
[:with_safety_getter?, :with_safety_reader?].each do |predicate|
|
608
|
-
TYPE_PAIRS.each_pair do |type, reciever|
|
609
|
-
define_method :"test_#{type}_#{predicate}" do
|
610
|
-
assert_same false, reciever.public_send(predicate, :no_with)
|
611
|
-
assert_same false, reciever.public_send(predicate, :als_no_with)
|
612
|
-
assert_same false, reciever.public_send(predicate, 'no_with')
|
613
|
-
assert_same false, reciever.public_send(predicate, 'als_no_with')
|
614
|
-
assert_same false, reciever.public_send(predicate, 0)
|
615
|
-
assert_same false, reciever.public_send(predicate, 0.9)
|
616
|
-
|
617
|
-
assert_same false, reciever.public_send(predicate, :with)
|
618
|
-
assert_same false, reciever.public_send(predicate, :als_with)
|
619
|
-
assert_same false, reciever.public_send(predicate, 'with')
|
620
|
-
assert_same false, reciever.public_send(predicate, 'als_with')
|
621
|
-
assert_same false, reciever.public_send(predicate, 1)
|
622
|
-
assert_same false, reciever.public_send(predicate, 1.9)
|
623
|
-
|
624
|
-
assert_same false, reciever.public_send(predicate, :with_any)
|
625
|
-
assert_same false, reciever.public_send(predicate, :als_with_any)
|
626
|
-
assert_same false, reciever.public_send(predicate, 'with_any')
|
627
|
-
assert_same false, reciever.public_send(predicate, 'als_with_any')
|
628
|
-
assert_same false, reciever.public_send(predicate, 2)
|
629
|
-
assert_same false, reciever.public_send(predicate, 2.9)
|
630
|
-
|
631
|
-
assert_same false, reciever.public_send(predicate, :adj_with)
|
632
|
-
assert_same false, reciever.public_send(predicate, :als_adj_with)
|
633
|
-
assert_same false, reciever.public_send(predicate, 'adj_with')
|
634
|
-
assert_same false, reciever.public_send(predicate, 'als_adj_with')
|
635
|
-
assert_same false, reciever.public_send(predicate, 3)
|
636
|
-
assert_same false, reciever.public_send(predicate, 3.9)
|
637
|
-
|
638
|
-
assert_same false, reciever.public_send(predicate, :none)
|
639
|
-
assert_same false, reciever.public_send(predicate, 'none')
|
640
|
-
assert_same false, reciever.public_send(predicate, 4)
|
641
|
-
assert_same false, reciever.public_send(predicate, 4.9)
|
642
|
-
assert_same false, reciever.public_send(predicate, BasicObject.new)
|
643
|
-
end
|
644
|
-
end
|
645
|
-
end
|
646
|
-
|
647
|
-
end
|