facets 1.8.8 → 1.8.20

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 (448) hide show
  1. data/{doc/COPYING → COPYING} +0 -0
  2. data/PROJECT +18 -11
  3. data/README +8 -14
  4. data/Rakefile +3 -7
  5. data/VERSION +1 -1
  6. data/doc/AUTHORS +6 -1
  7. data/doc/{HISTORY.txt → ChangeLog} +96 -0
  8. data/doc/{HISTORY.1 → History} +0 -0
  9. data/lib/facet/array/pad.rb +1 -0
  10. data/lib/facet/dir/self/multiglob_r.rb +1 -0
  11. data/lib/facet/dir/self/multiglob_with_default.rb +1 -0
  12. data/lib/facet/string/capitalize_all.rb +1 -0
  13. data/lib/facet/string/cleave.rb +1 -0
  14. data/lib/facets/core/array/pad.rb +76 -0
  15. data/lib/facets/core/dir/self/ls_r.rb +2 -3
  16. data/lib/facets/core/dir/self/multiglob.rb +90 -12
  17. data/lib/facets/core/dir/self/{multiglob_recurse.rb → multiglob_r.rb} +1 -1
  18. data/lib/facets/core/dir/self/multiglob_with_default.rb +3 -0
  19. data/lib/facets/core/enumerable/accumulate.rb +1 -3
  20. data/lib/facets/core/enumerable/cart.rb +28 -53
  21. data/lib/facets/core/enumerable/graph.rb +1 -4
  22. data/lib/facets/core/enumerable/self/cart.rb +5 -117
  23. data/lib/facets/core/enumerable/self/cartesian_product.rb +3 -3
  24. data/lib/facets/core/file/self/create.rb +1 -3
  25. data/lib/facets/core/hash/rekey.rb +1 -5
  26. data/lib/facets/core/kernel/ask.rb +2 -2
  27. data/lib/facets/core/kernel/autoreload.rb +3 -5
  28. data/lib/facets/core/module/attr_tester.rb +40 -12
  29. data/lib/facets/core/module/on_included.rb +1 -3
  30. data/lib/facets/core/nilclass/op_cmp.rb +2 -1
  31. data/lib/facets/core/string/capitalize_all.rb +30 -0
  32. data/lib/facets/core/string/capitalized.rb +2 -4
  33. data/lib/facets/core/string/cleave.rb +66 -0
  34. data/lib/facets/core/symbol/self/generate.rb +5 -4
  35. data/lib/facets/core/symbol/to_s.rb +3 -1
  36. data/lib/facets/more/aspects.rb +4 -8
  37. data/lib/facets/more/expirable.rb +2 -2
  38. data/lib/facets/more/lrucache.rb +173 -173
  39. data/lib/facets/more/openobject.rb +1 -1
  40. data/lib/facets/more/pool.rb +2 -2
  41. data/lib/facets/more/syncarray.rb +3 -3
  42. data/lib/facets/more/synchash.rb +3 -3
  43. data/lib/facets/more/uploadutils.rb +14 -16
  44. data/lib/facets/yore/enumerable/cross.rb +117 -0
  45. data/test/lib/facets/core/array/test_at_rand.rb +34 -0
  46. data/test/lib/facets/core/array/test_delete_unless.rb +28 -0
  47. data/test/lib/facets/core/array/test_delete_values.rb +28 -0
  48. data/test/lib/facets/core/array/test_delete_values_at.rb +31 -0
  49. data/test/lib/facets/core/array/test_first.rb +46 -0
  50. data/test/lib/facets/core/array/test_head.rb +42 -0
  51. data/test/lib/facets/core/array/test_last_index.rb +26 -0
  52. data/test/lib/facets/core/array/test_merge.rb +35 -0
  53. data/test/lib/facets/core/array/test_mid.rb +33 -0
  54. data/test/lib/facets/core/array/test_middle.rb +29 -0
  55. data/test/lib/facets/core/array/test_op_fetch.rb +35 -0
  56. data/test/lib/facets/core/array/test_pad.rb +48 -0
  57. data/test/lib/facets/core/array/test_pick.rb +40 -0
  58. data/test/lib/facets/core/array/test_pos.rb +28 -0
  59. data/test/lib/facets/core/array/test_pot.rb +28 -0
  60. data/test/lib/facets/core/array/test_pull.rb +28 -0
  61. data/test/lib/facets/core/array/test_rand_index.rb +29 -0
  62. data/test/lib/facets/core/array/test_rand_subset.rb +29 -0
  63. data/test/lib/facets/core/array/test_range.rb +32 -0
  64. data/test/lib/facets/core/array/test_rotate.rb +36 -0
  65. data/test/lib/facets/core/array/test_select.rb +28 -0
  66. data/test/lib/facets/core/array/test_shuffle.rb +35 -0
  67. data/test/lib/facets/core/array/test_thru.rb +27 -0
  68. data/test/lib/facets/core/array/test_to_b.rb +27 -0
  69. data/test/lib/facets/core/array/test_to_h.rb +33 -0
  70. data/test/lib/facets/core/array/test_to_hash.rb +27 -0
  71. data/test/lib/facets/core/binding/self/test_of_caller.rb +35 -0
  72. data/test/lib/facets/core/binding/test___LINE__.rb +43 -0
  73. data/test/lib/facets/core/binding/test_call_stack.rb +34 -0
  74. data/test/lib/facets/core/binding/test_called.rb +30 -0
  75. data/test/lib/facets/core/binding/test_caller.rb +35 -0
  76. data/test/lib/facets/core/binding/test_defined.rb +34 -0
  77. data/test/lib/facets/core/binding/test_eval.rb +34 -0
  78. data/test/lib/facets/core/binding/test_local_variables.rb +34 -0
  79. data/test/lib/facets/core/binding/test_method_name.rb +34 -0
  80. data/test/lib/facets/core/binding/test_op_fetch.rb +34 -0
  81. data/test/lib/facets/core/binding/test_op_store.rb +35 -0
  82. data/test/lib/facets/core/binding/test_self.rb +34 -0
  83. data/test/lib/facets/core/class/test_cattr.rb +63 -0
  84. data/test/lib/facets/core/class/test_descendents.rb +30 -0
  85. data/test/lib/facets/core/class/test_method_name.rb +26 -0
  86. data/test/lib/facets/core/class/test_remove_descendents.rb +32 -0
  87. data/test/lib/facets/core/class/test_unix_path.rb +26 -0
  88. data/test/lib/facets/core/comparable/test_at_least.rb +34 -0
  89. data/test/lib/facets/core/comparable/test_clip.rb +44 -0
  90. data/test/lib/facets/core/comparable/test_cmp.rb +28 -0
  91. data/test/lib/facets/core/continuation/self/test_create.rb +26 -0
  92. data/test/lib/facets/core/date/test_days_in_month.rb +30 -0
  93. data/test/lib/facets/core/date/test_days_of_month.rb +30 -0
  94. data/test/lib/facets/core/date/test_stamp.rb +38 -0
  95. data/test/lib/facets/core/date/test_to_date.rb +30 -0
  96. data/test/lib/facets/core/date/test_to_s.rb +30 -0
  97. data/test/lib/facets/core/date/test_to_time.rb +30 -0
  98. data/test/lib/facets/core/dir/self/test_ancestor.rb +26 -0
  99. data/test/lib/facets/core/dir/self/test_ascend.rb +41 -0
  100. data/test/lib/facets/core/enumerable/self/test_cart.rb +44 -0
  101. data/test/lib/facets/core/enumerable/self/test_combinations.rb +46 -0
  102. data/test/lib/facets/core/enumerable/self/test_cross.rb +31 -0
  103. data/test/lib/facets/core/enumerable/test_cart.rb +49 -0
  104. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +27 -0
  105. data/test/lib/facets/core/enumerable/test_commonality.rb +31 -0
  106. data/test/lib/facets/core/enumerable/test_compact_collect.rb +27 -0
  107. data/test/lib/facets/core/enumerable/test_count.rb +38 -0
  108. data/test/lib/facets/core/enumerable/test_cross.rb +30 -0
  109. data/test/lib/facets/core/enumerable/test_each_by.rb +71 -0
  110. data/test/lib/facets/core/enumerable/test_each_combination.rb +29 -0
  111. data/test/lib/facets/core/enumerable/test_each_pair.rb +29 -0
  112. data/test/lib/facets/core/enumerable/test_each_slice.rb +57 -0
  113. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +29 -0
  114. data/test/lib/facets/core/enumerable/test_eachn.rb +34 -0
  115. data/test/lib/facets/core/enumerable/test_entropy.rb +26 -0
  116. data/test/lib/facets/core/enumerable/test_every.rb +35 -0
  117. data/test/lib/facets/core/enumerable/test_ew.rb +31 -0
  118. data/test/lib/facets/core/enumerable/test_filter_collect.rb +31 -0
  119. data/test/lib/facets/core/enumerable/test_find_collisions.rb +30 -0
  120. data/test/lib/facets/core/enumerable/test_frequency.rb +27 -0
  121. data/test/lib/facets/core/enumerable/test_graph.rb +30 -0
  122. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +27 -0
  123. data/test/lib/facets/core/enumerable/test_none.rb +33 -0
  124. data/test/lib/facets/core/enumerable/test_occur.rb +30 -0
  125. data/test/lib/facets/core/enumerable/test_one.rb +35 -0
  126. data/test/lib/facets/core/enumerable/test_op_pow.rb +27 -0
  127. data/test/lib/facets/core/enumerable/test_partition_by.rb +31 -0
  128. data/test/lib/facets/core/enumerable/test_permutation.rb +29 -0
  129. data/test/lib/facets/core/enumerable/test_probability.rb +27 -0
  130. data/test/lib/facets/core/enumerable/test_to_h.rb +27 -0
  131. data/test/lib/facets/core/enumerable/test_uniq_by.rb +28 -0
  132. data/test/lib/facets/core/file/self/test_create.rb +44 -0
  133. data/test/lib/facets/core/file/self/test_open_as_string.rb +50 -0
  134. data/test/lib/facets/core/file/self/test_read_list.rb +40 -0
  135. data/test/lib/facets/core/file/self/test_sanitize.rb +46 -0
  136. data/test/lib/facets/core/file/self/test_split_all.rb +27 -0
  137. data/test/lib/facets/core/float/test_round_at.rb +46 -0
  138. data/test/lib/facets/core/float/test_round_to.rb +46 -0
  139. data/test/lib/facets/core/hash/self/test_zipnew.rb +28 -0
  140. data/test/lib/facets/core/hash/test_alias.rb +31 -0
  141. data/test/lib/facets/core/hash/test_assert_has_keys.rb +27 -0
  142. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +27 -0
  143. data/test/lib/facets/core/hash/test_at.rb +28 -0
  144. data/test/lib/facets/core/hash/test_collate.rb +35 -0
  145. data/test/lib/facets/core/hash/test_each_with_index.rb +29 -0
  146. data/test/lib/facets/core/hash/test_each_with_key.rb +29 -0
  147. data/test/lib/facets/core/hash/test_graph.rb +28 -0
  148. data/test/lib/facets/core/hash/test_has_keys.rb +27 -0
  149. data/test/lib/facets/core/hash/test_has_only_keys.rb +27 -0
  150. data/test/lib/facets/core/hash/test_inverse.rb +30 -0
  151. data/test/lib/facets/core/hash/test_normalize_keys.rb +34 -0
  152. data/test/lib/facets/core/hash/test_op_fetch.rb +111 -0
  153. data/test/lib/facets/core/hash/test_op_lshift.rb +29 -0
  154. data/test/lib/facets/core/hash/test_rand_key.rb +27 -0
  155. data/test/lib/facets/core/hash/test_rand_pair.rb +27 -0
  156. data/test/lib/facets/core/hash/test_rand_value.rb +27 -0
  157. data/test/lib/facets/core/hash/test_rekey.rb +52 -0
  158. data/test/lib/facets/core/hash/test_replace_each.rb +29 -0
  159. data/test/lib/facets/core/hash/test_shuffle.rb +32 -0
  160. data/test/lib/facets/core/hash/test_slice.rb +27 -0
  161. data/test/lib/facets/core/hash/test_stringify_keys.rb +34 -0
  162. data/test/lib/facets/core/hash/test_swap.rb +27 -0
  163. data/test/lib/facets/core/hash/test_swapkey.rb +29 -0
  164. data/test/lib/facets/core/hash/test_symbolize_keys.rb +34 -0
  165. data/test/lib/facets/core/hash/test_to_h.rb +27 -0
  166. data/test/lib/facets/core/hash/test_to_ostruct.rb +30 -0
  167. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +44 -0
  168. data/test/lib/facets/core/hash/test_traverse.rb +37 -0
  169. data/test/lib/facets/core/hash/test_update_each.rb +29 -0
  170. data/test/lib/facets/core/hash/test_update_keys.rb +28 -0
  171. data/test/lib/facets/core/hash/test_update_values.rb +28 -0
  172. data/test/lib/facets/core/hash/test_weave.rb +29 -0
  173. data/test/lib/facets/core/integer/test_factorial.rb +30 -0
  174. data/test/lib/facets/core/integer/test_multiple.rb +43 -0
  175. data/test/lib/facets/core/integer/test_of.rb +28 -0
  176. data/test/lib/facets/core/integer/test_ordinal.rb +29 -0
  177. data/test/lib/facets/core/integer/test_times_collect.rb +28 -0
  178. data/test/lib/facets/core/kernel/test___class__.rb +26 -0
  179. data/test/lib/facets/core/kernel/test_as.rb +42 -0
  180. data/test/lib/facets/core/kernel/test_assign_from.rb +31 -0
  181. data/test/lib/facets/core/kernel/test_assign_with.rb +31 -0
  182. data/test/lib/facets/core/kernel/test_bool.rb +41 -0
  183. data/test/lib/facets/core/kernel/test_bug.rb +26 -0
  184. data/test/lib/facets/core/kernel/test_call_stack.rb +26 -0
  185. data/test/lib/facets/core/kernel/test_called.rb +26 -0
  186. data/test/lib/facets/core/kernel/test_callee.rb +26 -0
  187. data/test/lib/facets/core/kernel/test_constant.rb +33 -0
  188. data/test/lib/facets/core/kernel/test_copy.rb +40 -0
  189. data/test/lib/facets/core/kernel/test_deep_copy.rb +40 -0
  190. data/test/lib/facets/core/kernel/test_demo.rb +28 -0
  191. data/test/lib/facets/core/kernel/test_fn.rb +26 -0
  192. data/test/lib/facets/core/kernel/test_get_by_id.rb +28 -0
  193. data/test/lib/facets/core/kernel/test_here.rb +26 -0
  194. data/test/lib/facets/core/kernel/test_in.rb +27 -0
  195. data/test/lib/facets/core/kernel/test_instance_class.rb +27 -0
  196. data/test/lib/facets/core/kernel/test_instance_exec.rb +58 -0
  197. data/test/lib/facets/core/kernel/test_maybe.rb +26 -0
  198. data/test/lib/facets/core/kernel/test_meta_class.rb +27 -0
  199. data/test/lib/facets/core/kernel/test_metaclass.rb +27 -0
  200. data/test/lib/facets/core/kernel/test_method.rb +32 -0
  201. data/test/lib/facets/core/kernel/test_methods.rb +50 -0
  202. data/test/lib/facets/core/kernel/test_new.rb +30 -0
  203. data/test/lib/facets/core/kernel/test_object_class.rb +26 -0
  204. data/test/lib/facets/core/kernel/test_object_hexid.rb +27 -0
  205. data/test/lib/facets/core/kernel/test_qua_class.rb +27 -0
  206. data/test/lib/facets/core/kernel/test_require_all.rb +26 -0
  207. data/test/lib/facets/core/kernel/test_require_esc.rb +27 -0
  208. data/test/lib/facets/core/kernel/test_resc.rb +27 -0
  209. data/test/lib/facets/core/kernel/test_send_as.rb +26 -0
  210. data/test/lib/facets/core/kernel/test_set_from.rb +33 -0
  211. data/test/lib/facets/core/kernel/test_set_with.rb +42 -0
  212. data/test/lib/facets/core/kernel/test_silently.rb +28 -0
  213. data/test/lib/facets/core/kernel/test_singleton.rb +40 -0
  214. data/test/lib/facets/core/kernel/test_singleton_class.rb +27 -0
  215. data/test/lib/facets/core/kernel/test_super_at.rb +30 -0
  216. data/test/lib/facets/core/kernel/test_supermethod.rb +33 -0
  217. data/test/lib/facets/core/kernel/test_this.rb +26 -0
  218. data/test/lib/facets/core/kernel/test_to_b.rb +28 -0
  219. data/test/lib/facets/core/kernel/test_to_bool.rb +28 -0
  220. data/test/lib/facets/core/kernel/test_to_data.rb +59 -0
  221. data/test/lib/facets/core/kernel/test_uri.rb +30 -0
  222. data/test/lib/facets/core/kernel/test_val.rb +43 -0
  223. data/test/lib/facets/core/kernel/test_with.rb +30 -0
  224. data/test/lib/facets/core/kernel/test_with_accessor.rb +51 -0
  225. data/test/lib/facets/core/matchdata/test_match.rb +29 -0
  226. data/test/lib/facets/core/matchdata/test_matchtree.rb +37 -0
  227. data/test/lib/facets/core/module/self/test_op_add.rb +48 -0
  228. data/test/lib/facets/core/module/test_abstract.rb +36 -0
  229. data/test/lib/facets/core/module/test_alias_method_chain.rb +44 -0
  230. data/test/lib/facets/core/module/test_alias_module_function.rb +34 -0
  231. data/test/lib/facets/core/module/test_ancestor.rb +26 -0
  232. data/test/lib/facets/core/module/test_attr_tester.rb +39 -0
  233. data/test/lib/facets/core/module/test_basename.rb +26 -0
  234. data/test/lib/facets/core/module/test_by_name.rb +29 -0
  235. data/test/lib/facets/core/module/test_class_extension.rb +70 -0
  236. data/test/lib/facets/core/module/test_clone_using.rb +55 -0
  237. data/test/lib/facets/core/module/test_dirname.rb +26 -0
  238. data/test/lib/facets/core/module/test_equate_on.rb +37 -0
  239. data/test/lib/facets/core/module/test_include_as.rb +45 -0
  240. data/test/lib/facets/core/module/test_initializer.rb +32 -0
  241. data/test/lib/facets/core/module/test_instance_methods.rb +59 -0
  242. data/test/lib/facets/core/module/test_integrate.rb +35 -0
  243. data/test/lib/facets/core/module/test_memoize.rb +50 -0
  244. data/test/lib/facets/core/module/test_modspace.rb +27 -0
  245. data/test/lib/facets/core/module/test_namespace.rb +66 -0
  246. data/test/lib/facets/core/module/test_nesting.rb +36 -0
  247. data/test/lib/facets/core/module/test_new.rb +34 -0
  248. data/test/lib/facets/core/module/test_nodef.rb +30 -0
  249. data/test/lib/facets/core/module/test_on_included.rb +36 -0
  250. data/test/lib/facets/core/module/test_redef.rb +30 -0
  251. data/test/lib/facets/core/module/test_redefine_method.rb +30 -0
  252. data/test/lib/facets/core/module/test_redirect.rb +30 -0
  253. data/test/lib/facets/core/module/test_redirect_method.rb +30 -0
  254. data/test/lib/facets/core/module/test_remove.rb +30 -0
  255. data/test/lib/facets/core/module/test_rename.rb +31 -0
  256. data/test/lib/facets/core/module/test_rename_method.rb +31 -0
  257. data/test/lib/facets/core/module/test_revisal.rb +35 -0
  258. data/test/lib/facets/core/module/test_shadow_method.rb +30 -0
  259. data/test/lib/facets/core/module/test_sort_on.rb +42 -0
  260. data/test/lib/facets/core/module/test_this.rb +31 -0
  261. data/test/lib/facets/core/module/test_wrap.rb +30 -0
  262. data/test/lib/facets/core/module/test_wrap_method.rb +30 -0
  263. data/test/lib/facets/core/nilclass/test_blank.rb +26 -0
  264. data/test/lib/facets/core/nilclass/test_empty.rb +26 -0
  265. data/test/lib/facets/core/nilclass/test_include.rb +26 -0
  266. data/test/lib/facets/core/nilclass/test_op_fetch.rb +28 -0
  267. data/test/lib/facets/core/nilclass/test_size.rb +30 -0
  268. data/test/lib/facets/core/nilclass/test_to_h.rb +26 -0
  269. data/test/lib/facets/core/numeric/test_approx.rb +29 -0
  270. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +31 -0
  271. data/test/lib/facets/core/numeric/test_distance.rb +28 -0
  272. data/test/lib/facets/core/numeric/test_succ.rb +40 -0
  273. data/test/lib/facets/core/numeric/test_to_b.rb +27 -0
  274. data/test/lib/facets/core/ostruct/test___update__.rb +45 -0
  275. data/test/lib/facets/core/ostruct/test_instance_delegate.rb +34 -0
  276. data/test/lib/facets/core/ostruct/test_op_fetch.rb +33 -0
  277. data/test/lib/facets/core/proc/test_compose.rb +29 -0
  278. data/test/lib/facets/core/proc/test_op_mul.rb +34 -0
  279. data/test/lib/facets/core/proc/test_to_method.rb +44 -0
  280. data/test/lib/facets/core/range/test_to_r.rb +27 -0
  281. data/test/lib/facets/core/range/test_to_range.rb +27 -0
  282. data/test/lib/facets/core/range/test_umbrella.rb +34 -0
  283. data/test/lib/facets/core/range/test_within.rb +29 -0
  284. data/test/lib/facets/core/regexp/test_arity.rb +33 -0
  285. data/test/lib/facets/core/regexp/test_to_re.rb +27 -0
  286. data/test/lib/facets/core/regexp/test_to_regexp.rb +27 -0
  287. data/test/lib/facets/core/string/self/test_interpolate.rb +27 -0
  288. data/test/lib/facets/core/string/self/test_patterns.rb +28 -0
  289. data/test/lib/facets/core/string/self/test_rand_letter.rb +26 -0
  290. data/test/lib/facets/core/string/test_align_center.rb +34 -0
  291. data/test/lib/facets/core/string/test_at_rand.rb +35 -0
  292. data/test/lib/facets/core/string/test_basename.rb +41 -0
  293. data/test/lib/facets/core/string/test_blank.rb +27 -0
  294. data/test/lib/facets/core/string/test_bracket.rb +49 -0
  295. data/test/lib/facets/core/string/test_camelcase.rb +39 -0
  296. data/test/lib/facets/core/string/test_camelize.rb +26 -0
  297. data/test/lib/facets/core/string/test_capitalize_all.rb +26 -0
  298. data/test/lib/facets/core/string/test_capitalized.rb +26 -0
  299. data/test/lib/facets/core/string/test_chars.rb +27 -0
  300. data/test/lib/facets/core/string/test_cleave.rb +43 -0
  301. data/test/lib/facets/core/string/test_cmp.rb +30 -0
  302. data/test/lib/facets/core/string/test_demodulize.rb +38 -0
  303. data/test/lib/facets/core/string/test_divide.rb +29 -0
  304. data/test/lib/facets/core/string/test_downcase.rb +26 -0
  305. data/test/lib/facets/core/string/test_dresner.rb +32 -0
  306. data/test/lib/facets/core/string/test_each_char.rb +29 -0
  307. data/test/lib/facets/core/string/test_each_word.rb +29 -0
  308. data/test/lib/facets/core/string/test_first.rb +43 -0
  309. data/test/lib/facets/core/string/test_fold.rb +34 -0
  310. data/test/lib/facets/core/string/test_humanize.rb +26 -0
  311. data/test/lib/facets/core/string/test_indent.rb +40 -0
  312. data/test/lib/facets/core/string/test_index_all.rb +26 -0
  313. data/test/lib/facets/core/string/test_last.rb +46 -0
  314. data/test/lib/facets/core/string/test_line_wrap.rb +27 -0
  315. data/test/lib/facets/core/string/test_lines.rb +26 -0
  316. data/test/lib/facets/core/string/test_lowercase.rb +26 -0
  317. data/test/lib/facets/core/string/test_margin.rb +117 -0
  318. data/test/lib/facets/core/string/test_methodize.rb +27 -0
  319. data/test/lib/facets/core/string/test_modulize.rb +29 -0
  320. data/test/lib/facets/core/string/test_mscan.rb +30 -0
  321. data/test/lib/facets/core/string/test_natcmp.rb +30 -0
  322. data/test/lib/facets/core/string/test_nchar.rb +29 -0
  323. data/test/lib/facets/core/string/test_pathize.rb +29 -0
  324. data/test/lib/facets/core/string/test_pop.rb +47 -0
  325. data/test/lib/facets/core/string/test_pot.rb +39 -0
  326. data/test/lib/facets/core/string/test_push.rb +40 -0
  327. data/test/lib/facets/core/string/test_quote.rb +49 -0
  328. data/test/lib/facets/core/string/test_rand_byte.rb +35 -0
  329. data/test/lib/facets/core/string/test_rand_index.rb +26 -0
  330. data/test/lib/facets/core/string/test_range.rb +27 -0
  331. data/test/lib/facets/core/string/test_range_all.rb +27 -0
  332. data/test/lib/facets/core/string/test_range_of_line.rb +28 -0
  333. data/test/lib/facets/core/string/test_regesc.rb +28 -0
  334. data/test/lib/facets/core/string/test_shatter.rb +29 -0
  335. data/test/lib/facets/core/string/test_shift.rb +40 -0
  336. data/test/lib/facets/core/string/test_shuffle.rb +27 -0
  337. data/test/lib/facets/core/string/test_similarity.rb +26 -0
  338. data/test/lib/facets/core/string/test_singular.rb +86 -0
  339. data/test/lib/facets/core/string/test_soundex.rb +41 -0
  340. data/test/lib/facets/core/string/test_succ.rb +29 -0
  341. data/test/lib/facets/core/string/test_to_a.rb +27 -0
  342. data/test/lib/facets/core/string/test_to_b.rb +41 -0
  343. data/test/lib/facets/core/string/test_to_const.rb +28 -0
  344. data/test/lib/facets/core/string/test_to_date.rb +30 -0
  345. data/test/lib/facets/core/string/test_to_proc.rb +33 -0
  346. data/test/lib/facets/core/string/test_to_re.rb +28 -0
  347. data/test/lib/facets/core/string/test_to_time.rb +30 -0
  348. data/test/lib/facets/core/string/test_unix_crypt.rb +30 -0
  349. data/test/lib/facets/core/string/test_unpack.rb +34 -0
  350. data/test/lib/facets/core/string/test_unshift.rb +39 -0
  351. data/test/lib/facets/core/string/test_upcase.rb +30 -0
  352. data/test/lib/facets/core/string/test_whitespace.rb +27 -0
  353. data/test/lib/facets/core/string/test_word_filter.rb +34 -0
  354. data/test/lib/facets/core/string/test_word_wrap.rb +51 -0
  355. data/test/lib/facets/core/string/test_words.rb +37 -0
  356. data/test/lib/facets/core/symbol/test_camelcase.rb +26 -0
  357. data/test/lib/facets/core/symbol/test_camelize.rb +27 -0
  358. data/test/lib/facets/core/symbol/test_capitalize.rb +26 -0
  359. data/test/lib/facets/core/symbol/test_capitalized.rb +27 -0
  360. data/test/lib/facets/core/symbol/test_downcase.rb +27 -0
  361. data/test/lib/facets/core/symbol/test_not.rb +29 -0
  362. data/test/lib/facets/core/symbol/test_pad.rb +27 -0
  363. data/test/lib/facets/core/symbol/test_succ.rb +28 -0
  364. data/test/lib/facets/core/symbol/test_to_const.rb +28 -0
  365. data/test/lib/facets/core/symbol/test_to_proc.rb +33 -0
  366. data/test/lib/facets/core/symbol/test_to_str.rb +28 -0
  367. data/test/lib/facets/core/symbol/test_underscore.rb +26 -0
  368. data/test/lib/facets/core/symbol/test_upcase.rb +27 -0
  369. data/test/lib/facets/core/time/test_change.rb +33 -0
  370. data/test/lib/facets/core/time/test_elapse.rb +27 -0
  371. data/test/lib/facets/core/time/test_stamp.rb +39 -0
  372. data/test/lib/facets/core/time/test_to_date.rb +31 -0
  373. data/test/lib/facets/core/time/test_to_s.rb +31 -0
  374. data/test/lib/facets/core/time/test_to_time.rb +31 -0
  375. data/test/lib/facets/more/test_ann.rb +112 -0
  376. data/test/lib/facets/more/test_ann_attr.rb +39 -0
  377. data/test/lib/facets/more/test_ansicode.rb +36 -0
  378. data/test/lib/facets/more/test_arguments.rb +83 -0
  379. data/test/lib/facets/more/test_association.rb +51 -0
  380. data/test/lib/facets/more/test_autoarray.rb +32 -0
  381. data/test/lib/facets/more/test_basicobject.rb +67 -0
  382. data/test/lib/facets/more/test_bbcode.rb +34 -0
  383. data/test/lib/facets/more/test_binaryreader.rb +64 -0
  384. data/test/lib/facets/more/test_bitmask.rb +47 -0
  385. data/test/lib/facets/more/test_buildingblock.rb +47 -0
  386. data/test/lib/facets/more/test_bytes.rb +84 -0
  387. data/test/lib/facets/more/test_classmethods.rb +69 -0
  388. data/test/lib/facets/more/test_command.rb +69 -0
  389. data/test/lib/facets/more/test_coroutine.rb +60 -0
  390. data/test/lib/facets/more/test_crypt.rb +46 -0
  391. data/test/lib/facets/more/test_cut.rb +198 -0
  392. data/test/lib/facets/more/test_dependency.rb +82 -0
  393. data/test/lib/facets/more/test_dictionary.rb +107 -0
  394. data/test/lib/facets/more/test_elementor.rb +52 -0
  395. data/test/lib/facets/more/test_enumerablepass.rb +86 -0
  396. data/test/lib/facets/more/test_floatstring.rb +36 -0
  397. data/test/lib/facets/more/test_functor.rb +39 -0
  398. data/test/lib/facets/more/test_htmlbuilder.rb +38 -0
  399. data/test/lib/facets/more/test_htmlfilter.rb +86 -0
  400. data/test/lib/facets/more/test_infinity.rb +50 -0
  401. data/test/lib/facets/more/test_inheritor.rb +155 -0
  402. data/test/lib/facets/more/test_instance_intercept.rb +50 -0
  403. data/test/lib/facets/more/test_interval.rb +119 -0
  404. data/test/lib/facets/more/test_json.rb +232 -0
  405. data/test/lib/facets/more/test_linkedlist.rb +53 -0
  406. data/test/lib/facets/more/test_lisp.rb +47 -0
  407. data/test/lib/facets/more/test_lisp_format.rb +37 -0
  408. data/test/lib/facets/more/test_lrucache.rb +25 -0
  409. data/test/lib/facets/more/test_mathconstants.rb +18 -0
  410. data/test/lib/facets/more/test_methodfilter.rb +45 -0
  411. data/test/lib/facets/more/test_methodprobe.rb +53 -0
  412. data/test/lib/facets/more/test_multipliers.rb +114 -0
  413. data/test/lib/facets/more/test_multiton.rb +199 -0
  414. data/test/lib/facets/more/test_nackclass.rb +45 -0
  415. data/test/lib/facets/more/test_nilcomparable.rb +47 -0
  416. data/test/lib/facets/more/test_opencascade.rb +75 -0
  417. data/test/lib/facets/more/test_openhash.rb +126 -0
  418. data/test/lib/facets/more/test_openobject.rb +126 -0
  419. data/test/lib/facets/more/test_overload.rb +54 -0
  420. data/test/lib/facets/more/test_paramix.rb +100 -0
  421. data/test/lib/facets/more/test_pqueue.rb +39 -0
  422. data/test/lib/facets/more/test_preinitialize.rb +49 -0
  423. data/test/lib/facets/more/test_promoteself.rb +45 -0
  424. data/test/lib/facets/more/test_recorder.rb +44 -0
  425. data/test/lib/facets/more/test_snapshot.rb +34 -0
  426. data/test/lib/facets/more/test_statichash.rb +31 -0
  427. data/test/lib/facets/more/test_syncarray.rb +28 -0
  428. data/test/lib/facets/more/test_synchash.rb +28 -0
  429. data/test/lib/facets/more/test_tagiterator.rb +93 -0
  430. data/test/lib/facets/more/test_timer.rb +66 -0
  431. data/test/lib/facets/more/test_times.rb +103 -0
  432. data/test/lib/facets/more/test_tuple.rb +64 -0
  433. data/test/lib/facets/more/test_typecast.rb +68 -0
  434. data/test/lib/facets/more/test_uninheritable.rb +42 -0
  435. data/test/lib/facets/more/test_units.rb +111 -0
  436. data/test/lib/facets/more/test_xmlbuilder.rb +54 -0
  437. data/test/lib/facets/more/test_xmlhelper.rb +40 -0
  438. data/test/lib/facets/more/test_xoxo.rb +288 -0
  439. data/test/lib/facets/more/test_yamlstruct.rb +37 -0
  440. data/test/lib/facets/yore/enumerable/test_cross.rb +44 -0
  441. data/test/lib/facets/yore/kernel/test_require_facet.rb +27 -0
  442. data/test/lib/facets/yore/module/test_namespace.rb +33 -0
  443. data/test/lib/facets/yore/test_annattr.rb +39 -0
  444. data/test/lib/facets/yore/test_annotation.rb +318 -0
  445. metadata +589 -9
  446. data/lib/facet/dir/self/multiglob_recurse.rb +0 -1
  447. data/lib/facet/dir/self/multiglob_sum.rb +0 -1
  448. data/lib/facets/core/dir/self/multiglob_sum.rb +0 -42
@@ -337,7 +337,7 @@ end
337
337
  p = lambda { |x|
338
338
  x.word = "Hello"
339
339
  }
340
- o = p.to_openobjrct
340
+ o = p.to_openobject
341
341
  assert_equal( "Hello", o.word )
342
342
  end
343
343
 
@@ -1,6 +1,6 @@
1
1
  # = pool.rb
2
2
  #
3
- # == Copyright (c) 2004 Navel
3
+ # == Copyright (c) 2004 George Moschovitis
4
4
  #
5
5
  # Ruby License
6
6
  #
@@ -20,7 +20,7 @@
20
20
  # TODO Could use the SizedQueue/Queue ?
21
21
 
22
22
  # Author:: George Moschovitis
23
- # Copyright:: Copyright (c) 2004 Navel
23
+ # Copyright:: Copyright (c) 2004 George Moschovitis
24
24
  # License:: Ruby License
25
25
 
26
26
  require 'thread'
@@ -1,6 +1,6 @@
1
1
  # = syncarray.rb
2
2
  #
3
- # == Copyright (c) 2004 Navel
3
+ # == Copyright (c) 2004 George Moschovitis
4
4
  #
5
5
  # Ruby License
6
6
  #
@@ -15,8 +15,8 @@
15
15
  #
16
16
  # * George Moschovitis
17
17
 
18
- # Author:: George Moschovitis <gm@navel.gr>
19
- # Copyright:: Copyright (c) 2005 Navel
18
+ # Author:: George Moschovitis
19
+ # Copyright:: Copyright (c) 2005 George Moschovitis
20
20
  # License:: Ruby License
21
21
 
22
22
  require 'sync'
@@ -1,6 +1,6 @@
1
1
  # = synchash.rb
2
2
  #
3
- # == Copyright (c) 2004 Navel
3
+ # == Copyright (c) 2004 George Moschovitis
4
4
  #
5
5
  # Ruby License
6
6
  #
@@ -15,8 +15,8 @@
15
15
  #
16
16
  # * George Moschovitis
17
17
 
18
- # Author:: George Moschovitis <gm@navel.gr>
19
- # Copyright:: Copyright (c) 2005 Navel
18
+ # Author:: George Moschovitis
19
+ # Copyright:: Copyright (c) 2005 George Moschovitis
20
20
  # License:: Ruby License
21
21
 
22
22
  # = SyncHash
@@ -1,17 +1,16 @@
1
1
  # = uploadutils.rb
2
+ #
3
+ # CREDIT Thomas Sawyer
2
4
  #
3
5
  # TODO Incorporate password into scp and ftp ?
4
- #
5
6
  # TODO rsync needs --delete option
6
- #++
7
7
 
8
8
  require 'openssl'
9
9
  require 'shellwords'
10
10
  require 'tmpdir'
11
- #require 'net/smtp'
12
11
 
13
- # <b>UPLOAD FILES TO A HOST</b>
14
- #
12
+ require 'facets/more/openobject'
13
+
15
14
  # Upload files to host. These means of uploading are current
16
15
  # supported: ftp, sftp, scp and rsync.
17
16
  #
@@ -61,7 +60,7 @@ module UploadUtils
61
60
  #
62
61
 
63
62
  def ftp( keys )
64
- keys = keys.to_openhash
63
+ keys = upload_parameters(keys)
65
64
 
66
65
  # set transfer rules
67
66
  if keys.stage
@@ -99,7 +98,7 @@ module UploadUtils
99
98
  #
100
99
 
101
100
  def sftp( keys )
102
- keys = keys.to_openobject
101
+ keys = upload_parameters(keys)
103
102
 
104
103
  # set transfer rules
105
104
  if keys.stage
@@ -137,7 +136,7 @@ module UploadUtils
137
136
  #
138
137
 
139
138
  def rsync( keys )
140
- keys = keys.to_openobject
139
+ keys = upload_parameters(keys)
141
140
 
142
141
  flags = []
143
142
  flags << "-n" if keys.dryrun
@@ -147,7 +146,7 @@ module UploadUtils
147
146
  flags = flags.join(' ').strip
148
147
  flags = ' ' + flags unless flags.empty?
149
148
 
150
- manfile = '.publish.mainfest'
149
+ manfile = 'Publish.txt'
151
150
 
152
151
  if keys.stage
153
152
  dir = stage_linkdir(keys.dir, keys.stage)
@@ -190,14 +189,13 @@ module UploadUtils
190
189
  #keys.pass = keys.pass || keys.password
191
190
 
192
191
  # validate
192
+ raise ArgumentError, "missing publish parameter -- dir" unless keys.dir
193
193
  raise ArgumentError, "missing publish parameter -- host" unless keys.host
194
194
  raise ArgumentError, "missing publish parameter -- user" unless keys.user
195
- raise ArgumentError, "missing publish parameter -- copy" unless keys.copy
195
+ #raise ArgumentError, "missing publish parameter -- copy" unless keys.copy
196
196
  #raise ArgumentError, "missing publish parameter -- root" unless keys.root
197
197
 
198
- #keys.root = '' if keys.root.nil?
199
- #keys.root = keys.root[1..-1] if keys.root[0,1] == '/'
200
- keys.root = '' if opts.root.nil?
198
+ keys.root = '' if keys.root.nil?
201
199
  keys.root.sub!(/^\//,'')
202
200
 
203
201
  if String===keys.copy and File.directory?(keys.copy)
@@ -233,11 +231,11 @@ module UploadUtils
233
231
  del.collect!{ |f| f.sub(/^[-]/,'') }
234
232
  add.collect!{ |f| f.sub(/^[+]/,'') }
235
233
 
236
- del.concat(must_exclude)
234
+ #del.concat(must_exclude)
237
235
 
238
236
  files = []
239
- add.each{ |g| files += Dir.multiglob_recurse(g) }
240
- del.each{ |g| files -= Dir.multiglob_recurse(g) }
237
+ add.each{ |g| files += Dir.multiglob(g) }
238
+ del.each{ |g| files -= Dir.multiglob(g) }
241
239
 
242
240
  files.collect!{ |f| f.sub(/^\//,'') }
243
241
 
@@ -0,0 +1,117 @@
1
+ # Cross product adapted from code by Michael Neuman.
2
+ #
3
+ # CREDIT Michael Neuman
4
+
5
+ require 'generator'
6
+
7
+ module Enumerable
8
+
9
+ class << self
10
+
11
+ # Provides the cross-product of two or more Enumerables.
12
+ # This is the class-level method. The instance method
13
+ # calls on this.
14
+ #
15
+ # Enumerable.cross([1,2], [4], ["apple", "banana"])
16
+ # #=> [[1, 4, "apple"], [1, 4, "banana"], [2, 4, "apple"], [2, 4, "banana"]]
17
+ #
18
+ # Enumerable.cross([1,2], [3,4])
19
+ # #=> [[1, 3], [1, 4], [2, 3], [2, 4]]
20
+ #
21
+ #--
22
+ # TODO Make a more efficient version just for Array (?)
23
+ #++
24
+
25
+ def cross(*enums, &block)
26
+ raise if enums.empty?
27
+ gens = enums.map{|e| Generator.new(e)}
28
+ return [] if gens.any? {|g| g.end?}
29
+
30
+ sz = gens.size
31
+ res = []
32
+ tuple = Array.new(sz)
33
+
34
+ loop do
35
+ # fill tuple
36
+ (0 ... sz).each { |i|
37
+ tuple[i] = gens[i].current
38
+ }
39
+ if block.nil?
40
+ res << tuple.dup
41
+ else
42
+ block.call(tuple.dup)
43
+ end
44
+
45
+ # step forward
46
+ gens[-1].next
47
+ (sz-1).downto(0) do |i|
48
+ if gens[i].end?
49
+ if i > 0
50
+ gens[i].rewind
51
+ gens[i-1].next
52
+ else
53
+ return res
54
+ end
55
+ end
56
+ end
57
+ end #loop
58
+ end
59
+
60
+ end
61
+
62
+
63
+ # The instance level version of <tt>Enumerable::cartesian_product</tt>.
64
+ #
65
+ # a = []
66
+ # [1,2].cart([4,5]){|elem| a << elem }
67
+ # a #=> [[1, 4],[1, 5],[2, 4],[2, 5]]
68
+ #
69
+ #--
70
+ # TODO Make a more efficient version just for Array (?)
71
+ #++
72
+
73
+ def cross(*enums, &block)
74
+ Enumerable.cross(self, *enums, &block)
75
+ end
76
+
77
+ end
78
+
79
+
80
+
81
+ # _____ _
82
+ # |_ _|__ ___| |_
83
+ # | |/ _ \/ __| __|
84
+ # | | __/\__ \ |_
85
+ # |_|\___||___/\__|
86
+ #
87
+ =begin test
88
+
89
+ require 'test/unit'
90
+
91
+ class TCEnumerableClass < Test::Unit::TestCase
92
+
93
+ def test_cross
94
+ i = [[1,2], [3,4]]
95
+ o = [[1, 3], [1, 4], [2, 3], [2, 4]]
96
+ assert_equal( o, Enumerable.cross(*i) )
97
+ i = [[1,2], [4], ["apple", "banana"]]
98
+ o = [[1, 4, "apple"], [1, 4, "banana"], [2, 4, "apple"], [2, 4, "banana"]]
99
+ assert_equal( o, Enumerable.cross(*i) )
100
+ end
101
+
102
+ end
103
+
104
+
105
+ class TCEnumerable < Test::Unit::TestCase
106
+
107
+ def test_cross
108
+ a = [1,2,3].cross([4,5,6])
109
+ assert_equal( [[1, 4],[1, 5],[1, 6],[2, 4],[2, 5],[2, 6],[3, 4],[3, 5],[3, 6]], a )
110
+ a = []
111
+ [1,2,3].cross([4,5,6]) {|elem| a << elem }
112
+ assert_equal( [[1, 4],[1, 5],[1, 6],[2, 4],[2, 5],[2, 6],[3, 4],[3, 5],[3, 6]], a )
113
+ end
114
+
115
+ end
116
+
117
+ =end
@@ -0,0 +1,34 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/at_rand.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/at_rand.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TCArray < Test::Unit::TestCase
19
+
20
+ def test_at_rand
21
+ a = [1,2,3,4,5]
22
+ 20.times{ assert_nothing_raised{ a.at_rand } }
23
+ 20.times{ assert( a.include?( a.at_rand ) ) }
24
+ end
25
+
26
+ def test_at_rand!
27
+ a = ['a','b','c']
28
+ assert_equal( 1, a.at_rand!.length )
29
+ assert_equal( 2, a.length )
30
+ end
31
+
32
+ end
33
+
34
+
@@ -0,0 +1,28 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/delete_unless.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/delete_unless.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TC_DELETE_UNLESS < Test::Unit::TestCase
19
+
20
+ def test_delete_unless
21
+ a = [1,2,3]
22
+ a.delete_unless{ |e| e == 2 }
23
+ assert_equal( [2], a )
24
+ end
25
+
26
+ end
27
+
28
+
@@ -0,0 +1,28 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/delete_values.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/delete_values.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TCArray < Test::Unit::TestCase
19
+
20
+ def test_delete_values
21
+ a = [1,2,3,4]
22
+ assert_equal( [1,2], a.delete_values(1,2) )
23
+ assert_equal( [3,4], a )
24
+ end
25
+
26
+ end
27
+
28
+
@@ -0,0 +1,31 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/delete_values_at.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/delete_values_at.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TCArray < Test::Unit::TestCase
19
+
20
+ def test_delete_values_at
21
+ a = [1,2,3,4]
22
+ assert_equal( [2,3], a.delete_values_at(1,2) )
23
+ assert_equal( [1,4], a )
24
+ a = [1,2,3,4]
25
+ assert_equal( [1,2,3], a.delete_values_at(0..2) )
26
+ assert_equal( [4], a )
27
+ end
28
+
29
+ end
30
+
31
+
@@ -0,0 +1,46 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/first.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/first.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TCArray < Test::Unit::TestCase
19
+
20
+ def test_first_eq
21
+ a = [1,2]
22
+ a.first = 0
23
+ assert_equal( [0,2], a )
24
+ end
25
+
26
+ def test_first!
27
+ a = [1,2,3]
28
+ assert_equal( 1, a.first! )
29
+ assert_equal( [2,3], a )
30
+ end
31
+
32
+ def test_last_eq
33
+ a = [1,2]
34
+ a.last = 3
35
+ assert_equal( [1,3], a )
36
+ end
37
+
38
+ def test_last!
39
+ a = [1,2,3]
40
+ assert_equal( 3, a.last! )
41
+ assert_equal( [1,2], a )
42
+ end
43
+
44
+ end
45
+
46
+
@@ -0,0 +1,42 @@
1
+ # _____ _
2
+ # |_ _|__ ___| |_
3
+ # | |/ _ \/ __| __|
4
+ # | | __/\__ \ |_
5
+ # |_|\___||___/\__|
6
+ #
7
+ # for lib/facets/core/array/head.rb
8
+ #
9
+ # Extracted Tue Feb 06 17:03:51 EST 2007
10
+ # Project.rb Test Extraction
11
+ #
12
+
13
+ require 'facets/core/array/head.rb'
14
+
15
+
16
+ require 'test/unit'
17
+
18
+ class TCArray < Test::Unit::TestCase
19
+
20
+ def test_head
21
+ a = [1,2,3,4,5]
22
+ assert_equal( [1], a.head )
23
+ end
24
+
25
+ def test_tail
26
+ a = [1,2,3,4,5]
27
+ assert_equal( [2,3,4,5], a.tail )
28
+ end
29
+
30
+ def test_foot
31
+ a = [1,2,3,4,5]
32
+ assert_equal( [5], a.foot )
33
+ end
34
+
35
+ def test_body
36
+ a = [1,2,3,4,5]
37
+ assert_equal( [1,2,3,4], a.body )
38
+ end
39
+
40
+ end
41
+
42
+