module-cluster 1.3.7 → 1.4.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.
Files changed (64) hide show
  1. data/README.md +146 -1
  2. data/README.rdoc +146 -1
  3. data/lib/module-cluster.rb +54 -12
  4. data/lib/module-cluster/ModuleCluster/Define/Block.rb +3 -0
  5. data/lib/module-cluster/ModuleCluster/Define/Block/Class.rb +16 -4
  6. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb +63 -0
  7. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb +2 -0
  8. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb +63 -0
  9. data/lib/module-cluster/ModuleCluster/Define/Block/Instance.rb +32 -0
  10. data/lib/module-cluster/ModuleCluster/Define/Block/Module.rb +16 -4
  11. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb +63 -0
  12. data/lib/module-cluster/ModuleCluster/Define/ClassCluster.rb +200 -0
  13. data/lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb +127 -0
  14. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +7 -19
  15. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +5 -20
  16. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +9 -26
  17. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +9 -26
  18. data/lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb +46 -0
  19. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +200 -0
  20. data/lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb +208 -0
  21. data/lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb +127 -0
  22. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb +54 -0
  23. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb +44 -0
  24. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb +209 -0
  25. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ClusterStack.rb +0 -2
  26. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ClusterStack/Block.rb +1 -2
  27. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb +36 -0
  28. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb +20 -0
  29. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb +36 -0
  30. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb +2 -0
  31. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb +108 -0
  32. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb +84 -0
  33. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb +108 -0
  34. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb +84 -0
  35. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set.rb +7 -0
  36. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ExtendForCascade.rb +0 -0
  37. data/spec/ModuleCluster/Define/Block/ClassOrInstance_spec.rb +230 -0
  38. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrInstance_spec.rb +238 -0
  39. data/spec/ModuleCluster/Define/Block/ClassOrModule_spec.rb +231 -0
  40. data/spec/ModuleCluster/Define/Block/Class_spec.rb +224 -0
  41. data/spec/ModuleCluster/Define/Block/Instance_spec.rb +78 -0
  42. data/spec/ModuleCluster/Define/Block/ModuleOrInstance_spec.rb +54 -0
  43. data/spec/ModuleCluster/Define/Block/Module_spec.rb +224 -0
  44. data/spec/ModuleCluster/Define/Block_spec.rb +18 -0
  45. data/spec/ModuleCluster/Define/ClassCluster_spec.rb +728 -0
  46. data/spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb +576 -0
  47. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +298 -60
  48. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +307 -61
  49. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +335 -36
  50. data/spec/ModuleCluster/Define/Cluster_spec.rb +447 -14
  51. data/spec/ModuleCluster/Define/InstanceCluster_spec.rb +102 -0
  52. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +728 -0
  53. data/spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb +728 -0
  54. data/spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb +576 -0
  55. data/spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb +278 -0
  56. metadata +42 -13
  57. data/lib/module-cluster/ModuleCluster/CascadeFeatures.rb +0 -197
  58. data/lib/module-cluster/ModuleCluster/ClusterStack/Block/Class.rb +0 -36
  59. data/lib/module-cluster/ModuleCluster/ClusterStack/Block/Module.rb +0 -36
  60. data/lib/module-cluster/ModuleCluster/ClusterStack/Extends.rb +0 -29
  61. data/lib/module-cluster/ModuleCluster/ClusterStack/Includes.rb +0 -28
  62. data/lib/module-cluster/ModuleCluster/ClusterStack/PrependsExtends.rb +0 -28
  63. data/lib/module-cluster/ModuleCluster/ClusterStack/PrependsIncludes.rb +0 -28
  64. data/lib/module-cluster/ModuleCluster/Define/ClusterStack.rb +0 -26
@@ -0,0 +1,18 @@
1
+
2
+ require_relative '../../../lib/module-cluster.rb'
3
+
4
+ describe ModuleCluster::Define::Block do
5
+
6
+ it 'is a cluster of support functions that run blocks at hooks' do
7
+ module ModuleCluster::Define::Block
8
+ ancestors.include?( ModuleCluster::Define::Block::Class ).should == true
9
+ ancestors.include?( ModuleCluster::Define::Block::ClassOrInstance ).should == true
10
+ ancestors.include?( ModuleCluster::Define::Block::ClassOrModule ).should == true
11
+ ancestors.include?( ModuleCluster::Define::Block::ClassOrModuleOrInstance ).should == true
12
+ ancestors.include?( ModuleCluster::Define::Block::Instance ).should == true
13
+ ancestors.include?( ModuleCluster::Define::Block::Module ).should == true
14
+ ancestors.include?( ModuleCluster::Define::Block::ModuleOrInstance ).should == true
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,728 @@
1
+
2
+ require_relative '../../../lib/module-cluster.rb'
3
+
4
+ describe ModuleCluster::Define::ClassCluster do
5
+
6
+ ####################################
7
+ # self.should_include_or_extend? #
8
+ ####################################
9
+
10
+ it 'should return true if class, false otherwise' do
11
+ ModuleCluster::Define::ClassCluster.should_include_or_extend?( Kernel ).should == false
12
+ ModuleCluster::Define::ClassCluster.should_include_or_extend?( Class ).should == true
13
+ ModuleCluster::Define::ClassCluster.should_include_or_extend?( Object.new ).should == false
14
+ end
15
+
16
+ ##########################
17
+ # self.should_cascade? #
18
+ ##########################
19
+
20
+ it 'should report false' do
21
+ ModuleCluster::Define::ClassCluster.should_cascade?( Kernel ).should == false
22
+ ModuleCluster::Define::ClassCluster.should_cascade?( Class ).should == false
23
+ ModuleCluster::Define::ClassCluster.should_cascade?( Object.new ).should == false
24
+ end
25
+
26
+ #################################
27
+ # class_include_also_includes #
28
+ #################################
29
+
30
+ it 'can include other modules when this one is included in a class' do
31
+ module ModuleCluster::Define::ClassCluster::Mock01
32
+ extend ModuleCluster::Define::ClassCluster
33
+ module Module1
34
+ end
35
+ module Module2
36
+ end
37
+ class_include_also_includes( Module1, Module2 )
38
+ respond_to?( :included ).should == true
39
+ module ModuleProof
40
+ include ModuleCluster::Define::ClassCluster::Mock01
41
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module1 ).should == false
42
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module2 ).should == false
43
+ eigenclass = class << self ; self ; end
44
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module1 ).should == false
45
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module2 ).should == false
46
+ end
47
+ class ClassProof
48
+ include ModuleCluster::Define::ClassCluster::Mock01
49
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module1 ).should == true
50
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module2 ).should == true
51
+ eigenclass = class << self ; self ; end
52
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module1 ).should == false
53
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock01::Module2 ).should == false
54
+ end
55
+ end
56
+ end
57
+
58
+ ################################
59
+ # class_include_also_extends #
60
+ ################################
61
+
62
+ it 'can extend other modules when this one is included in a class' do
63
+ module ModuleCluster::Define::ClassCluster::Mock02
64
+ extend ModuleCluster::Define::ClassCluster
65
+ module Module1
66
+ end
67
+ module Module2
68
+ end
69
+ class_include_also_extends( Module1, Module2 )
70
+ respond_to?( :included ).should == true
71
+ module ModuleProof
72
+ include ModuleCluster::Define::ClassCluster::Mock02
73
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module1 ).should == false
74
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module2 ).should == false
75
+ eigenclass = class << self ; self ; end
76
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module1 ).should == false
77
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module2 ).should == false
78
+ end
79
+ class ClassProof
80
+ include ModuleCluster::Define::ClassCluster::Mock02
81
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module1 ).should == false
82
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module2 ).should == false
83
+ eigenclass = class << self ; self ; end
84
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module1 ).should == true
85
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock02::Module2 ).should == true
86
+ end
87
+ end
88
+ end
89
+
90
+ #############################################
91
+ # class_include_also_includes_and_extends #
92
+ #############################################
93
+
94
+ it 'can include and extend other modules when this one is included in a class' do
95
+ module ModuleCluster::Define::ClassCluster::Mock03
96
+ extend ModuleCluster::Define::ClassCluster
97
+ module Module1
98
+ end
99
+ module Module2
100
+ end
101
+ class_include_also_includes_and_extends( Module1, Module2 )
102
+ respond_to?( :included ).should == true
103
+ module ModuleProof
104
+ include ModuleCluster::Define::ClassCluster::Mock03
105
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module1 ).should == false
106
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module2 ).should == false
107
+ eigenclass = class << self ; self ; end
108
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module1 ).should == false
109
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module2 ).should == false
110
+ end
111
+ class ClassProof
112
+ include ModuleCluster::Define::ClassCluster::Mock03
113
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module1 ).should == true
114
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module2 ).should == true
115
+ eigenclass = class << self ; self ; end
116
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module1 ).should == true
117
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock03::Module2 ).should == true
118
+ end
119
+ end
120
+ end
121
+
122
+ ################################
123
+ # class_extend_also_includes #
124
+ ################################
125
+
126
+ it 'can include other modules when this one extends a class' do
127
+ module ModuleCluster::Define::ClassCluster::Mock04
128
+ extend ModuleCluster::Define::ClassCluster
129
+ module Module1
130
+ end
131
+ module Module2
132
+ end
133
+ class_extend_also_includes( Module1, Module2 )
134
+ respond_to?( :extended ).should == true
135
+ module ModuleProof
136
+ extend ModuleCluster::Define::ClassCluster::Mock04
137
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module1 ).should == false
138
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module2 ).should == false
139
+ eigenclass = class << self ; self ; end
140
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module1 ).should == false
141
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module2 ).should == false
142
+ end
143
+ class ClassProof
144
+ extend ModuleCluster::Define::ClassCluster::Mock04
145
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module1 ).should == true
146
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module2 ).should == true
147
+ eigenclass = class << self ; self ; end
148
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module1 ).should == false
149
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock04::Module2 ).should == false
150
+ end
151
+ end
152
+ end
153
+
154
+ ###############################
155
+ # class_extend_also_extends #
156
+ ###############################
157
+
158
+ it 'can extend other modules when this one extends a class' do
159
+ module ModuleCluster::Define::ClassCluster::Mock05
160
+ extend ModuleCluster::Define::ClassCluster
161
+ module Module1
162
+ end
163
+ module Module2
164
+ end
165
+ class_extend_also_extends( Module1, Module2 )
166
+ respond_to?( :extended ).should == true
167
+ module ModuleProof
168
+ extend ModuleCluster::Define::ClassCluster::Mock05
169
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module1 ).should == false
170
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module2 ).should == false
171
+ eigenclass = class << self ; self ; end
172
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module1 ).should == false
173
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module2 ).should == false
174
+ end
175
+ class ClassProof
176
+ extend ModuleCluster::Define::ClassCluster::Mock05
177
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module1 ).should == false
178
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module2 ).should == false
179
+ eigenclass = class << self ; self ; end
180
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module1 ).should == true
181
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module2 ).should == true
182
+ end
183
+ Object.new.instance_eval do
184
+ extend ModuleCluster::Define::ClassCluster::Mock05
185
+ eigenclass = class << self ; self ; end
186
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module1 ).should == false
187
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock05::Module2 ).should == false
188
+ end
189
+ end
190
+ end
191
+
192
+ ############################################
193
+ # class_extend_also_includes_and_extends #
194
+ ############################################
195
+
196
+ it 'can include and extend other modules when this one extends a class' do
197
+ module ModuleCluster::Define::ClassCluster::Mock06
198
+ extend ModuleCluster::Define::ClassCluster
199
+ module Module1
200
+ end
201
+ module Module2
202
+ end
203
+ class_extend_also_includes_and_extends( Module1, Module2 )
204
+ respond_to?( :extended ).should == true
205
+ module ModuleProof
206
+ extend ModuleCluster::Define::ClassCluster::Mock06
207
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module1 ).should == false
208
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module2 ).should == false
209
+ eigenclass = class << self ; self ; end
210
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module1 ).should == false
211
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module2 ).should == false
212
+ end
213
+ class ClassProof
214
+ extend ModuleCluster::Define::ClassCluster::Mock06
215
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module1 ).should == true
216
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module2 ).should == true
217
+ eigenclass = class << self ; self ; end
218
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module1 ).should == true
219
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module2 ).should == true
220
+ end
221
+ Object.new.instance_eval do
222
+ extend ModuleCluster::Define::ClassCluster::Mock06
223
+ eigenclass = class << self ; self ; end
224
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module1 ).should == false
225
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock06::Module2 ).should == false
226
+ end
227
+ end
228
+ end
229
+
230
+ #####################################
231
+ # class_include_prepends_includes #
232
+ #####################################
233
+
234
+ it 'can include other modules before this one when this one is included in a class' do
235
+ module ModuleCluster::Define::ClassCluster::Mock07
236
+ extend ModuleCluster::Define::ClassCluster
237
+ module Module1
238
+ end
239
+ module Module2
240
+ end
241
+ class_include_prepends_includes( Module1, Module2 )
242
+ respond_to?( :append_features ).should == true
243
+ module ModuleProof
244
+ include ModuleCluster::Define::ClassCluster::Mock07
245
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module1 ).should == false
246
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module2 ).should == false
247
+ eigenclass = class << self ; self ; end
248
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module1 ).should == false
249
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module2 ).should == false
250
+ end
251
+ class ClassProof
252
+ include ModuleCluster::Define::ClassCluster::Mock07
253
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module1 ).should == true
254
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module2 ).should == true
255
+ eigenclass = class << self ; self ; end
256
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module1 ).should == false
257
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock07::Module2 ).should == false
258
+ end
259
+ end
260
+ end
261
+
262
+ ####################################
263
+ # class_include_prepends_extends #
264
+ ####################################
265
+
266
+ it 'can extend other modules before this one when this one is included in a class' do
267
+ module ModuleCluster::Define::ClassCluster::Mock08
268
+ extend ModuleCluster::Define::ClassCluster
269
+ module Module1
270
+ end
271
+ module Module2
272
+ end
273
+ class_include_prepends_extends( Module1, Module2 )
274
+ respond_to?( :append_features ).should == true
275
+ module ModuleProof
276
+ include ModuleCluster::Define::ClassCluster::Mock08
277
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module1 ).should == false
278
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module2 ).should == false
279
+ eigenclass = class << self ; self ; end
280
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module1 ).should == false
281
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module2 ).should == false
282
+ end
283
+ class ClassProof
284
+ include ModuleCluster::Define::ClassCluster::Mock08
285
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module1 ).should == false
286
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module2 ).should == false
287
+ eigenclass = class << self ; self ; end
288
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module1 ).should == true
289
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock08::Module2 ).should == true
290
+ end
291
+ end
292
+ end
293
+
294
+ #################################################
295
+ # class_include_prepends_includes_and_extends #
296
+ #################################################
297
+
298
+ it 'can include and extend other modules before this one when this one is included in a class' do
299
+ module ModuleCluster::Define::ClassCluster::Mock09
300
+ extend ModuleCluster::Define::ClassCluster
301
+ module Module1
302
+ end
303
+ module Module2
304
+ end
305
+ class_include_prepends_includes_and_extends( Module1, Module2 )
306
+ respond_to?( :append_features ).should == true
307
+ module ModuleProof
308
+ include ModuleCluster::Define::ClassCluster::Mock09
309
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module1 ).should == false
310
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module2 ).should == false
311
+ eigenclass = class << self ; self ; end
312
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module1 ).should == false
313
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module2 ).should == false
314
+ end
315
+ class ClassProof
316
+ include ModuleCluster::Define::ClassCluster::Mock09
317
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module1 ).should == true
318
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module2 ).should == true
319
+ eigenclass = class << self ; self ; end
320
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module1 ).should == true
321
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock09::Module2 ).should == true
322
+ end
323
+ end
324
+ end
325
+
326
+ ####################################
327
+ # class_extend_prepends_includes #
328
+ ####################################
329
+
330
+ it 'can include other modules before this one when this one extends a class' do
331
+ module ModuleCluster::Define::ClassCluster::Mock10
332
+ extend ModuleCluster::Define::ClassCluster
333
+ module Module1
334
+ end
335
+ module Module2
336
+ end
337
+ class_extend_prepends_includes( Module1, Module2 )
338
+ respond_to?( :extend_object ).should == true
339
+ module ModuleProof
340
+ extend ModuleCluster::Define::ClassCluster::Mock10
341
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module1 ).should == false
342
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module2 ).should == false
343
+ eigenclass = class << self ; self ; end
344
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module1 ).should == false
345
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module2 ).should == false
346
+ end
347
+ class ClassProof
348
+ extend ModuleCluster::Define::ClassCluster::Mock10
349
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module1 ).should == true
350
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module2 ).should == true
351
+ eigenclass = class << self ; self ; end
352
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module1 ).should == false
353
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock10::Module2 ).should == false
354
+ end
355
+ end
356
+ end
357
+
358
+ ###################################
359
+ # class_extend_prepends_extends #
360
+ ###################################
361
+
362
+ it 'can extend other modules before this one when this one extends a class' do
363
+ module ModuleCluster::Define::ClassCluster::Mock11
364
+ extend ModuleCluster::Define::ClassCluster
365
+ module Module1
366
+ end
367
+ module Module2
368
+ end
369
+ class_extend_prepends_extends( Module1, Module2 )
370
+ respond_to?( :extend_object ).should == true
371
+ module ModuleProof
372
+ extend ModuleCluster::Define::ClassCluster::Mock11
373
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module1 ).should == false
374
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module2 ).should == false
375
+ eigenclass = class << self ; self ; end
376
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module1 ).should == false
377
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module2 ).should == false
378
+ end
379
+ class ClassProof
380
+ extend ModuleCluster::Define::ClassCluster::Mock11
381
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module1 ).should == false
382
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module2 ).should == false
383
+ eigenclass = class << self ; self ; end
384
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module1 ).should == true
385
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module2 ).should == true
386
+ end
387
+ Object.new.instance_eval do
388
+ extend ModuleCluster::Define::ClassCluster::Mock11
389
+ eigenclass = class << self ; self ; end
390
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module1 ).should == false
391
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock11::Module2 ).should == false
392
+ end
393
+ end
394
+ end
395
+
396
+ ################################################
397
+ # class_extend_prepends_includes_and_extends #
398
+ ################################################
399
+
400
+ it 'can include and extend other modules before this one when this one extends a class' do
401
+ module ModuleCluster::Define::ClassCluster::Mock12
402
+ extend ModuleCluster::Define::ClassCluster
403
+ module Module1
404
+ end
405
+ module Module2
406
+ end
407
+ class_extend_prepends_includes_and_extends( Module1, Module2 )
408
+ respond_to?( :extend_object ).should == true
409
+ module ModuleProof
410
+ extend ModuleCluster::Define::ClassCluster::Mock12
411
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module1 ).should == false
412
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module2 ).should == false
413
+ eigenclass = class << self ; self ; end
414
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module1 ).should == false
415
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module2 ).should == false
416
+ end
417
+ class ClassProof
418
+ extend ModuleCluster::Define::ClassCluster::Mock12
419
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module1 ).should == true
420
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module2 ).should == true
421
+ eigenclass = class << self ; self ; end
422
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module1 ).should == true
423
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module2 ).should == true
424
+ end
425
+ Object.new.instance_eval do
426
+ extend ModuleCluster::Define::ClassCluster::Mock12
427
+ eigenclass = class << self ; self ; end
428
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module1 ).should == false
429
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock12::Module2 ).should == false
430
+ end
431
+ end
432
+ end
433
+
434
+ ###########################################
435
+ # class_include_or_extend_also_includes #
436
+ ###########################################
437
+
438
+ it 'can include other modules when this one is included in or extends a class' do
439
+ module ModuleCluster::Define::ClassCluster::Mock13
440
+ extend ModuleCluster::Define::ClassCluster
441
+ module Module1
442
+ end
443
+ module Module2
444
+ end
445
+ class_include_or_extend_also_includes( Module1, Module2 )
446
+ respond_to?( :append_features ).should == true
447
+ module ModuleProof
448
+ include ModuleCluster::Define::ClassCluster::Mock13
449
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
450
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
451
+ eigenclass = class << self ; self ; end
452
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
453
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
454
+ end
455
+ module ModuleProof2
456
+ extend ModuleCluster::Define::ClassCluster::Mock13
457
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
458
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
459
+ eigenclass = class << self ; self ; end
460
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
461
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
462
+ end
463
+ class ClassProof
464
+ include ModuleCluster::Define::ClassCluster::Mock13
465
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == true
466
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == true
467
+ eigenclass = class << self ; self ; end
468
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
469
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
470
+ end
471
+ class ClassProof2
472
+ include ModuleCluster::Define::ClassCluster::Mock13
473
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == true
474
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == true
475
+ eigenclass = class << self ; self ; end
476
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module1 ).should == false
477
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock13::Module2 ).should == false
478
+ end
479
+ end
480
+ end
481
+
482
+ ##########################################
483
+ # class_include_or_extend_also_extends #
484
+ ##########################################
485
+
486
+ it 'can extend other modules when this one is included in or extends a class' do
487
+ module ModuleCluster::Define::ClassCluster::Mock14
488
+ extend ModuleCluster::Define::ClassCluster
489
+ module Module1
490
+ end
491
+ module Module2
492
+ end
493
+ class_include_or_extend_also_extends( Module1, Module2 )
494
+ respond_to?( :included ).should == true
495
+ module ModuleProof
496
+ include ModuleCluster::Define::ClassCluster::Mock14
497
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
498
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
499
+ eigenclass = class << self ; self ; end
500
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
501
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
502
+ end
503
+ module ModuleProof2
504
+ extend ModuleCluster::Define::ClassCluster::Mock14
505
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
506
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
507
+ eigenclass = class << self ; self ; end
508
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
509
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
510
+ end
511
+ class ClassProof
512
+ include ModuleCluster::Define::ClassCluster::Mock14
513
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
514
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
515
+ eigenclass = class << self ; self ; end
516
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == true
517
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == true
518
+ end
519
+ class ClassProof2
520
+ extend ModuleCluster::Define::ClassCluster::Mock14
521
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == false
522
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == false
523
+ eigenclass = class << self ; self ; end
524
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module1 ).should == true
525
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock14::Module2 ).should == true
526
+ end
527
+ end
528
+ end
529
+
530
+ #######################################################
531
+ # class_include_or_extend_also_includes_and_extends #
532
+ #######################################################
533
+
534
+ it 'can include and extend other modules when this one is included in or extends a class' do
535
+ module ModuleCluster::Define::ClassCluster::Mock15
536
+ extend ModuleCluster::Define::ClassCluster
537
+ module Module1
538
+ end
539
+ module Module2
540
+ end
541
+ class_include_or_extend_also_includes_and_extends( Module1, Module2 )
542
+ respond_to?( :included ).should == true
543
+ module ModuleProof
544
+ include ModuleCluster::Define::ClassCluster::Mock15
545
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == false
546
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == false
547
+ eigenclass = class << self ; self ; end
548
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == false
549
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == false
550
+ end
551
+ module ModuleProo2
552
+ extend ModuleCluster::Define::ClassCluster::Mock15
553
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == false
554
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == false
555
+ eigenclass = class << self ; self ; end
556
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == false
557
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == false
558
+ end
559
+ class ClassProof
560
+ include ModuleCluster::Define::ClassCluster::Mock15
561
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == true
562
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == true
563
+ eigenclass = class << self ; self ; end
564
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == true
565
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == true
566
+ end
567
+ class ClassProof2
568
+ extend ModuleCluster::Define::ClassCluster::Mock15
569
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == true
570
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == true
571
+ eigenclass = class << self ; self ; end
572
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module1 ).should == true
573
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock15::Module2 ).should == true
574
+ end
575
+ end
576
+ end
577
+
578
+ ###############################################
579
+ # class_include_or_extend_prepends_includes #
580
+ ###############################################
581
+
582
+ it 'can include other modules before this one when this one is included in or extends a class' do
583
+ module ModuleCluster::Define::ClassCluster::Mock16
584
+ extend ModuleCluster::Define::ClassCluster
585
+ module Module1
586
+ end
587
+ module Module2
588
+ end
589
+ class_include_or_extend_prepends_includes( Module1, Module2 )
590
+ respond_to?( :append_features ).should == true
591
+ module ModuleProof
592
+ include ModuleCluster::Define::ClassCluster::Mock16
593
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
594
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
595
+ eigenclass = class << self ; self ; end
596
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
597
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
598
+ end
599
+ module ModuleProof2
600
+ extend ModuleCluster::Define::ClassCluster::Mock16
601
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
602
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
603
+ eigenclass = class << self ; self ; end
604
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
605
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
606
+ end
607
+ class ClassProof
608
+ include ModuleCluster::Define::ClassCluster::Mock16
609
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == true
610
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == true
611
+ eigenclass = class << self ; self ; end
612
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
613
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
614
+ end
615
+ class ClassProof2
616
+ extend ModuleCluster::Define::ClassCluster::Mock16
617
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == true
618
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == true
619
+ eigenclass = class << self ; self ; end
620
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module1 ).should == false
621
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock16::Module2 ).should == false
622
+ end
623
+ end
624
+ end
625
+
626
+ ##############################################
627
+ # class_include_or_extend_prepends_extends #
628
+ ##############################################
629
+
630
+ it 'can extend other modules before this one when this one is included in or extends a class' do
631
+ module ModuleCluster::Define::ClassCluster::Mock17
632
+ extend ModuleCluster::Define::ClassCluster
633
+ module Module1
634
+ end
635
+ module Module2
636
+ end
637
+ class_include_or_extend_prepends_extends( Module1, Module2 )
638
+ respond_to?( :extend_object ).should == true
639
+ module ModuleProof
640
+ include ModuleCluster::Define::ClassCluster::Mock17
641
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
642
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
643
+ eigenclass = class << self ; self ; end
644
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
645
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
646
+ end
647
+ module ModuleProof2
648
+ extend ModuleCluster::Define::ClassCluster::Mock17
649
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
650
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
651
+ eigenclass = class << self ; self ; end
652
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
653
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
654
+ end
655
+ class ClassProof
656
+ include ModuleCluster::Define::ClassCluster::Mock17
657
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
658
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
659
+ eigenclass = class << self ; self ; end
660
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == true
661
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == true
662
+ end
663
+ class ClassProof2
664
+ extend ModuleCluster::Define::ClassCluster::Mock17
665
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
666
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
667
+ eigenclass = class << self ; self ; end
668
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == true
669
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == true
670
+ end
671
+ Object.new.instance_eval do
672
+ extend ModuleCluster::Define::ClassCluster::Mock17
673
+ eigenclass = class << self ; self ; end
674
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module1 ).should == false
675
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock17::Module2 ).should == false
676
+ end
677
+ end
678
+ end
679
+
680
+ ###########################################################
681
+ # class_include_or_extend_prepends_includes_and_extends #
682
+ ###########################################################
683
+
684
+ it 'can include and extend other modules before this one when this one is included in or extends a class' do
685
+ module ModuleCluster::Define::ClassCluster::Mock18
686
+ extend ModuleCluster::Define::ClassCluster
687
+ module Module1
688
+ end
689
+ module Module2
690
+ end
691
+ class_include_or_extend_prepends_includes_and_extends( Module1, Module2 )
692
+ respond_to?( :append_features ).should == true
693
+ module ModuleProof
694
+ include ModuleCluster::Define::ClassCluster::Mock18
695
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == false
696
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == false
697
+ eigenclass = class << self ; self ; end
698
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == false
699
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == false
700
+ end
701
+ module ModuleProof2
702
+ extend ModuleCluster::Define::ClassCluster::Mock18
703
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == false
704
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == false
705
+ eigenclass = class << self ; self ; end
706
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == false
707
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == false
708
+ end
709
+ class ClassProof
710
+ include ModuleCluster::Define::ClassCluster::Mock18
711
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == true
712
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == true
713
+ eigenclass = class << self ; self ; end
714
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == true
715
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == true
716
+ end
717
+ class ClassProof2
718
+ extend ModuleCluster::Define::ClassCluster::Mock18
719
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == true
720
+ ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == true
721
+ eigenclass = class << self ; self ; end
722
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module1 ).should == true
723
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClassCluster::Mock18::Module2 ).should == true
724
+ end
725
+ end
726
+ end
727
+
728
+ end