facets 2.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. data/CHANGES +6 -0
  2. data/NOTES +14 -1
  3. data/Rakefile +26 -0
  4. data/demo/bench/general/bench_calls.rb +74 -0
  5. data/demo/bench/general/bench_includes.rb +25 -0
  6. data/demo/bench/general/bench_methods.rb +17 -0
  7. data/demo/bench/general/bench_pathname.rb +24 -0
  8. data/demo/bench/general/bench_range.rb +64 -0
  9. data/demo/bench/general/bench_return.rb +56 -0
  10. data/demo/bench/general/bench_yeild.rb +75 -0
  11. data/lib/{more → class}/facets/association.rb +0 -0
  12. data/lib/{more → class}/facets/autoarray.rb +0 -0
  13. data/lib/{more → class}/facets/basicobject.rb +0 -0
  14. data/lib/{more → class}/facets/buildingblock.rb +0 -44
  15. data/lib/{more → class}/facets/cachedelegator.rb +3 -0
  16. data/lib/{more → class}/facets/coroutine.rb +0 -56
  17. data/lib/{more → class}/facets/dictionary.rb +0 -0
  18. data/lib/{more → class}/facets/downloader.rb +0 -0
  19. data/lib/{more → class}/facets/filelist.rb +0 -0
  20. data/lib/{more → class}/facets/fileshell.rb +0 -0
  21. data/lib/{more → class}/facets/hashbuilder.rb +0 -0
  22. data/lib/{more → class}/facets/heap.rb +0 -0
  23. data/lib/{more → class}/facets/infinity.rb +0 -46
  24. data/lib/{more → class}/facets/interval.rb +0 -0
  25. data/lib/{more → class}/facets/ioredirect.rb +0 -0
  26. data/lib/{more → class}/facets/linkedlist.rb +0 -42
  27. data/lib/{more → class}/facets/lrucache.rb +0 -23
  28. data/lib/{more → class}/facets/minitar.rb +0 -0
  29. data/lib/{more → class}/facets/nackclass.rb +0 -0
  30. data/lib/{more → class}/facets/nullclass.rb +0 -0
  31. data/lib/{more → class}/facets/opencascade.rb +0 -70
  32. data/lib/{more → class}/facets/opencollection.rb +0 -0
  33. data/lib/class/facets/openhash.rb +41 -0
  34. data/lib/{more → class}/facets/openobject.rb +0 -121
  35. data/lib/{more → class}/facets/orderedhash.rb +0 -0
  36. data/lib/{more → class}/facets/pathlist.rb +0 -0
  37. data/lib/{more → class}/facets/pool.rb +0 -0
  38. data/lib/{more → class}/facets/pqueue.rb +0 -0
  39. data/lib/{more → class}/facets/progressbar.rb +0 -0
  40. data/lib/{more → class}/facets/recorder.rb +0 -40
  41. data/lib/{more → class}/facets/reference.rb +0 -0
  42. data/lib/{more → class}/facets/rwdelegator.rb +0 -0
  43. data/lib/{more → class}/facets/semaphore.rb +0 -0
  44. data/lib/{more → class}/facets/syncarray.rb +0 -24
  45. data/lib/{more → class}/facets/synchash.rb +1 -25
  46. data/lib/{more → class}/facets/timer.rb +0 -62
  47. data/lib/{more → class}/facets/tuple.rb +0 -60
  48. data/lib/{more → class}/facets/version.rb +0 -0
  49. data/lib/core/facets/dir/multiglob.rb +20 -5
  50. data/lib/core/facets/enumerable/cartesian.rb +2 -2
  51. data/lib/core/facets/enumerable/combination.rb +9 -1
  52. data/lib/core/facets/kernel/object.rb +1 -1
  53. data/lib/{more → mixin}/facets/binreadable.rb +0 -62
  54. data/lib/{more → mixin}/facets/buildable.rb +0 -48
  55. data/lib/mixin/facets/cloneable.rb +90 -0
  56. data/lib/{more → mixin}/facets/enumerablepass.rb +0 -81
  57. data/lib/{more → mixin}/facets/expirable.rb +0 -0
  58. data/lib/{more → mixin}/facets/fileable.rb +0 -0
  59. data/lib/{more → mixin}/facets/instantiable.rb +0 -30
  60. data/lib/{more → mixin}/facets/multiton.rb +0 -0
  61. data/lib/{more → mixin}/facets/registerable.rb +0 -0
  62. data/lib/mixin/facets/tasksystem.rb +350 -0
  63. data/lib/{more → mixin}/facets/uninheritable.rb +1 -39
  64. data/lib/{more → mixin}/facets/validation.rb +0 -0
  65. data/lib/more/facets/arguments.rb +0 -66
  66. data/lib/more/facets/attributes.rb +0 -35
  67. data/lib/more/facets/bbcode.rb +1 -31
  68. data/lib/more/facets/bytes.rb +0 -80
  69. data/lib/more/facets/class_extension.rb +0 -66
  70. data/lib/more/facets/classmethods.rb +0 -64
  71. data/lib/more/facets/compare_on.rb +0 -52
  72. data/lib/more/facets/curry.rb +0 -29
  73. data/lib/more/facets/cut.rb +0 -27
  74. data/lib/more/facets/date.rb +0 -54
  75. data/lib/more/facets/dependency.rb +0 -70
  76. data/lib/more/facets/elementor.rb +0 -67
  77. data/lib/more/facets/getoptlong.rb +0 -30
  78. data/lib/more/facets/{hash_keyize.rb → hash/keyize.rb} +0 -0
  79. data/lib/more/facets/inheritor.rb +0 -150
  80. data/lib/more/facets/instantise.rb +0 -41
  81. data/lib/more/facets/let.rb +0 -20
  82. data/lib/more/facets/memoize.rb +0 -45
  83. data/lib/more/facets/multipliers.rb +0 -110
  84. data/lib/more/facets/ostruct.rb +0 -124
  85. data/lib/more/facets/random.rb +0 -153
  86. data/lib/more/facets/rbconfig.rb +55 -0
  87. data/lib/more/facets/set.rb +27 -0
  88. data/lib/more/facets/snapshot.rb +0 -30
  89. data/lib/more/facets/stylize.rb +0 -147
  90. data/lib/more/facets/times.rb +0 -98
  91. data/lib/more/facets/tracepoint.rb +194 -0
  92. data/lib/more/facets/typecast.rb +0 -63
  93. data/lib/more/facets/ziputils.rb +7 -0
  94. data/log/Changelog-0.txt +239 -0
  95. data/log/Changelog-1.txt +450 -0
  96. data/log/Changelog.txt +841 -0
  97. data/log/Fixme.txt +18 -0
  98. data/log/Testlog.txt +188 -0
  99. data/log/Todo.txt +326 -0
  100. data/meta/MANIFEST +1 -1
  101. data/meta/VERSION +1 -0
  102. data/meta/authors +48 -0
  103. data/meta/description +8 -0
  104. data/meta/project.yaml +11 -5
  105. data/task/install +4 -2
  106. data/task/rdoc +5 -0
  107. data/task/test +40 -0
  108. data/test/{unit → class}/test_association.rb +0 -0
  109. data/test/{unit → class}/test_autoarray.rb +0 -0
  110. data/test/{unit → class}/test_basicobject.rb +0 -0
  111. data/test/{unit → class}/test_buildingblock.rb +1 -0
  112. data/test/{unit → class}/test_coroutine.rb +0 -0
  113. data/test/{unit → class}/test_dictionary.rb +0 -0
  114. data/test/{unit → class}/test_infinity.rb +0 -0
  115. data/test/{unit → class}/test_interval.rb +0 -0
  116. data/test/{unit → class}/test_linkedlist.rb +1 -1
  117. data/test/{unit → class}/test_lrucache.rb +3 -0
  118. data/test/{unit → class}/test_opencascade.rb +0 -0
  119. data/test/{unit → class}/test_openobject.rb +0 -0
  120. data/test/{unit → class}/test_recorder.rb +0 -1
  121. data/test/{unit → class}/test_syncarray.rb +2 -4
  122. data/test/{unit → class}/test_synchash.rb +2 -4
  123. data/test/{unit → class}/test_timer.rb +0 -1
  124. data/test/{unit → class}/test_tuple.rb +0 -0
  125. data/test/{unit → core}/array/test_delete.rb +0 -0
  126. data/test/{unit → core}/array/test_indexable.rb +0 -0
  127. data/test/{unit → core}/array/test_merge.rb +0 -0
  128. data/test/{unit → core}/array/test_only.rb +0 -0
  129. data/test/{unit → core}/array/test_pad.rb +0 -0
  130. data/test/{unit → core}/array/test_rotate.rb +0 -0
  131. data/test/{unit → core}/array/test_select.rb +0 -0
  132. data/test/{unit → core}/array/test_stackable.rb +0 -0
  133. data/test/{unit/binding/test_cflow.rb → core/binding/test_caller.rb} +2 -2
  134. data/test/{unit → core}/binding/test_defined.rb +0 -0
  135. data/test/{unit → core}/binding/test_eval.rb +0 -0
  136. data/test/{unit → core}/binding/test_here.rb +0 -0
  137. data/test/{unit → core}/binding/test_self.rb +0 -0
  138. data/test/{unit → core}/binding/test_vars.rb +0 -0
  139. data/test/{unit → core}/class/test_descendents.rb +0 -0
  140. data/test/{unit → core}/class/test_initializer.rb +0 -0
  141. data/test/{unit → core}/class/test_remove_descendents.rb +0 -0
  142. data/test/{unit → core}/comparable/test_bound.rb +0 -0
  143. data/test/{unit → core}/comparable/test_cmp.rb +0 -0
  144. data/test/{unit → core}/dir/test_parent.rb +0 -0
  145. data/test/{unit → core}/dir/test_recurse.rb +0 -0
  146. data/test/{unit → core}/dir/test_traverse.rb +0 -0
  147. data/test/{unit → core}/enumerable/test_cartesian.rb +0 -0
  148. data/test/{unit → core}/enumerable/test_collect.rb +0 -0
  149. data/test/{unit → core}/enumerable/test_combination.rb +0 -0
  150. data/test/{unit → core}/enumerable/test_count.rb +0 -0
  151. data/test/{unit → core}/enumerable/test_each.rb +0 -0
  152. data/test/{unit → core}/enumerable/test_mash.rb +0 -0
  153. data/test/{unit → core}/enumerable/test_permutation.rb +0 -0
  154. data/test/{unit → core}/enumerable/test_probability.rb +0 -0
  155. data/test/{unit → core}/enumerable/test_split.rb +0 -0
  156. data/test/{unit → core}/exception/test_detail.rb +0 -0
  157. data/test/{unit → core}/file/test_null.rb +0 -0
  158. data/test/{unit → core}/file/test_read.rb +0 -0
  159. data/test/{unit → core}/file/test_sanitize.rb +0 -0
  160. data/test/{unit → core}/file/test_split_all.rb +0 -0
  161. data/test/{unit → core}/file/test_write.rb +0 -0
  162. data/test/{unit → core}/filetest/test_root.rb +0 -0
  163. data/test/{unit → core}/hash/test_alias.rb +0 -0
  164. data/test/{unit → core}/hash/test_at.rb +0 -0
  165. data/test/{unit → core}/hash/test_autonew.rb +0 -0
  166. data/test/core/hash/test_collate.rb +33 -0
  167. data/test/{unit → core}/hash/test_delete.rb +0 -0
  168. data/test/{unit → core}/hash/test_each_with_key.rb +0 -0
  169. data/test/{unit → core}/hash/test_has_keys.rb +0 -0
  170. data/test/{unit → core}/hash/test_insert.rb +0 -0
  171. data/test/{unit → core}/hash/test_inverse.rb +0 -0
  172. data/test/{unit → core}/hash/test_op.rb +0 -0
  173. data/test/{unit → core}/hash/test_rekey.rb +0 -0
  174. data/test/{unit → core}/hash/test_reverse_merge.rb +0 -0
  175. data/test/{unit → core}/hash/test_select.rb +0 -0
  176. data/test/{unit → core}/hash/test_swap.rb +0 -0
  177. data/test/{unit → core}/hash/test_traverse.rb +0 -0
  178. data/test/{unit → core}/hash/test_update.rb +0 -0
  179. data/test/{unit → core}/hash/test_weave.rb +0 -0
  180. data/test/{unit → core}/hash/test_zipnew.rb +0 -0
  181. data/test/{unit → core}/integer/test_bitmask.rb +0 -0
  182. data/test/{unit → core}/integer/test_factorial.rb +0 -0
  183. data/test/{unit → core}/integer/test_multiple.rb +0 -0
  184. data/test/{unit → core}/integer/test_of.rb +0 -0
  185. data/test/{unit → core}/kernel/test_callstack.rb +0 -0
  186. data/test/{unit → core}/kernel/test_constant.rb +0 -0
  187. data/test/{unit → core}/kernel/test_deepcopy.rb +0 -0
  188. data/test/{unit → core}/kernel/test_instance.rb +0 -0
  189. data/test/{unit → core}/kernel/test_metaid.rb +0 -0
  190. data/test/{unit → core}/kernel/test_object.rb +1 -1
  191. data/test/{unit → core}/kernel/test_populate.rb +0 -0
  192. data/test/{unit → core}/kernel/test_report.rb +0 -0
  193. data/test/{unit → core}/kernel/test_returning.rb +0 -0
  194. data/test/{unit → core}/kernel/test_silence.rb +0 -0
  195. data/test/{unit → core}/kernel/test_super.rb +0 -0
  196. data/test/{unit → core}/kernel/test_tap.rb +0 -0
  197. data/test/{unit → core}/kernel/test_val.rb +0 -0
  198. data/test/{unit → core}/kernel/test_withattr.rb +0 -0
  199. data/test/{unit → core}/matchdata/test_match.rb +0 -0
  200. data/test/{unit → core}/matchdata/test_matchset.rb +0 -0
  201. data/test/{unit → core}/module/test_abstract.rb +0 -0
  202. data/test/{unit → core}/module/test_alias.rb +0 -0
  203. data/test/{unit → core}/module/test_cattr.rb +0 -0
  204. data/test/{unit → core}/module/test_clone.rb +0 -0
  205. data/test/{unit → core}/module/test_include.rb +0 -0
  206. data/test/{unit → core}/module/test_modify.rb +0 -0
  207. data/test/{unit → core}/module/test_name.rb +0 -0
  208. data/test/{unit → core}/module/test_traits.rb +0 -0
  209. data/test/{unit → core}/numeric/test_round.rb +0 -0
  210. data/test/{unit → core}/proc/test_bind.rb +0 -0
  211. data/test/{unit → core}/proc/test_compose.rb +0 -0
  212. data/test/{unit → core}/range/test_combine.rb +0 -0
  213. data/test/{unit → core}/range/test_overlap.rb +0 -0
  214. data/test/{unit → core}/regexp/test_arity.rb +0 -0
  215. data/test/{unit → core}/string/test_align.rb +0 -0
  216. data/test/{unit → core}/string/test_blank.rb +0 -0
  217. data/test/{unit → core}/string/test_bracket.rb +0 -0
  218. data/test/{unit → core}/string/test_case.rb +0 -0
  219. data/test/{unit → core}/string/test_crypt.rb +0 -0
  220. data/test/{unit → core}/string/test_filter.rb +0 -0
  221. data/test/{unit → core}/string/test_indexable.rb +0 -0
  222. data/test/{unit → core}/string/test_interpolate.rb +0 -0
  223. data/test/{unit → core}/string/test_natcmp.rb +0 -0
  224. data/test/{unit → core}/string/test_nchar.rb +0 -0
  225. data/test/{unit → core}/string/test_op.rb +0 -0
  226. data/test/{unit → core}/string/test_partitions.rb +0 -0
  227. data/test/{unit → core}/string/test_range.rb +0 -0
  228. data/test/{unit → core}/string/test_regesc.rb +0 -0
  229. data/test/{unit → core}/string/test_scan.rb +0 -0
  230. data/test/{unit → core}/string/test_stackable.rb +0 -0
  231. data/test/{unit → core}/string/test_tabs.rb +0 -0
  232. data/test/{unit → core}/string/test_wrap.rb +0 -0
  233. data/test/{unit → core}/symbol/test_chomp.rb +0 -0
  234. data/test/{unit → core}/symbol/test_generate.rb +0 -0
  235. data/test/{unit → core}/symbol/test_not.rb +0 -0
  236. data/test/{unit → core}/symbol/test_shadow.rb +0 -0
  237. data/test/{unit → core}/symbol/test_succ.rb +0 -0
  238. data/test/{unit → core}/symbol/test_to_proc.rb +0 -0
  239. data/test/{unit → core}/test_1stclassmethod.rb +0 -0
  240. data/test/{unit → core}/test_boolean.rb +0 -0
  241. data/test/{unit → core}/test_conversion.rb +0 -0
  242. data/test/{unit → core}/test_functor.rb +0 -0
  243. data/test/{unit → core}/time/test_change.rb +0 -0
  244. data/test/{unit → core}/time/test_elapse.rb +0 -0
  245. data/test/{unit → core}/time/test_stamp.rb +0 -0
  246. data/test/{unit → mixin}/test_binreadable.rb +0 -0
  247. data/test/{unit → mixin}/test_buildable.rb +1 -0
  248. data/test/mixin/test_cloneable.rb +41 -0
  249. data/test/{unit → mixin}/test_enumerablepass.rb +0 -0
  250. data/test/{unit → mixin}/test_instantiable.rb +2 -1
  251. data/test/{unit → mixin}/test_multiton.rb +0 -0
  252. data/test/{unit → mixin}/test_uninheritable.rb +1 -2
  253. data/test/{unit → more/hash}/test_keyize.rb +1 -1
  254. data/test/{unit → more}/test_advice.rb +0 -0
  255. data/test/{unit → more}/test_annotations.rb +0 -0
  256. data/test/{unit → more}/test_ansicode.rb +0 -0
  257. data/test/{unit → more}/test_aop.rb +0 -0
  258. data/test/{unit → more}/test_arguments.rb +1 -0
  259. data/test/{unit → more}/test_attributes.rb +2 -2
  260. data/test/{unit → more}/test_bbcode.rb +1 -0
  261. data/test/{unit → more}/test_bytes.rb +1 -0
  262. data/test/{unit → more}/test_class_extension.rb +2 -1
  263. data/test/{unit → more}/test_classmethods.rb +2 -1
  264. data/test/{unit → more}/test_compare_on.rb +0 -1
  265. data/test/{unit → more}/test_continuation.rb +0 -0
  266. data/test/{unit → more}/test_crypt.rb +0 -0
  267. data/test/{unit → more}/test_curry.rb +1 -0
  268. data/test/{unit → more}/test_cut.rb +2 -1
  269. data/test/{unit → more}/test_date.rb +1 -1
  270. data/test/{unit → more}/test_dependency.rb +2 -2
  271. data/test/{unit → more}/test_elementor.rb +1 -1
  272. data/test/{unit → more}/test_getoptlong.rb +1 -0
  273. data/test/{unit → more}/test_inheritor.rb +1 -1
  274. data/test/{unit → more}/test_instantise.rb +2 -1
  275. data/test/{unit → more}/test_interface.rb +0 -0
  276. data/test/{unit → more}/test_let.rb +0 -1
  277. data/test/{unit → more}/test_memoize.rb +2 -3
  278. data/test/{unit → more}/test_multipliers.rb +1 -1
  279. data/test/{unit → more}/test_namespace.rb +0 -0
  280. data/test/{unit → more}/test_ostruct.rb +0 -0
  281. data/test/{unit → more}/test_overload.rb +0 -0
  282. data/test/{unit → more}/test_paramix.rb +0 -0
  283. data/test/{unit → more}/test_prototype.rb +0 -0
  284. data/test/more/test_random.rb +146 -0
  285. data/test/{unit → more}/test_snapshot.rb +0 -3
  286. data/test/{unit → more}/test_stylize.rb +1 -2
  287. data/test/{unit → more}/test_thread.rb +0 -0
  288. data/test/{unit → more}/test_times.rb +2 -2
  289. data/test/{unit → more}/test_typecast.rb +0 -3
  290. metadata +1117 -1098
  291. data/lib/more/facets/cloneable.rb +0 -75
  292. data/log/changelog.txt +0 -0
  293. data/meta/facets.roll +0 -4
  294. data/meta/google_ad.html +0 -15
  295. data/meta/icli.yaml +0 -17
  296. data/task/changes +0 -29
  297. data/task/clean +0 -17
  298. data/task/clobber/package +0 -10
  299. data/task/log +0 -17
  300. data/task/prepare +0 -7
  301. data/task/publish +0 -43
  302. data/task/release +0 -10
  303. data/task/stamp +0 -33
  304. data/task/stats +0 -138
  305. data/task/test/cross +0 -309
  306. data/task/test/each +0 -42
  307. data/task/test/load +0 -30
  308. data/task/test/pairs +0 -50
  309. data/task/test/solo +0 -294
  310. data/task/test/syntax +0 -31
  311. data/task/test/whole +0 -34
  312. data/test/unit/hash/test_collate.rb +0 -31
  313. data/test/unit/test_random.rb +0 -149
@@ -12,7 +12,7 @@ class TCKernel < Test::Unit::TestCase
12
12
 
13
13
  def test_object_hexid
14
14
  o = Object.new
15
- assert( o.inspect.index( o.object_hexid ) )
15
+ assert( o.inspect.index(o.object_hexid) )
16
16
  end
17
17
 
18
18
  def test__class__
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -37,3 +37,4 @@ class TestBuildable < Test::Unit::TestCase
37
37
  end
38
38
 
39
39
  end
40
+
@@ -0,0 +1,41 @@
1
+ require 'facets/cloneable'
2
+ require 'test/unit'
3
+
4
+ class Foo
5
+ include Cloneable
6
+ def initialize
7
+ @bar=[]
8
+ end
9
+ def bar_id
10
+ @bar.object_id
11
+ end
12
+ end
13
+
14
+ class TestCloneable < Test::Unit::TestCase
15
+ def test_dup
16
+ a=Foo.new
17
+ b=a.dup
18
+ assert_not_equal a.bar_id,b.bar_id
19
+
20
+ a.taint
21
+ b=a.dup
22
+ assert b.tainted?, "b should be tainted"
23
+
24
+ a.freeze
25
+ b=a.dup
26
+ assert !b.frozen?, "b should not be frozen"
27
+ end
28
+ def test_clone
29
+ a=Foo.new
30
+ b=a.clone
31
+ assert_not_equal a.bar_id,b.bar_id
32
+
33
+ a.taint
34
+ b=a.dup
35
+ assert b.tainted?, "b should be tainted"
36
+
37
+ a.freeze
38
+ b=a.clone
39
+ assert b.frozen?, "b should be frozen"
40
+ end
41
+ end
@@ -1,4 +1,4 @@
1
- # Test lib/facets/instantiable.rb
1
+ # Test facets/instantiable.rb
2
2
 
3
3
  require 'facets/instantiable.rb'
4
4
  require 'test/unit'
@@ -21,3 +21,4 @@ class TestInstantiable < Test::Unit::TestCase
21
21
  end
22
22
 
23
23
  end
24
+
File without changes
@@ -1,7 +1,6 @@
1
- # Test lib/facets/uninheritable.rb
1
+ # Test facets/uninheritable.rb
2
2
 
3
3
  require 'facets/uninheritable.rb'
4
-
5
4
  require 'test/unit'
6
5
 
7
6
  class TC_Uninheritable < Test::Unit::TestCase
@@ -1,6 +1,6 @@
1
1
  # Test for facets/hash/keyize
2
2
 
3
- require 'facets/hash_keyize.rb'
3
+ require 'facets/hash/keyize.rb'
4
4
 
5
5
  require 'test/unit'
6
6
 
File without changes
File without changes
File without changes
File without changes
@@ -53,3 +53,4 @@ class TestArguments < Test::Unit::TestCase
53
53
  assert_equal({'q'=>true,'aq'=>'5'},flags)
54
54
  end
55
55
  end
56
+
@@ -1,7 +1,6 @@
1
- # Test facets/attributes.rb
1
+ # Test facets/attributes.rb.
2
2
 
3
3
  require 'facets/attributes.rb'
4
-
5
4
  require 'test/unit'
6
5
 
7
6
  class TC_Attributes_Using_Attr < Test::Unit::TestCase
@@ -24,3 +23,4 @@ class TC_Attributes_Using_Attr_Accessor < Test::Unit::TestCase
24
23
  assert_equal( [:x], A.instance_attributes )
25
24
  end
26
25
  end
26
+
@@ -18,3 +18,4 @@ class TC_BBCode < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  end
21
+
@@ -68,3 +68,4 @@ class TC_Numeric < Test::Unit::TestCase
68
68
  end
69
69
 
70
70
  end
71
+
@@ -1,4 +1,4 @@
1
- # Test lib/facets/class_extension.rb
1
+ # Test facets/class_extension.rb.
2
2
 
3
3
  require 'facets/class_extension.rb'
4
4
  require 'test/unit'
@@ -54,3 +54,4 @@ class TC_ClassMethods < Test::Unit::TestCase
54
54
  end
55
55
 
56
56
  end
57
+
@@ -1,4 +1,4 @@
1
- # Test facets/classmethods.rb
1
+ # Test facets/classmethods.rb.
2
2
 
3
3
  require 'facets/classmethods.rb'
4
4
  require 'test/unit'
@@ -53,3 +53,4 @@ class TC_ClassMethods < Test::Unit::TestCase
53
53
  end
54
54
 
55
55
  end
56
+
@@ -42,4 +42,3 @@ class TestModuleCompare < Test::Unit::TestCase
42
42
 
43
43
  end
44
44
 
45
-
File without changes
File without changes
@@ -25,3 +25,4 @@ class TestCurry < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  end
28
+
@@ -1,4 +1,4 @@
1
- # Test facets/cut.rb
1
+ # Test facets/cut.rb.
2
2
 
3
3
  require 'facets/cut.rb'
4
4
  require 'test/unit'
@@ -19,3 +19,4 @@ class TestCut < Test::Unit::TestCase
19
19
  end
20
20
 
21
21
  end
22
+
@@ -21,7 +21,6 @@ class TC_Date < Test::Unit::TestCase
21
21
  assert_equal( "2005-04-20", @d.to_s )
22
22
  end
23
23
 
24
-
25
24
  def test_stamp_1
26
25
  assert_equal( "2005-04-20", @d.stamp )
27
26
  end
@@ -43,3 +42,4 @@ class TC_Date < Test::Unit::TestCase
43
42
  end
44
43
 
45
44
  end
45
+
@@ -1,7 +1,6 @@
1
- # Test lib/facets/dependency.rb
1
+ # Test facets/dependency.rb
2
2
 
3
3
  require 'facets/dependency.rb'
4
-
5
4
  require 'test/unit'
6
5
 
7
6
  class DependableTest1 < Test::Unit::TestCase
@@ -67,3 +66,4 @@ class DependableTest1 < Test::Unit::TestCase
67
66
  end
68
67
 
69
68
  end
69
+
@@ -1,4 +1,4 @@
1
- # Test facets/elementor.rb
1
+ # Test facets/elementor.rb.
2
2
 
3
3
  require 'facets/elementor.rb'
4
4
  require 'test/unit'
@@ -23,3 +23,4 @@ class TestGetoptShort < Test::Unit::TestCase
23
23
  end
24
24
 
25
25
  end
26
+
@@ -1,7 +1,6 @@
1
1
  # Test facets/inheritor.rb
2
2
 
3
3
  require 'facets/inheritor.rb'
4
-
5
4
  require 'test/unit'
6
5
 
7
6
  #class TC_Inheritor_01 < Test::Unit::TestCase
@@ -140,3 +139,4 @@ class TC_Inheritor_06 < Test::Unit::TestCase
140
139
  assert_equal( [1,4], CC2.koko )
141
140
  end
142
141
  end
142
+
@@ -1,4 +1,4 @@
1
- # Test lib/facets/instantise.rb
1
+ # Test facets/instantise.rb
2
2
 
3
3
  require 'facets/instantise.rb'
4
4
  require 'test/unit'
@@ -29,3 +29,4 @@ class TC_PromoteSelf < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  end
32
+
File without changes
@@ -16,4 +16,3 @@ class TCthis < Test::Unit::TestCase
16
16
 
17
17
  end
18
18
 
19
-
@@ -1,10 +1,8 @@
1
- # Test lib/facets/memoize.rb
1
+ # Test facets/memoize.rb
2
2
 
3
3
  require 'facets/memoize.rb'
4
4
  require 'test/unit'
5
5
 
6
- # test
7
-
8
6
  class TC_Memoize < Test::Unit::TestCase
9
7
 
10
8
  class T
@@ -35,3 +33,4 @@ class TC_Memoize < Test::Unit::TestCase
35
33
  end
36
34
 
37
35
  end
36
+
@@ -1,7 +1,6 @@
1
1
  # Test facets/multipliers.rb
2
2
 
3
3
  require 'facets/multipliers.rb'
4
-
5
4
  require 'test/unit'
6
5
 
7
6
  class TC_Multipliers < Test::Unit::TestCase
@@ -99,3 +98,4 @@ class TC_Multipliers < Test::Unit::TestCase
99
98
  end
100
99
 
101
100
  end
101
+
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,146 @@
1
+ # Test for facets/random.rb
2
+
3
+ require 'facets/random.rb'
4
+ require 'test/unit'
5
+
6
+ class TestKernelRandom < Test::Unit::TestCase
7
+
8
+ def test_maybe
9
+ assert_nothing_raised { maybe }
10
+ end
11
+
12
+ end
13
+
14
+ class TestArrayRandom < Test::Unit::TestCase
15
+
16
+ def test_at_rand
17
+ a = [1,2,3,4,5]
18
+ 20.times{ assert_nothing_raised{ a.at_rand } }
19
+ 20.times{ assert( a.include?( a.at_rand ) ) }
20
+ end
21
+
22
+ def test_at_rand!
23
+ a = ['a','b','c']
24
+ assert_equal( 1, a.at_rand!.length )
25
+ assert_equal( 2, a.length )
26
+ end
27
+
28
+ def test_pick
29
+ a = ['a','b','c']
30
+ assert_equal( 3, a.pick(3).length )
31
+ assert_equal( 3, a.length )
32
+ a = ['a','b','c']
33
+ assert_equal( 3, a.pick(4).length )
34
+ assert_equal( 3, a.length )
35
+ end
36
+
37
+ def test_pick!
38
+ a = ['a','b','c']
39
+ assert_equal( 3, a.pick!(3).length )
40
+ assert_equal( 0, a.length )
41
+ a = ['a','b','c']
42
+ assert_equal( 3, a.pick!(4).length )
43
+ assert_equal( 0, a.length )
44
+ end
45
+
46
+ def test_rand_index
47
+ 10.times {
48
+ i = [1,2,3].rand_index
49
+ assert( (0..2).include?(i) )
50
+ }
51
+ end
52
+
53
+ def test_rand_subset
54
+ 10.times {
55
+ a = [1,2,3,4].rand_subset
56
+ assert( a.size <= 4 )
57
+ }
58
+ end
59
+
60
+ def test_shuffle
61
+ a = [1,2,3,4,5]
62
+ b = a.shuffle
63
+ assert_equal( a, b.sort )
64
+ end
65
+
66
+ def test_shuffle!
67
+ a = [1,2,3,4,5]
68
+ b = a.dup
69
+ b.shuffle!
70
+ assert_equal( a, b.sort )
71
+ end
72
+
73
+ end
74
+
75
+ class TestHashRandom < Test::Unit::TestCase
76
+
77
+ def test_rand_key
78
+ h = { :a=>1, :b=>2, :c=>3 }
79
+ 10.times { assert( h.keys.include?( h.rand_key ) ) }
80
+ end
81
+
82
+ def test_rand_pair
83
+ h = { :a=>1, :b=>2, :c=>3 }
84
+ 10.times { k,v = *h.rand_pair; assert_equal( v, h[k] ) }
85
+ end
86
+
87
+ def test_rand_value
88
+ h = { :a=>1, :b=>2, :c=>3 }
89
+ 10.times { assert( h.values.include?( h.rand_value ) ) }
90
+ end
91
+
92
+ def test_shuffle
93
+ h = {:a=>1, :b=>2, :c=>3 }
94
+ assert_nothing_raised { h.shuffle }
95
+ end
96
+
97
+ def test_shuffle!
98
+ h = {:a=>1, :b=>2, :c=>3 }
99
+ assert_nothing_raised { h.shuffle! }
100
+ end
101
+
102
+ end
103
+
104
+ class TestStringRandom < Test::Unit::TestCase
105
+
106
+ def test_String_rand_letter
107
+ 100.times { |i| assert( /[a-zA-z]/ =~ String.rand_letter ) }
108
+ end
109
+
110
+ def test_at_rand
111
+ a = '12345'
112
+ 20.times{ assert_nothing_raised{ a.at_rand } }
113
+ 20.times{ assert( a.include?( a.at_rand ) ) }
114
+ end
115
+
116
+ def test_at_rand!
117
+ x = 'ab'
118
+ r = x.at_rand!
119
+ assert( r == 'a' || r == 'b' )
120
+ assert( x == 'a' || x == 'b' )
121
+ end
122
+
123
+ def test_rand_index
124
+ 10.times { assert( (0..2).include?( 'abc'.rand_index ) ) }
125
+ end
126
+
127
+ def test_rand_byte
128
+ s = 'ab'
129
+ r = s.rand_byte
130
+ assert( r == 97 || r == 98 )
131
+ end
132
+
133
+ def test_rand_byte
134
+ s = 'ab'
135
+ r = s.rand_byte
136
+ assert( r == 97 || r == 98 )
137
+ assert( s = 'a' || s = 'b' )
138
+ end
139
+
140
+ def test_shuffle
141
+ assert_nothing_raised { "abc 123".shuffle }
142
+ #assert_nothing_raised { "abc 123".shuffle! }
143
+ end
144
+
145
+ end
146
+