hamster 1.0.1.pre.rc3 → 2.0.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 (358) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hamster.rb +2 -0
  3. data/lib/hamster/associable.rb +49 -0
  4. data/lib/hamster/core_ext/enumerable.rb +3 -13
  5. data/lib/hamster/core_ext/io.rb +1 -1
  6. data/lib/hamster/core_ext/struct.rb +9 -0
  7. data/lib/hamster/deque.rb +57 -38
  8. data/lib/hamster/enumerable.rb +14 -41
  9. data/lib/hamster/experimental/mutable_queue.rb +5 -8
  10. data/lib/hamster/experimental/mutable_set.rb +6 -7
  11. data/lib/hamster/hash.rb +301 -110
  12. data/lib/hamster/immutable.rb +1 -1
  13. data/lib/hamster/list.rb +479 -194
  14. data/lib/hamster/mutable_hash.rb +6 -7
  15. data/lib/hamster/nested.rb +78 -0
  16. data/lib/hamster/read_copy_update.rb +1 -1
  17. data/lib/hamster/set.rb +198 -88
  18. data/lib/hamster/sorted_set.rb +706 -261
  19. data/lib/hamster/trie.rb +134 -15
  20. data/lib/hamster/vector.rb +571 -140
  21. data/lib/hamster/version.rb +3 -1
  22. data/spec/lib/hamster/associable/associable_spec.rb +150 -0
  23. data/spec/lib/hamster/core_ext/array_spec.rb +1 -1
  24. data/spec/lib/hamster/core_ext/enumerable_spec.rb +2 -2
  25. data/spec/lib/hamster/core_ext/io_spec.rb +1 -1
  26. data/spec/lib/hamster/deque/clear_spec.rb +3 -3
  27. data/spec/lib/hamster/deque/construction_spec.rb +8 -8
  28. data/spec/lib/hamster/deque/copying_spec.rb +1 -1
  29. data/spec/lib/hamster/deque/dequeue_spec.rb +12 -4
  30. data/spec/lib/hamster/deque/empty_spec.rb +14 -16
  31. data/spec/lib/hamster/deque/enqueue_spec.rb +4 -4
  32. data/spec/lib/hamster/deque/first_spec.rb +18 -0
  33. data/spec/lib/hamster/deque/inspect_spec.rb +1 -1
  34. data/spec/lib/hamster/deque/last_spec.rb +9 -11
  35. data/spec/lib/hamster/deque/marshal_spec.rb +6 -6
  36. data/spec/lib/hamster/deque/new_spec.rb +5 -5
  37. data/spec/lib/hamster/deque/pop_spec.rb +15 -3
  38. data/spec/lib/hamster/deque/pretty_print_spec.rb +24 -0
  39. data/spec/lib/hamster/deque/push_spec.rb +37 -0
  40. data/spec/lib/hamster/deque/shift_spec.rb +30 -0
  41. data/spec/lib/hamster/deque/size_spec.rb +1 -1
  42. data/spec/lib/hamster/deque/to_a_spec.rb +2 -2
  43. data/spec/lib/hamster/deque/to_ary_spec.rb +1 -1
  44. data/spec/lib/hamster/deque/to_list_spec.rb +3 -3
  45. data/spec/lib/hamster/deque/unshift_spec.rb +8 -3
  46. data/spec/lib/hamster/experimental/mutable_set/add_qm_spec.rb +3 -3
  47. data/spec/lib/hamster/experimental/mutable_set/add_spec.rb +3 -3
  48. data/spec/lib/hamster/experimental/mutable_set/delete_qm_spec.rb +3 -3
  49. data/spec/lib/hamster/experimental/mutable_set/delete_spec.rb +3 -3
  50. data/spec/lib/hamster/hash/all_spec.rb +32 -34
  51. data/spec/lib/hamster/hash/any_spec.rb +34 -36
  52. data/spec/lib/hamster/hash/assoc_spec.rb +3 -3
  53. data/spec/lib/hamster/hash/clear_spec.rb +4 -4
  54. data/spec/lib/hamster/hash/construction_spec.rb +8 -8
  55. data/spec/lib/hamster/hash/copying_spec.rb +1 -1
  56. data/spec/lib/hamster/hash/default_proc_spec.rb +3 -3
  57. data/spec/lib/hamster/hash/delete_spec.rb +4 -4
  58. data/spec/lib/hamster/hash/each_spec.rb +3 -3
  59. data/spec/lib/hamster/hash/each_with_index_spec.rb +1 -1
  60. data/spec/lib/hamster/hash/empty_spec.rb +13 -15
  61. data/spec/lib/hamster/hash/eql_spec.rb +4 -4
  62. data/spec/lib/hamster/hash/except_spec.rb +7 -7
  63. data/spec/lib/hamster/hash/fetch_spec.rb +10 -10
  64. data/spec/lib/hamster/hash/find_spec.rb +2 -2
  65. data/spec/lib/hamster/hash/flat_map_spec.rb +4 -4
  66. data/spec/lib/hamster/hash/flatten_spec.rb +13 -13
  67. data/spec/lib/hamster/hash/get_spec.rb +7 -7
  68. data/spec/lib/hamster/hash/has_key_spec.rb +3 -3
  69. data/spec/lib/hamster/hash/has_value_spec.rb +4 -4
  70. data/spec/lib/hamster/hash/hash_spec.rb +5 -5
  71. data/spec/lib/hamster/hash/inspect_spec.rb +2 -2
  72. data/spec/lib/hamster/hash/invert_spec.rb +6 -6
  73. data/spec/lib/hamster/hash/key_spec.rb +2 -2
  74. data/spec/lib/hamster/hash/keys_spec.rb +2 -2
  75. data/spec/lib/hamster/hash/map_spec.rb +4 -4
  76. data/spec/lib/hamster/hash/marshal_spec.rb +2 -2
  77. data/spec/lib/hamster/hash/merge_spec.rb +62 -56
  78. data/spec/lib/hamster/hash/min_max_spec.rb +9 -13
  79. data/spec/lib/hamster/hash/new_spec.rb +6 -6
  80. data/spec/lib/hamster/hash/none_spec.rb +3 -3
  81. data/spec/lib/hamster/hash/partition_spec.rb +2 -2
  82. data/spec/lib/hamster/hash/put_spec.rb +29 -7
  83. data/spec/lib/hamster/hash/reduce_spec.rb +4 -4
  84. data/spec/lib/hamster/hash/{remove_spec.rb → reject_spec.rb} +7 -7
  85. data/spec/lib/hamster/hash/reverse_each_spec.rb +1 -1
  86. data/spec/lib/hamster/hash/{filter_spec.rb → select_spec.rb} +6 -6
  87. data/spec/lib/hamster/hash/size_spec.rb +3 -3
  88. data/spec/lib/hamster/hash/slice_spec.rb +4 -4
  89. data/spec/lib/hamster/hash/sort_spec.rb +2 -2
  90. data/spec/lib/hamster/hash/store_spec.rb +29 -7
  91. data/spec/lib/hamster/hash/take_spec.rb +2 -2
  92. data/spec/lib/hamster/hash/to_a_spec.rb +1 -1
  93. data/spec/lib/hamster/hash/to_hash_spec.rb +4 -4
  94. data/spec/lib/hamster/hash/values_at_spec.rb +3 -3
  95. data/spec/lib/hamster/hash/values_spec.rb +2 -2
  96. data/spec/lib/hamster/immutable/new_spec.rb +14 -0
  97. data/spec/lib/hamster/list/add_spec.rb +16 -10
  98. data/spec/lib/hamster/list/all_spec.rb +33 -35
  99. data/spec/lib/hamster/list/any_spec.rb +29 -31
  100. data/spec/lib/hamster/list/append_spec.rb +6 -6
  101. data/spec/lib/hamster/list/at_spec.rb +1 -1
  102. data/spec/lib/hamster/list/break_spec.rb +4 -4
  103. data/spec/lib/hamster/list/cadr_spec.rb +9 -9
  104. data/spec/lib/hamster/list/chunk_spec.rb +5 -5
  105. data/spec/lib/hamster/list/clear_spec.rb +3 -3
  106. data/spec/lib/hamster/list/combination_spec.rb +3 -3
  107. data/spec/lib/hamster/list/compact_spec.rb +3 -3
  108. data/spec/lib/hamster/list/compare_spec.rb +3 -3
  109. data/spec/lib/hamster/list/cons_spec.rb +15 -17
  110. data/spec/lib/hamster/list/construction_spec.rb +20 -27
  111. data/spec/lib/hamster/list/copying_spec.rb +1 -1
  112. data/spec/lib/hamster/list/count_spec.rb +1 -1
  113. data/spec/lib/hamster/list/cycle_spec.rb +4 -4
  114. data/spec/lib/hamster/list/delete_at_spec.rb +4 -4
  115. data/spec/lib/hamster/list/drop_spec.rb +3 -3
  116. data/spec/lib/hamster/list/drop_while_spec.rb +3 -3
  117. data/spec/lib/hamster/list/each_slice_spec.rb +5 -5
  118. data/spec/lib/hamster/list/each_spec.rb +26 -28
  119. data/spec/lib/hamster/list/each_with_index_spec.rb +1 -1
  120. data/spec/lib/hamster/list/empty_spec.rb +13 -15
  121. data/spec/lib/hamster/list/eql_spec.rb +21 -21
  122. data/spec/lib/hamster/list/fill_spec.rb +8 -8
  123. data/spec/lib/hamster/list/find_all_spec.rb +3 -3
  124. data/spec/lib/hamster/list/find_index_spec.rb +1 -1
  125. data/spec/lib/hamster/list/find_spec.rb +1 -1
  126. data/spec/lib/hamster/list/flat_map_spec.rb +2 -2
  127. data/spec/lib/hamster/list/flatten_spec.rb +5 -5
  128. data/spec/lib/hamster/list/grep_spec.rb +4 -4
  129. data/spec/lib/hamster/list/group_by_spec.rb +6 -6
  130. data/spec/lib/hamster/list/hash_spec.rb +2 -2
  131. data/spec/lib/hamster/list/head_spec.rb +1 -1
  132. data/spec/lib/hamster/list/include_spec.rb +2 -2
  133. data/spec/lib/hamster/list/index_spec.rb +38 -0
  134. data/spec/lib/hamster/list/indices_spec.rb +62 -0
  135. data/spec/lib/hamster/list/init_spec.rb +3 -3
  136. data/spec/lib/hamster/list/inits_spec.rb +3 -3
  137. data/spec/lib/hamster/list/insert_spec.rb +1 -1
  138. data/spec/lib/hamster/list/inspect_spec.rb +1 -1
  139. data/spec/lib/hamster/list/intersperse_spec.rb +3 -3
  140. data/spec/lib/hamster/list/join_spec.rb +5 -5
  141. data/spec/lib/hamster/list/last_spec.rb +1 -1
  142. data/spec/lib/hamster/list/ltlt_spec.rb +20 -0
  143. data/spec/lib/hamster/list/map_spec.rb +4 -4
  144. data/spec/lib/hamster/list/maximum_spec.rb +24 -26
  145. data/spec/lib/hamster/list/merge_by_spec.rb +10 -10
  146. data/spec/lib/hamster/list/merge_spec.rb +10 -10
  147. data/spec/lib/hamster/list/minimum_spec.rb +24 -26
  148. data/spec/lib/hamster/list/multithreading_spec.rb +6 -6
  149. data/spec/lib/hamster/list/none_spec.rb +5 -5
  150. data/spec/lib/hamster/list/one_spec.rb +5 -5
  151. data/spec/lib/hamster/list/partition_spec.rb +8 -8
  152. data/spec/lib/hamster/list/permutation_spec.rb +8 -8
  153. data/spec/lib/hamster/list/pop_spec.rb +3 -3
  154. data/spec/lib/hamster/list/product_spec.rb +1 -1
  155. data/spec/lib/hamster/list/reduce_spec.rb +5 -48
  156. data/spec/lib/hamster/list/{remove_spec.rb → reject_spec.rb} +4 -4
  157. data/spec/lib/hamster/list/reverse_spec.rb +3 -3
  158. data/spec/lib/hamster/list/rotate_spec.rb +7 -7
  159. data/spec/lib/hamster/list/sample_spec.rb +1 -1
  160. data/spec/lib/hamster/list/select_spec.rb +3 -3
  161. data/spec/lib/hamster/list/size_spec.rb +1 -1
  162. data/spec/lib/hamster/list/slice_spec.rb +123 -123
  163. data/spec/lib/hamster/list/sorting_spec.rb +5 -5
  164. data/spec/lib/hamster/list/span_spec.rb +5 -5
  165. data/spec/lib/hamster/list/split_at_spec.rb +4 -4
  166. data/spec/lib/hamster/list/subsequences_spec.rb +1 -1
  167. data/spec/lib/hamster/list/sum_spec.rb +1 -1
  168. data/spec/lib/hamster/list/tail_spec.rb +4 -4
  169. data/spec/lib/hamster/list/tails_spec.rb +3 -3
  170. data/spec/lib/hamster/list/take_spec.rb +3 -3
  171. data/spec/lib/hamster/list/take_while_spec.rb +4 -4
  172. data/spec/lib/hamster/list/to_a_spec.rb +2 -2
  173. data/spec/lib/hamster/list/to_ary_spec.rb +1 -1
  174. data/spec/lib/hamster/list/to_list_spec.rb +1 -1
  175. data/spec/lib/hamster/list/to_set_spec.rb +1 -1
  176. data/spec/lib/hamster/list/union_spec.rb +4 -4
  177. data/spec/lib/hamster/list/uniq_spec.rb +23 -19
  178. data/spec/lib/hamster/list/zip_spec.rb +5 -5
  179. data/spec/lib/hamster/nested/construction_spec.rb +103 -0
  180. data/spec/lib/hamster/set/add_spec.rb +13 -11
  181. data/spec/lib/hamster/set/all_spec.rb +32 -34
  182. data/spec/lib/hamster/set/any_spec.rb +32 -34
  183. data/spec/lib/hamster/set/clear_spec.rb +3 -3
  184. data/spec/lib/hamster/set/compact_spec.rb +3 -3
  185. data/spec/lib/hamster/set/construction_spec.rb +3 -3
  186. data/spec/lib/hamster/set/copying_spec.rb +1 -1
  187. data/spec/lib/hamster/set/count_spec.rb +1 -1
  188. data/spec/lib/hamster/set/delete_spec.rb +8 -8
  189. data/spec/lib/hamster/set/difference_spec.rb +8 -8
  190. data/spec/lib/hamster/set/disjoint_spec.rb +1 -1
  191. data/spec/lib/hamster/set/each_spec.rb +2 -2
  192. data/spec/lib/hamster/set/empty_spec.rb +15 -17
  193. data/spec/lib/hamster/set/eqeq_spec.rb +3 -3
  194. data/spec/lib/hamster/set/eql_spec.rb +3 -3
  195. data/spec/lib/hamster/set/exclusion_spec.rb +7 -7
  196. data/spec/lib/hamster/set/find_spec.rb +2 -2
  197. data/spec/lib/hamster/set/first_spec.rb +29 -0
  198. data/spec/lib/hamster/set/flatten_spec.rb +9 -9
  199. data/spec/lib/hamster/set/grep_spec.rb +1 -1
  200. data/spec/lib/hamster/set/group_by_spec.rb +12 -12
  201. data/spec/lib/hamster/set/hash_spec.rb +3 -3
  202. data/spec/lib/hamster/set/include_spec.rb +8 -8
  203. data/spec/lib/hamster/set/inspect_spec.rb +2 -2
  204. data/spec/lib/hamster/set/intersect_spec.rb +1 -1
  205. data/spec/lib/hamster/set/intersection_spec.rb +13 -13
  206. data/spec/lib/hamster/set/join_spec.rb +6 -6
  207. data/spec/lib/hamster/set/map_spec.rb +7 -7
  208. data/spec/lib/hamster/set/marshal_spec.rb +2 -2
  209. data/spec/lib/hamster/set/maximum_spec.rb +22 -24
  210. data/spec/lib/hamster/set/minimum_spec.rb +22 -24
  211. data/spec/lib/hamster/set/new_spec.rb +5 -5
  212. data/spec/lib/hamster/set/none_spec.rb +5 -5
  213. data/spec/lib/hamster/set/one_spec.rb +6 -6
  214. data/spec/lib/hamster/set/partition_spec.rb +5 -5
  215. data/spec/lib/hamster/set/product_spec.rb +2 -2
  216. data/spec/lib/hamster/set/reduce_spec.rb +5 -5
  217. data/spec/lib/hamster/set/{remove_spec.rb → reject_spec.rb} +6 -6
  218. data/spec/lib/hamster/set/reverse_each_spec.rb +1 -1
  219. data/spec/lib/hamster/set/sample_spec.rb +1 -1
  220. data/spec/lib/hamster/set/{filter_spec.rb → select_spec.rb} +11 -11
  221. data/spec/lib/hamster/set/size_spec.rb +1 -1
  222. data/spec/lib/hamster/set/sorting_spec.rb +16 -5
  223. data/spec/lib/hamster/set/subset_spec.rb +2 -2
  224. data/spec/lib/hamster/set/sum_spec.rb +2 -2
  225. data/spec/lib/hamster/set/superset_spec.rb +2 -2
  226. data/spec/lib/hamster/set/to_a_spec.rb +2 -2
  227. data/spec/lib/hamster/set/to_list_spec.rb +2 -2
  228. data/spec/lib/hamster/set/to_set_spec.rb +1 -1
  229. data/spec/lib/hamster/set/union_spec.rb +23 -14
  230. data/spec/lib/hamster/sorted_set/above_spec.rb +11 -11
  231. data/spec/lib/hamster/sorted_set/add_spec.rb +8 -8
  232. data/spec/lib/hamster/sorted_set/at_spec.rb +1 -1
  233. data/spec/lib/hamster/sorted_set/below_spec.rb +11 -11
  234. data/spec/lib/hamster/sorted_set/between_spec.rb +11 -11
  235. data/spec/lib/hamster/sorted_set/clear_spec.rb +11 -2
  236. data/spec/lib/hamster/sorted_set/copying_spec.rb +21 -0
  237. data/spec/lib/hamster/sorted_set/delete_at_spec.rb +4 -4
  238. data/spec/lib/hamster/sorted_set/delete_spec.rb +21 -12
  239. data/spec/lib/hamster/sorted_set/difference_spec.rb +2 -2
  240. data/spec/lib/hamster/sorted_set/disjoint_spec.rb +1 -1
  241. data/spec/lib/hamster/sorted_set/drop_spec.rb +30 -3
  242. data/spec/lib/hamster/sorted_set/drop_while_spec.rb +4 -4
  243. data/spec/lib/hamster/sorted_set/each_spec.rb +16 -18
  244. data/spec/lib/hamster/sorted_set/empty_spec.rb +12 -14
  245. data/spec/lib/hamster/sorted_set/eql_spec.rb +5 -5
  246. data/spec/lib/hamster/sorted_set/exclusion_spec.rb +1 -1
  247. data/spec/lib/hamster/sorted_set/fetch_spec.rb +1 -1
  248. data/spec/lib/hamster/sorted_set/find_index_spec.rb +10 -2
  249. data/spec/lib/hamster/sorted_set/first_spec.rb +10 -12
  250. data/spec/lib/hamster/sorted_set/from_spec.rb +11 -11
  251. data/spec/lib/hamster/sorted_set/group_by_spec.rb +10 -10
  252. data/spec/lib/hamster/sorted_set/include_spec.rb +2 -2
  253. data/spec/lib/hamster/sorted_set/inspect_spec.rb +1 -1
  254. data/spec/lib/hamster/sorted_set/intersect_spec.rb +1 -1
  255. data/spec/lib/hamster/sorted_set/intersection_spec.rb +3 -3
  256. data/spec/lib/hamster/sorted_set/last_spec.rb +1 -1
  257. data/spec/lib/hamster/sorted_set/map_spec.rb +13 -5
  258. data/spec/lib/hamster/sorted_set/marshal_spec.rb +3 -3
  259. data/spec/lib/hamster/sorted_set/maximum_spec.rb +37 -0
  260. data/spec/lib/hamster/sorted_set/minimum_spec.rb +11 -13
  261. data/spec/lib/hamster/sorted_set/new_spec.rb +23 -3
  262. data/spec/lib/hamster/sorted_set/reverse_each_spec.rb +2 -2
  263. data/spec/lib/hamster/sorted_set/{filter_spec.rb → select_spec.rb} +10 -10
  264. data/spec/lib/hamster/sorted_set/size_spec.rb +1 -1
  265. data/spec/lib/hamster/sorted_set/slice_spec.rb +158 -142
  266. data/spec/lib/hamster/sorted_set/sorting_spec.rb +3 -3
  267. data/spec/lib/hamster/sorted_set/subset_spec.rb +2 -2
  268. data/spec/lib/hamster/sorted_set/superset_spec.rb +2 -2
  269. data/spec/lib/hamster/sorted_set/take_spec.rb +32 -3
  270. data/spec/lib/hamster/sorted_set/take_while_spec.rb +4 -4
  271. data/spec/lib/hamster/sorted_set/to_set_spec.rb +1 -1
  272. data/spec/lib/hamster/sorted_set/union_spec.rb +2 -2
  273. data/spec/lib/hamster/sorted_set/up_to_spec.rb +12 -11
  274. data/spec/lib/hamster/sorted_set/values_at_spec.rb +6 -6
  275. data/spec/lib/hamster/vector/add_spec.rb +3 -3
  276. data/spec/lib/hamster/vector/any_spec.rb +1 -1
  277. data/spec/lib/hamster/vector/assoc_spec.rb +11 -1
  278. data/spec/lib/hamster/vector/bsearch_spec.rb +10 -2
  279. data/spec/lib/hamster/vector/clear_spec.rb +3 -3
  280. data/spec/lib/hamster/vector/combination_spec.rb +4 -4
  281. data/spec/lib/hamster/vector/compact_spec.rb +2 -2
  282. data/spec/lib/hamster/vector/compare_spec.rb +3 -3
  283. data/spec/lib/hamster/vector/concat_spec.rb +2 -2
  284. data/spec/lib/hamster/vector/copying_spec.rb +1 -1
  285. data/spec/lib/hamster/vector/delete_at_spec.rb +8 -8
  286. data/spec/lib/hamster/vector/delete_spec.rb +2 -2
  287. data/spec/lib/hamster/vector/drop_spec.rb +10 -3
  288. data/spec/lib/hamster/vector/drop_while_spec.rb +5 -5
  289. data/spec/lib/hamster/vector/each_index_spec.rb +2 -2
  290. data/spec/lib/hamster/vector/each_spec.rb +27 -29
  291. data/spec/lib/hamster/vector/each_with_index_spec.rb +2 -2
  292. data/spec/lib/hamster/vector/empty_spec.rb +11 -13
  293. data/spec/lib/hamster/vector/eql_spec.rb +6 -6
  294. data/spec/lib/hamster/vector/fetch_spec.rb +1 -1
  295. data/spec/lib/hamster/vector/fill_spec.rb +9 -9
  296. data/spec/lib/hamster/vector/first_spec.rb +10 -12
  297. data/spec/lib/hamster/vector/flat_map_spec.rb +51 -0
  298. data/spec/lib/hamster/vector/flatten_spec.rb +15 -0
  299. data/spec/lib/hamster/vector/get_spec.rb +4 -4
  300. data/spec/lib/hamster/vector/group_by_spec.rb +12 -12
  301. data/spec/lib/hamster/vector/include_spec.rb +2 -2
  302. data/spec/lib/hamster/vector/insert_spec.rb +2 -2
  303. data/spec/lib/hamster/vector/inspect_spec.rb +1 -1
  304. data/spec/lib/hamster/vector/join_spec.rb +5 -5
  305. data/spec/lib/hamster/vector/last_spec.rb +1 -1
  306. data/spec/lib/hamster/vector/length_spec.rb +1 -1
  307. data/spec/lib/hamster/vector/ltlt_spec.rb +2 -2
  308. data/spec/lib/hamster/vector/map_spec.rb +5 -5
  309. data/spec/lib/hamster/vector/marshal_spec.rb +2 -2
  310. data/spec/lib/hamster/vector/maximum_spec.rb +20 -22
  311. data/spec/lib/hamster/vector/minimum_spec.rb +20 -22
  312. data/spec/lib/hamster/vector/multiply_spec.rb +4 -4
  313. data/spec/lib/hamster/vector/partition_spec.rb +5 -5
  314. data/spec/lib/hamster/vector/permutation_spec.rb +4 -4
  315. data/spec/lib/hamster/vector/pop_spec.rb +3 -3
  316. data/spec/lib/hamster/vector/product_spec.rb +10 -10
  317. data/spec/lib/hamster/vector/put_spec.rb +175 -0
  318. data/spec/lib/hamster/vector/reduce_spec.rb +5 -57
  319. data/spec/lib/hamster/vector/{remove_spec.rb → reject_spec.rb} +4 -4
  320. data/spec/lib/hamster/vector/repeated_combination_spec.rb +4 -4
  321. data/spec/lib/hamster/vector/repeated_permutation_spec.rb +6 -6
  322. data/spec/lib/hamster/vector/reverse_each_spec.rb +1 -1
  323. data/spec/lib/hamster/vector/reverse_spec.rb +1 -1
  324. data/spec/lib/hamster/vector/rindex_spec.rb +1 -1
  325. data/spec/lib/hamster/vector/rotate_spec.rb +9 -9
  326. data/spec/lib/hamster/vector/sample_spec.rb +1 -1
  327. data/spec/lib/hamster/vector/{filter_spec.rb → select_spec.rb} +8 -8
  328. data/spec/lib/hamster/vector/set_spec.rb +12 -141
  329. data/spec/lib/hamster/vector/shift_spec.rb +3 -3
  330. data/spec/lib/hamster/vector/shuffle_spec.rb +2 -2
  331. data/spec/lib/hamster/vector/slice_spec.rb +137 -137
  332. data/spec/lib/hamster/vector/sorting_spec.rb +5 -5
  333. data/spec/lib/hamster/vector/sum_spec.rb +1 -1
  334. data/spec/lib/hamster/vector/take_spec.rb +17 -3
  335. data/spec/lib/hamster/vector/take_while_spec.rb +4 -4
  336. data/spec/lib/hamster/vector/to_a_spec.rb +1 -1
  337. data/spec/lib/hamster/vector/to_ary_spec.rb +1 -1
  338. data/spec/lib/hamster/vector/to_list_spec.rb +2 -1
  339. data/spec/lib/hamster/vector/to_set_spec.rb +1 -1
  340. data/spec/lib/hamster/vector/uniq_spec.rb +27 -6
  341. data/spec/lib/hamster/vector/unshift_spec.rb +3 -3
  342. data/spec/lib/hamster/vector/values_at_spec.rb +6 -6
  343. data/spec/lib/hamster/vector/zip_spec.rb +2 -2
  344. data/spec/lib/load_spec.rb +42 -0
  345. data/spec/spec_helper.rb +25 -0
  346. metadata +85 -48
  347. data/spec/lib/hamster/deque/head_spec.rb +0 -20
  348. data/spec/lib/hamster/hash/uniq_spec.rb +0 -14
  349. data/spec/lib/hamster/list/elem_index_spec.rb +0 -36
  350. data/spec/lib/hamster/list/elem_indices_spec.rb +0 -31
  351. data/spec/lib/hamster/list/filter_spec.rb +0 -71
  352. data/spec/lib/hamster/list/find_indices_spec.rb +0 -37
  353. data/spec/lib/hamster/set/foreach_spec.rb +0 -40
  354. data/spec/lib/hamster/set/head_spec.rb +0 -31
  355. data/spec/lib/hamster/set/uniq_spec.rb +0 -14
  356. data/spec/lib/hamster/sorted_set/construction_spec.rb +0 -29
  357. data/spec/lib/hamster/vector/exist_spec.rb +0 -70
  358. data/spec/lib/hamster/vector/exists_spec.rb +0 -70
@@ -13,27 +13,27 @@ describe Hamster::Vector do
13
13
  [%w[Ichi Ni San], %w[Ni San Ichi]],
14
14
  ].each do |values, expected|
15
15
  describe "on #{values.inspect}" do
16
- let(:vector) { Hamster.vector(*values) }
16
+ let(:vector) { V[*values] }
17
17
 
18
18
  context "with a block" do
19
19
  it "preserves the original" do
20
20
  vector.send(method, &comparator)
21
- vector.should eql(Hamster.vector(*values))
21
+ vector.should eql(V[*values])
22
22
  end
23
23
 
24
24
  it "returns #{expected.inspect}" do
25
- vector.send(method, &comparator).should eql(Hamster.vector(*expected))
25
+ vector.send(method, &comparator).should eql(V[*expected])
26
26
  end
27
27
  end
28
28
 
29
29
  context "without a block" do
30
30
  it "preserves the original" do
31
31
  vector.send(method)
32
- vector.should eql(Hamster.vector(*values))
32
+ vector.should eql(V[*values])
33
33
  end
34
34
 
35
35
  it "returns #{expected.sort.inspect}" do
36
- vector.send(method).should eql(Hamster.vector(*expected.sort))
36
+ vector.send(method).should eql(V[*expected.sort])
37
37
  end
38
38
  end
39
39
  end
@@ -10,7 +10,7 @@ describe Hamster::Vector do
10
10
  ].each do |values, expected|
11
11
  describe "on #{values.inspect}" do
12
12
  it "returns #{expected.inspect}" do
13
- Hamster.vector(*values).sum.should == expected
13
+ V[*values].sum.should == expected
14
14
  end
15
15
  end
16
16
  end
@@ -13,17 +13,31 @@ describe Hamster::Vector do
13
13
  [(1..100), 40, (1..40)]
14
14
  ].each do |values, number, expected|
15
15
  describe "#{number} from #{values.inspect}" do
16
- let(:vector) { Hamster.vector(*values) }
16
+ let(:vector) { V[*values] }
17
17
 
18
18
  it "preserves the original" do
19
19
  vector.take(number)
20
- vector.should eql(Hamster.vector(*values))
20
+ vector.should eql(V[*values])
21
21
  end
22
22
 
23
23
  it "returns #{expected.inspect}" do
24
- vector.take(number).should eql(Hamster.vector(*expected))
24
+ vector.take(number).should eql(V[*expected])
25
25
  end
26
26
  end
27
27
  end
28
+
29
+ context "when number of elements specified is identical to size" do
30
+ let(:vector) { V[1, 2, 3, 4, 5, 6] }
31
+ it "returns self" do
32
+ vector.take(vector.size).should be(vector)
33
+ end
34
+ end
35
+
36
+ context "when number of elements specified is bigger than size" do
37
+ let(:vector) { V[1, 2, 3, 4, 5, 6] }
38
+ it "returns self" do
39
+ vector.take(vector.size + 1).should be(vector)
40
+ end
41
+ end
28
42
  end
29
43
  end
@@ -9,24 +9,24 @@ describe Hamster::Vector do
9
9
  [%w[A B C], %w[A B]]
10
10
  ].each do |values, expected|
11
11
  describe "on #{values.inspect}" do
12
- let(:vector) { Hamster.vector(*values) }
12
+ let(:vector) { V[*values] }
13
13
  let(:result) { vector.take_while { |item| item < "C" }}
14
14
 
15
15
  describe "with a block" do
16
16
  it "returns #{expected.inspect}" do
17
- result.should eql(Hamster.vector(*expected))
17
+ result.should eql(V[*expected])
18
18
  end
19
19
 
20
20
  it "preserves the original" do
21
21
  result
22
- vector.should eql(Hamster.vector(*values))
22
+ vector.should eql(V[*values])
23
23
  end
24
24
  end
25
25
 
26
26
  describe "without a block" do
27
27
  it "returns an Enumerator" do
28
28
  vector.take_while.class.should be(Enumerator)
29
- vector.take_while.each { |item| item < "C" }.should eql(Hamster.vector(*expected))
29
+ vector.take_while.each { |item| item < "C" }.should eql(V[*expected])
30
30
  end
31
31
  end
32
32
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
  require "hamster/vector"
3
3
 
4
4
  describe Hamster::Vector do
5
- let(:vector) { Hamster.vector(*values) }
5
+ let(:vector) { V[*values] }
6
6
 
7
7
  describe "#to_a" do
8
8
  let(:to_a) { vector.to_a }
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
  require "hamster/vector"
3
3
 
4
4
  describe Hamster::Vector do
5
- let(:vector) { Hamster.vector(*values) }
5
+ let(:vector) { V[*values] }
6
6
 
7
7
  describe "#to_ary" do
8
8
  let(:values) { %w[A B C D] }
@@ -1,6 +1,7 @@
1
1
  require "spec_helper"
2
2
  require "hamster/vector"
3
3
  require "hamster/list"
4
+ require "hamster/core_ext"
4
5
 
5
6
  describe Hamster::Vector do
6
7
  describe "#to_list" do
@@ -10,7 +11,7 @@ describe Hamster::Vector do
10
11
  %w[A B C],
11
12
  ].each do |values|
12
13
  describe "on #{values.inspect}" do
13
- let(:vector) { Hamster::Vector.new(values) }
14
+ let(:vector) { V.new(values) }
14
15
  let(:list) { vector.to_list }
15
16
 
16
17
  it "returns a list" do
@@ -15,7 +15,7 @@ describe Hamster::Vector do
15
15
  ].each do |values|
16
16
  describe "on #{values.inspect}" do
17
17
  it "returns a set with the same values" do
18
- Hamster.vector(*values).to_set.should eql(Hamster.set(*values))
18
+ V[*values].to_set.should eql(S[*values])
19
19
  end
20
20
  end
21
21
  end
@@ -3,19 +3,19 @@ require "hamster/vector"
3
3
 
4
4
  describe Hamster::Vector do
5
5
  describe "#uniq" do
6
- let(:vector) { Hamster.vector('a', 'b', 'a', 'a', 'c', 'b') }
6
+ let(:vector) { V['a', 'b', 'a', 'a', 'c', 'b'] }
7
7
 
8
8
  it "returns a vector with no duplicates" do
9
- vector.uniq.should eql(Hamster.vector('a', 'b', 'c'))
9
+ vector.uniq.should eql(V['a', 'b', 'c'])
10
10
  end
11
11
 
12
12
  it "leaves the original unmodified" do
13
13
  vector.uniq
14
- vector.should eql(Hamster.vector('a', 'b', 'a', 'a', 'c', 'b'))
14
+ vector.should eql(V['a', 'b', 'a', 'a', 'c', 'b'])
15
15
  end
16
16
 
17
17
  it "uses #eql? semantics" do
18
- Hamster.vector(1.0, 1).uniq.should eql(Hamster.vector(1.0, 1))
18
+ V[1.0, 1].uniq.should eql(V[1.0, 1])
19
19
  end
20
20
 
21
21
  it "also uses #hash when determining which values are duplicates" do
@@ -23,16 +23,37 @@ describe Hamster::Vector do
23
23
  x.should_receive(:hash).at_least(1).times.and_return(1)
24
24
  y = double(2)
25
25
  y.should_receive(:hash).at_least(1).times.and_return(2)
26
- Hamster.vector(x, y).uniq
26
+ V[x, y].uniq
27
27
  end
28
28
 
29
29
  it "keeps the first of each group of duplicate values" do
30
30
  x, y, z = 'a', 'a', 'a'
31
- result = Hamster.vector(x, y, z).uniq
31
+ result = V[x, y, z].uniq
32
32
  result.size.should == 1
33
33
  result[0].should be(x)
34
34
  end
35
35
 
36
+ context "when passed a block" do
37
+ it "uses the return value of the block to determine which items are duplicate" do
38
+ v = V['a', 'A', 'B', 'b']
39
+ v.uniq(&:upcase).should == V['a', 'B']
40
+ end
41
+ end
42
+
43
+ context "on a vector with no duplicates" do
44
+ it "returns an unchanged vector" do
45
+ V[1, 2, 3].uniq.should eql(V[1, 2, 3])
46
+ end
47
+
48
+ context "if the vector has more than 32 elements and is initialized with Vector.new" do
49
+ # Regression test for GitHub issue #182
50
+ it "returns an unchanged vector" do
51
+ vector1,vector2 = 2.times.collect { V.new(0..36) }
52
+ vector1.uniq.should eql(vector2)
53
+ end
54
+ end
55
+ end
56
+
36
57
  [10, 31, 32, 33, 1000, 1023, 1024, 1025, 2000].each do |size|
37
58
  context "on a #{size}-item vector" do
38
59
  it "behaves like Array#uniq" do
@@ -13,15 +13,15 @@ describe Hamster::Vector do
13
13
  [1..33, 0, 0..33]
14
14
  ].each do |values, new_value, expected|
15
15
  context "on #{values.inspect} with #{new_value.inspect}" do
16
- let(:vector) { Hamster.vector(*values) }
16
+ let(:vector) { V[*values] }
17
17
 
18
18
  it "preserves the original" do
19
19
  vector.unshift(new_value)
20
- vector.should eql(Hamster.vector(*values))
20
+ vector.should eql(V[*values])
21
21
  end
22
22
 
23
23
  it "returns #{expected.inspect}" do
24
- vector.unshift(new_value).should eql(Hamster.vector(*expected))
24
+ vector.unshift(new_value).should eql(V[*expected])
25
25
  end
26
26
  end
27
27
  end
@@ -3,23 +3,23 @@ require "hamster/vector"
3
3
 
4
4
  describe Hamster::Vector do
5
5
  describe "#values_at" do
6
- let(:vector) { Hamster.vector('a', 'b', 'c') }
6
+ let(:vector) { V['a', 'b', 'c'] }
7
7
 
8
8
  it "accepts any number of indices, and returns a vector of items at those indices" do
9
- vector.values_at(0).should eql(Hamster.vector('a'))
10
- vector.values_at(1,2).should eql(Hamster.vector('b', 'c'))
9
+ vector.values_at(0).should eql(V['a'])
10
+ vector.values_at(1,2).should eql(V['b', 'c'])
11
11
  end
12
12
 
13
13
  context "when passed invalid indices" do
14
14
  it "fills in with nils" do
15
- vector.values_at(1,2,3).should eql(Hamster.vector('b', 'c', nil))
16
- vector.values_at(-10,10).should eql(Hamster.vector(nil, nil))
15
+ vector.values_at(1,2,3).should eql(V['b', 'c', nil])
16
+ vector.values_at(-10,10).should eql(V[nil, nil])
17
17
  end
18
18
  end
19
19
 
20
20
  context "when passed no arguments" do
21
21
  it "returns an empty vector" do
22
- vector.values_at.should eql(Hamster.vector)
22
+ vector.values_at.should eql(V.empty)
23
23
  end
24
24
  end
25
25
 
@@ -3,7 +3,7 @@ require "hamster/vector"
3
3
 
4
4
  describe Hamster::Vector do
5
5
  describe "#zip" do
6
- let(:vector) { Hamster.vector(1,2,3,4) }
6
+ let(:vector) { V[1,2,3,4] }
7
7
 
8
8
  context "with a block" do
9
9
  it "yields arrays of one corresponding element from each input sequence" do
@@ -31,7 +31,7 @@ describe Hamster::Vector do
31
31
 
32
32
  context "without a block" do
33
33
  it "returns a vector of arrays (one corresponding element from each input sequence)" do
34
- vector.zip([2,3,4,5]).should eql(Hamster.vector([1,2], [2,3], [3,4], [4,5]))
34
+ vector.zip([2,3,4,5]).should eql(V[[1,2], [2,3], [3,4], [4,5]])
35
35
  end
36
36
  end
37
37
 
@@ -0,0 +1,42 @@
1
+ # It should be possible to require any one Hamster structure,
2
+ # without loading all the others
3
+
4
+ hamster_lib_dir = File.join(File.dirname(__FILE__), "..", "..", 'lib')
5
+
6
+ describe :Hamster do
7
+ describe :Hash do
8
+ it "can be loaded separately" do
9
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/hash'; Hamster::Hash.new"}).should be(true)
10
+ end
11
+ end
12
+
13
+ describe :Set do
14
+ it "can be loaded separately" do
15
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/set'; Hamster::Set.new"}).should be(true)
16
+ end
17
+ end
18
+
19
+ describe :Vector do
20
+ it "can be loaded separately" do
21
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/vector'; Hamster::Vector.new"}).should be(true)
22
+ end
23
+ end
24
+
25
+ describe :List do
26
+ it "can be loaded separately" do
27
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/list'; Hamster::List[]"}).should be(true)
28
+ end
29
+ end
30
+
31
+ describe :SortedSet do
32
+ it "can be loaded separately" do
33
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/sorted_set'; Hamster::SortedSet.new"}).should be(true)
34
+ end
35
+ end
36
+
37
+ describe :Deque do
38
+ it "can be loaded separately" do
39
+ system(%{ruby -e "$:.unshift('#{hamster_lib_dir}'); require 'hamster/deque'; Hamster::Deque.new"}).should be(true)
40
+ end
41
+ end
42
+ end
@@ -1,12 +1,37 @@
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
3
+
1
4
  require "pry"
2
5
  require "rspec"
6
+ require "hamster/hash"
7
+ require "hamster/set"
3
8
  require "hamster/vector"
9
+ require "hamster/sorted_set"
4
10
  require "hamster/list"
11
+ require "hamster/deque"
12
+ require "hamster/core_ext"
13
+
14
+ # Suppress warnings from use of old RSpec expectation and mock syntax
15
+ # If all tests are eventually updated to use the new syntax, this can be removed
16
+ RSpec.configure do |config|
17
+ config.expect_with :rspec do |c|
18
+ c.syntax = [:should, :expect]
19
+ end
20
+ config.mock_with :rspec do |c|
21
+ c.syntax = [:should, :expect]
22
+ end
23
+ end
5
24
 
6
25
  V = Hamster::Vector
7
26
  L = Hamster::List
27
+ H = Hamster::Hash
28
+ S = Hamster::Set
29
+ SS = Hamster::SortedSet
30
+ D = Hamster::Deque
8
31
  EmptyList = Hamster::EmptyList
9
32
 
33
+ Struct.new("Customer", :name, :address)
34
+
10
35
  def fixture(name)
11
36
  File.read(fixture_path(name))
12
37
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1.pre.rc3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Harris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-25 00:00:00.000000000 Z
11
+ date: 2015-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: atomic
14
+ name: concurrent-ruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.1'
19
+ version: '0.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.1'
26
+ version: '0.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,34 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.6'
111
+ - !ruby/object:Gem::Dependency
112
+ name: benchmark-ips
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.1'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: codeclimate-test-reporter
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.4'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.4'
111
139
  description: Efficient, immutable, thread-safe collection classes for Ruby
112
140
  email:
113
141
  - haruki_zaemon@mac.com
@@ -116,9 +144,11 @@ extensions: []
116
144
  extra_rdoc_files: []
117
145
  files:
118
146
  - lib/hamster.rb
147
+ - lib/hamster/associable.rb
119
148
  - lib/hamster/core_ext.rb
120
149
  - lib/hamster/core_ext/enumerable.rb
121
150
  - lib/hamster/core_ext/io.rb
151
+ - lib/hamster/core_ext/struct.rb
122
152
  - lib/hamster/deque.rb
123
153
  - lib/hamster/enumerable.rb
124
154
  - lib/hamster/experimental/mutable_queue.rb
@@ -127,6 +157,7 @@ files:
127
157
  - lib/hamster/immutable.rb
128
158
  - lib/hamster/list.rb
129
159
  - lib/hamster/mutable_hash.rb
160
+ - lib/hamster/nested.rb
130
161
  - lib/hamster/read_copy_update.rb
131
162
  - lib/hamster/set.rb
132
163
  - lib/hamster/sorted_set.rb
@@ -135,6 +166,7 @@ files:
135
166
  - lib/hamster/vector.rb
136
167
  - lib/hamster/version.rb
137
168
  - spec/fixtures/io_spec.txt
169
+ - spec/lib/hamster/associable/associable_spec.rb
138
170
  - spec/lib/hamster/core_ext/array_spec.rb
139
171
  - spec/lib/hamster/core_ext/enumerable_spec.rb
140
172
  - spec/lib/hamster/core_ext/io_spec.rb
@@ -144,13 +176,16 @@ files:
144
176
  - spec/lib/hamster/deque/dequeue_spec.rb
145
177
  - spec/lib/hamster/deque/empty_spec.rb
146
178
  - spec/lib/hamster/deque/enqueue_spec.rb
147
- - spec/lib/hamster/deque/head_spec.rb
179
+ - spec/lib/hamster/deque/first_spec.rb
148
180
  - spec/lib/hamster/deque/inspect_spec.rb
149
181
  - spec/lib/hamster/deque/last_spec.rb
150
182
  - spec/lib/hamster/deque/marshal_spec.rb
151
183
  - spec/lib/hamster/deque/new_spec.rb
152
184
  - spec/lib/hamster/deque/pop_spec.rb
185
+ - spec/lib/hamster/deque/pretty_print_spec.rb
186
+ - spec/lib/hamster/deque/push_spec.rb
153
187
  - spec/lib/hamster/deque/random_modification_spec.rb
188
+ - spec/lib/hamster/deque/shift_spec.rb
154
189
  - spec/lib/hamster/deque/size_spec.rb
155
190
  - spec/lib/hamster/deque/to_a_spec.rb
156
191
  - spec/lib/hamster/deque/to_ary_spec.rb
@@ -174,7 +209,6 @@ files:
174
209
  - spec/lib/hamster/hash/eql_spec.rb
175
210
  - spec/lib/hamster/hash/except_spec.rb
176
211
  - spec/lib/hamster/hash/fetch_spec.rb
177
- - spec/lib/hamster/hash/filter_spec.rb
178
212
  - spec/lib/hamster/hash/find_spec.rb
179
213
  - spec/lib/hamster/hash/flat_map_spec.rb
180
214
  - spec/lib/hamster/hash/flatten_spec.rb
@@ -197,9 +231,10 @@ files:
197
231
  - spec/lib/hamster/hash/pretty_print_spec.rb
198
232
  - spec/lib/hamster/hash/put_spec.rb
199
233
  - spec/lib/hamster/hash/reduce_spec.rb
200
- - spec/lib/hamster/hash/remove_spec.rb
234
+ - spec/lib/hamster/hash/reject_spec.rb
201
235
  - spec/lib/hamster/hash/reverse_each_spec.rb
202
236
  - spec/lib/hamster/hash/sample_spec.rb
237
+ - spec/lib/hamster/hash/select_spec.rb
203
238
  - spec/lib/hamster/hash/size_spec.rb
204
239
  - spec/lib/hamster/hash/slice_spec.rb
205
240
  - spec/lib/hamster/hash/sort_spec.rb
@@ -207,7 +242,6 @@ files:
207
242
  - spec/lib/hamster/hash/take_spec.rb
208
243
  - spec/lib/hamster/hash/to_a_spec.rb
209
244
  - spec/lib/hamster/hash/to_hash_spec.rb
210
- - spec/lib/hamster/hash/uniq_spec.rb
211
245
  - spec/lib/hamster/hash/values_at_spec.rb
212
246
  - spec/lib/hamster/hash/values_spec.rb
213
247
  - spec/lib/hamster/immutable/copying_spec.rb
@@ -240,15 +274,11 @@ files:
240
274
  - spec/lib/hamster/list/each_slice_spec.rb
241
275
  - spec/lib/hamster/list/each_spec.rb
242
276
  - spec/lib/hamster/list/each_with_index_spec.rb
243
- - spec/lib/hamster/list/elem_index_spec.rb
244
- - spec/lib/hamster/list/elem_indices_spec.rb
245
277
  - spec/lib/hamster/list/empty_spec.rb
246
278
  - spec/lib/hamster/list/eql_spec.rb
247
279
  - spec/lib/hamster/list/fill_spec.rb
248
- - spec/lib/hamster/list/filter_spec.rb
249
280
  - spec/lib/hamster/list/find_all_spec.rb
250
281
  - spec/lib/hamster/list/find_index_spec.rb
251
- - spec/lib/hamster/list/find_indices_spec.rb
252
282
  - spec/lib/hamster/list/find_spec.rb
253
283
  - spec/lib/hamster/list/flat_map_spec.rb
254
284
  - spec/lib/hamster/list/flatten_spec.rb
@@ -257,6 +287,8 @@ files:
257
287
  - spec/lib/hamster/list/hash_spec.rb
258
288
  - spec/lib/hamster/list/head_spec.rb
259
289
  - spec/lib/hamster/list/include_spec.rb
290
+ - spec/lib/hamster/list/index_spec.rb
291
+ - spec/lib/hamster/list/indices_spec.rb
260
292
  - spec/lib/hamster/list/init_spec.rb
261
293
  - spec/lib/hamster/list/inits_spec.rb
262
294
  - spec/lib/hamster/list/insert_spec.rb
@@ -264,6 +296,7 @@ files:
264
296
  - spec/lib/hamster/list/intersperse_spec.rb
265
297
  - spec/lib/hamster/list/join_spec.rb
266
298
  - spec/lib/hamster/list/last_spec.rb
299
+ - spec/lib/hamster/list/ltlt_spec.rb
267
300
  - spec/lib/hamster/list/map_spec.rb
268
301
  - spec/lib/hamster/list/maximum_spec.rb
269
302
  - spec/lib/hamster/list/merge_by_spec.rb
@@ -277,7 +310,7 @@ files:
277
310
  - spec/lib/hamster/list/pop_spec.rb
278
311
  - spec/lib/hamster/list/product_spec.rb
279
312
  - spec/lib/hamster/list/reduce_spec.rb
280
- - spec/lib/hamster/list/remove_spec.rb
313
+ - spec/lib/hamster/list/reject_spec.rb
281
314
  - spec/lib/hamster/list/reverse_spec.rb
282
315
  - spec/lib/hamster/list/rotate_spec.rb
283
316
  - spec/lib/hamster/list/sample_spec.rb
@@ -301,6 +334,7 @@ files:
301
334
  - spec/lib/hamster/list/union_spec.rb
302
335
  - spec/lib/hamster/list/uniq_spec.rb
303
336
  - spec/lib/hamster/list/zip_spec.rb
337
+ - spec/lib/hamster/nested/construction_spec.rb
304
338
  - spec/lib/hamster/set/add_spec.rb
305
339
  - spec/lib/hamster/set/all_spec.rb
306
340
  - spec/lib/hamster/set/any_spec.rb
@@ -317,14 +351,12 @@ files:
317
351
  - spec/lib/hamster/set/eqeq_spec.rb
318
352
  - spec/lib/hamster/set/eql_spec.rb
319
353
  - spec/lib/hamster/set/exclusion_spec.rb
320
- - spec/lib/hamster/set/filter_spec.rb
321
354
  - spec/lib/hamster/set/find_spec.rb
355
+ - spec/lib/hamster/set/first_spec.rb
322
356
  - spec/lib/hamster/set/flatten_spec.rb
323
- - spec/lib/hamster/set/foreach_spec.rb
324
357
  - spec/lib/hamster/set/grep_spec.rb
325
358
  - spec/lib/hamster/set/group_by_spec.rb
326
359
  - spec/lib/hamster/set/hash_spec.rb
327
- - spec/lib/hamster/set/head_spec.rb
328
360
  - spec/lib/hamster/set/immutable_spec.rb
329
361
  - spec/lib/hamster/set/include_spec.rb
330
362
  - spec/lib/hamster/set/inspect_spec.rb
@@ -341,9 +373,10 @@ files:
341
373
  - spec/lib/hamster/set/partition_spec.rb
342
374
  - spec/lib/hamster/set/product_spec.rb
343
375
  - spec/lib/hamster/set/reduce_spec.rb
344
- - spec/lib/hamster/set/remove_spec.rb
376
+ - spec/lib/hamster/set/reject_spec.rb
345
377
  - spec/lib/hamster/set/reverse_each_spec.rb
346
378
  - spec/lib/hamster/set/sample_spec.rb
379
+ - spec/lib/hamster/set/select_spec.rb
347
380
  - spec/lib/hamster/set/size_spec.rb
348
381
  - spec/lib/hamster/set/sorting_spec.rb
349
382
  - spec/lib/hamster/set/subset_spec.rb
@@ -353,14 +386,13 @@ files:
353
386
  - spec/lib/hamster/set/to_list_spec.rb
354
387
  - spec/lib/hamster/set/to_set_spec.rb
355
388
  - spec/lib/hamster/set/union_spec.rb
356
- - spec/lib/hamster/set/uniq_spec.rb
357
389
  - spec/lib/hamster/sorted_set/above_spec.rb
358
390
  - spec/lib/hamster/sorted_set/add_spec.rb
359
391
  - spec/lib/hamster/sorted_set/at_spec.rb
360
392
  - spec/lib/hamster/sorted_set/below_spec.rb
361
393
  - spec/lib/hamster/sorted_set/between_spec.rb
362
394
  - spec/lib/hamster/sorted_set/clear_spec.rb
363
- - spec/lib/hamster/sorted_set/construction_spec.rb
395
+ - spec/lib/hamster/sorted_set/copying_spec.rb
364
396
  - spec/lib/hamster/sorted_set/delete_at_spec.rb
365
397
  - spec/lib/hamster/sorted_set/delete_spec.rb
366
398
  - spec/lib/hamster/sorted_set/difference_spec.rb
@@ -372,7 +404,6 @@ files:
372
404
  - spec/lib/hamster/sorted_set/eql_spec.rb
373
405
  - spec/lib/hamster/sorted_set/exclusion_spec.rb
374
406
  - spec/lib/hamster/sorted_set/fetch_spec.rb
375
- - spec/lib/hamster/sorted_set/filter_spec.rb
376
407
  - spec/lib/hamster/sorted_set/find_index_spec.rb
377
408
  - spec/lib/hamster/sorted_set/first_spec.rb
378
409
  - spec/lib/hamster/sorted_set/from_spec.rb
@@ -384,10 +415,12 @@ files:
384
415
  - spec/lib/hamster/sorted_set/last_spec.rb
385
416
  - spec/lib/hamster/sorted_set/map_spec.rb
386
417
  - spec/lib/hamster/sorted_set/marshal_spec.rb
418
+ - spec/lib/hamster/sorted_set/maximum_spec.rb
387
419
  - spec/lib/hamster/sorted_set/minimum_spec.rb
388
420
  - spec/lib/hamster/sorted_set/new_spec.rb
389
421
  - spec/lib/hamster/sorted_set/reverse_each_spec.rb
390
422
  - spec/lib/hamster/sorted_set/sample_spec.rb
423
+ - spec/lib/hamster/sorted_set/select_spec.rb
391
424
  - spec/lib/hamster/sorted_set/size_spec.rb
392
425
  - spec/lib/hamster/sorted_set/slice_spec.rb
393
426
  - spec/lib/hamster/sorted_set/sorting_spec.rb
@@ -419,12 +452,10 @@ files:
419
452
  - spec/lib/hamster/vector/each_with_index_spec.rb
420
453
  - spec/lib/hamster/vector/empty_spec.rb
421
454
  - spec/lib/hamster/vector/eql_spec.rb
422
- - spec/lib/hamster/vector/exist_spec.rb
423
- - spec/lib/hamster/vector/exists_spec.rb
424
455
  - spec/lib/hamster/vector/fetch_spec.rb
425
456
  - spec/lib/hamster/vector/fill_spec.rb
426
- - spec/lib/hamster/vector/filter_spec.rb
427
457
  - spec/lib/hamster/vector/first_spec.rb
458
+ - spec/lib/hamster/vector/flat_map_spec.rb
428
459
  - spec/lib/hamster/vector/flatten_spec.rb
429
460
  - spec/lib/hamster/vector/get_spec.rb
430
461
  - spec/lib/hamster/vector/group_by_spec.rb
@@ -445,8 +476,9 @@ files:
445
476
  - spec/lib/hamster/vector/permutation_spec.rb
446
477
  - spec/lib/hamster/vector/pop_spec.rb
447
478
  - spec/lib/hamster/vector/product_spec.rb
479
+ - spec/lib/hamster/vector/put_spec.rb
448
480
  - spec/lib/hamster/vector/reduce_spec.rb
449
- - spec/lib/hamster/vector/remove_spec.rb
481
+ - spec/lib/hamster/vector/reject_spec.rb
450
482
  - spec/lib/hamster/vector/repeated_combination_spec.rb
451
483
  - spec/lib/hamster/vector/repeated_permutation_spec.rb
452
484
  - spec/lib/hamster/vector/reverse_each_spec.rb
@@ -454,6 +486,7 @@ files:
454
486
  - spec/lib/hamster/vector/rindex_spec.rb
455
487
  - spec/lib/hamster/vector/rotate_spec.rb
456
488
  - spec/lib/hamster/vector/sample_spec.rb
489
+ - spec/lib/hamster/vector/select_spec.rb
457
490
  - spec/lib/hamster/vector/set_spec.rb
458
491
  - spec/lib/hamster/vector/shift_spec.rb
459
492
  - spec/lib/hamster/vector/shuffle_spec.rb
@@ -471,6 +504,7 @@ files:
471
504
  - spec/lib/hamster/vector/unshift_spec.rb
472
505
  - spec/lib/hamster/vector/values_at_spec.rb
473
506
  - spec/lib/hamster/vector/zip_spec.rb
507
+ - spec/lib/load_spec.rb
474
508
  - spec/spec_helper.rb
475
509
  homepage: https://github.com/hamstergem/hamster
476
510
  licenses:
@@ -487,17 +521,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
487
521
  version: 1.9.3
488
522
  required_rubygems_version: !ruby/object:Gem::Requirement
489
523
  requirements:
490
- - - ">"
524
+ - - ">="
491
525
  - !ruby/object:Gem::Version
492
- version: 1.3.1
526
+ version: '0'
493
527
  requirements: []
494
528
  rubyforge_project:
495
- rubygems_version: 2.2.2
529
+ rubygems_version: 2.4.3
496
530
  signing_key:
497
531
  specification_version: 4
498
532
  summary: Efficient, immutable, thread-safe collection classes for Ruby
499
533
  test_files:
500
534
  - spec/fixtures/io_spec.txt
535
+ - spec/lib/hamster/associable/associable_spec.rb
501
536
  - spec/lib/hamster/core_ext/array_spec.rb
502
537
  - spec/lib/hamster/core_ext/enumerable_spec.rb
503
538
  - spec/lib/hamster/core_ext/io_spec.rb
@@ -507,13 +542,16 @@ test_files:
507
542
  - spec/lib/hamster/deque/dequeue_spec.rb
508
543
  - spec/lib/hamster/deque/empty_spec.rb
509
544
  - spec/lib/hamster/deque/enqueue_spec.rb
510
- - spec/lib/hamster/deque/head_spec.rb
545
+ - spec/lib/hamster/deque/first_spec.rb
511
546
  - spec/lib/hamster/deque/inspect_spec.rb
512
547
  - spec/lib/hamster/deque/last_spec.rb
513
548
  - spec/lib/hamster/deque/marshal_spec.rb
514
549
  - spec/lib/hamster/deque/new_spec.rb
515
550
  - spec/lib/hamster/deque/pop_spec.rb
551
+ - spec/lib/hamster/deque/pretty_print_spec.rb
552
+ - spec/lib/hamster/deque/push_spec.rb
516
553
  - spec/lib/hamster/deque/random_modification_spec.rb
554
+ - spec/lib/hamster/deque/shift_spec.rb
517
555
  - spec/lib/hamster/deque/size_spec.rb
518
556
  - spec/lib/hamster/deque/to_a_spec.rb
519
557
  - spec/lib/hamster/deque/to_ary_spec.rb
@@ -537,7 +575,6 @@ test_files:
537
575
  - spec/lib/hamster/hash/eql_spec.rb
538
576
  - spec/lib/hamster/hash/except_spec.rb
539
577
  - spec/lib/hamster/hash/fetch_spec.rb
540
- - spec/lib/hamster/hash/filter_spec.rb
541
578
  - spec/lib/hamster/hash/find_spec.rb
542
579
  - spec/lib/hamster/hash/flat_map_spec.rb
543
580
  - spec/lib/hamster/hash/flatten_spec.rb
@@ -560,9 +597,10 @@ test_files:
560
597
  - spec/lib/hamster/hash/pretty_print_spec.rb
561
598
  - spec/lib/hamster/hash/put_spec.rb
562
599
  - spec/lib/hamster/hash/reduce_spec.rb
563
- - spec/lib/hamster/hash/remove_spec.rb
600
+ - spec/lib/hamster/hash/reject_spec.rb
564
601
  - spec/lib/hamster/hash/reverse_each_spec.rb
565
602
  - spec/lib/hamster/hash/sample_spec.rb
603
+ - spec/lib/hamster/hash/select_spec.rb
566
604
  - spec/lib/hamster/hash/size_spec.rb
567
605
  - spec/lib/hamster/hash/slice_spec.rb
568
606
  - spec/lib/hamster/hash/sort_spec.rb
@@ -570,7 +608,6 @@ test_files:
570
608
  - spec/lib/hamster/hash/take_spec.rb
571
609
  - spec/lib/hamster/hash/to_a_spec.rb
572
610
  - spec/lib/hamster/hash/to_hash_spec.rb
573
- - spec/lib/hamster/hash/uniq_spec.rb
574
611
  - spec/lib/hamster/hash/values_at_spec.rb
575
612
  - spec/lib/hamster/hash/values_spec.rb
576
613
  - spec/lib/hamster/immutable/copying_spec.rb
@@ -603,15 +640,11 @@ test_files:
603
640
  - spec/lib/hamster/list/each_slice_spec.rb
604
641
  - spec/lib/hamster/list/each_spec.rb
605
642
  - spec/lib/hamster/list/each_with_index_spec.rb
606
- - spec/lib/hamster/list/elem_index_spec.rb
607
- - spec/lib/hamster/list/elem_indices_spec.rb
608
643
  - spec/lib/hamster/list/empty_spec.rb
609
644
  - spec/lib/hamster/list/eql_spec.rb
610
645
  - spec/lib/hamster/list/fill_spec.rb
611
- - spec/lib/hamster/list/filter_spec.rb
612
646
  - spec/lib/hamster/list/find_all_spec.rb
613
647
  - spec/lib/hamster/list/find_index_spec.rb
614
- - spec/lib/hamster/list/find_indices_spec.rb
615
648
  - spec/lib/hamster/list/find_spec.rb
616
649
  - spec/lib/hamster/list/flat_map_spec.rb
617
650
  - spec/lib/hamster/list/flatten_spec.rb
@@ -620,6 +653,8 @@ test_files:
620
653
  - spec/lib/hamster/list/hash_spec.rb
621
654
  - spec/lib/hamster/list/head_spec.rb
622
655
  - spec/lib/hamster/list/include_spec.rb
656
+ - spec/lib/hamster/list/index_spec.rb
657
+ - spec/lib/hamster/list/indices_spec.rb
623
658
  - spec/lib/hamster/list/init_spec.rb
624
659
  - spec/lib/hamster/list/inits_spec.rb
625
660
  - spec/lib/hamster/list/insert_spec.rb
@@ -627,6 +662,7 @@ test_files:
627
662
  - spec/lib/hamster/list/intersperse_spec.rb
628
663
  - spec/lib/hamster/list/join_spec.rb
629
664
  - spec/lib/hamster/list/last_spec.rb
665
+ - spec/lib/hamster/list/ltlt_spec.rb
630
666
  - spec/lib/hamster/list/map_spec.rb
631
667
  - spec/lib/hamster/list/maximum_spec.rb
632
668
  - spec/lib/hamster/list/merge_by_spec.rb
@@ -640,7 +676,7 @@ test_files:
640
676
  - spec/lib/hamster/list/pop_spec.rb
641
677
  - spec/lib/hamster/list/product_spec.rb
642
678
  - spec/lib/hamster/list/reduce_spec.rb
643
- - spec/lib/hamster/list/remove_spec.rb
679
+ - spec/lib/hamster/list/reject_spec.rb
644
680
  - spec/lib/hamster/list/reverse_spec.rb
645
681
  - spec/lib/hamster/list/rotate_spec.rb
646
682
  - spec/lib/hamster/list/sample_spec.rb
@@ -664,6 +700,7 @@ test_files:
664
700
  - spec/lib/hamster/list/union_spec.rb
665
701
  - spec/lib/hamster/list/uniq_spec.rb
666
702
  - spec/lib/hamster/list/zip_spec.rb
703
+ - spec/lib/hamster/nested/construction_spec.rb
667
704
  - spec/lib/hamster/set/add_spec.rb
668
705
  - spec/lib/hamster/set/all_spec.rb
669
706
  - spec/lib/hamster/set/any_spec.rb
@@ -680,14 +717,12 @@ test_files:
680
717
  - spec/lib/hamster/set/eqeq_spec.rb
681
718
  - spec/lib/hamster/set/eql_spec.rb
682
719
  - spec/lib/hamster/set/exclusion_spec.rb
683
- - spec/lib/hamster/set/filter_spec.rb
684
720
  - spec/lib/hamster/set/find_spec.rb
721
+ - spec/lib/hamster/set/first_spec.rb
685
722
  - spec/lib/hamster/set/flatten_spec.rb
686
- - spec/lib/hamster/set/foreach_spec.rb
687
723
  - spec/lib/hamster/set/grep_spec.rb
688
724
  - spec/lib/hamster/set/group_by_spec.rb
689
725
  - spec/lib/hamster/set/hash_spec.rb
690
- - spec/lib/hamster/set/head_spec.rb
691
726
  - spec/lib/hamster/set/immutable_spec.rb
692
727
  - spec/lib/hamster/set/include_spec.rb
693
728
  - spec/lib/hamster/set/inspect_spec.rb
@@ -704,9 +739,10 @@ test_files:
704
739
  - spec/lib/hamster/set/partition_spec.rb
705
740
  - spec/lib/hamster/set/product_spec.rb
706
741
  - spec/lib/hamster/set/reduce_spec.rb
707
- - spec/lib/hamster/set/remove_spec.rb
742
+ - spec/lib/hamster/set/reject_spec.rb
708
743
  - spec/lib/hamster/set/reverse_each_spec.rb
709
744
  - spec/lib/hamster/set/sample_spec.rb
745
+ - spec/lib/hamster/set/select_spec.rb
710
746
  - spec/lib/hamster/set/size_spec.rb
711
747
  - spec/lib/hamster/set/sorting_spec.rb
712
748
  - spec/lib/hamster/set/subset_spec.rb
@@ -716,14 +752,13 @@ test_files:
716
752
  - spec/lib/hamster/set/to_list_spec.rb
717
753
  - spec/lib/hamster/set/to_set_spec.rb
718
754
  - spec/lib/hamster/set/union_spec.rb
719
- - spec/lib/hamster/set/uniq_spec.rb
720
755
  - spec/lib/hamster/sorted_set/above_spec.rb
721
756
  - spec/lib/hamster/sorted_set/add_spec.rb
722
757
  - spec/lib/hamster/sorted_set/at_spec.rb
723
758
  - spec/lib/hamster/sorted_set/below_spec.rb
724
759
  - spec/lib/hamster/sorted_set/between_spec.rb
725
760
  - spec/lib/hamster/sorted_set/clear_spec.rb
726
- - spec/lib/hamster/sorted_set/construction_spec.rb
761
+ - spec/lib/hamster/sorted_set/copying_spec.rb
727
762
  - spec/lib/hamster/sorted_set/delete_at_spec.rb
728
763
  - spec/lib/hamster/sorted_set/delete_spec.rb
729
764
  - spec/lib/hamster/sorted_set/difference_spec.rb
@@ -735,7 +770,6 @@ test_files:
735
770
  - spec/lib/hamster/sorted_set/eql_spec.rb
736
771
  - spec/lib/hamster/sorted_set/exclusion_spec.rb
737
772
  - spec/lib/hamster/sorted_set/fetch_spec.rb
738
- - spec/lib/hamster/sorted_set/filter_spec.rb
739
773
  - spec/lib/hamster/sorted_set/find_index_spec.rb
740
774
  - spec/lib/hamster/sorted_set/first_spec.rb
741
775
  - spec/lib/hamster/sorted_set/from_spec.rb
@@ -747,10 +781,12 @@ test_files:
747
781
  - spec/lib/hamster/sorted_set/last_spec.rb
748
782
  - spec/lib/hamster/sorted_set/map_spec.rb
749
783
  - spec/lib/hamster/sorted_set/marshal_spec.rb
784
+ - spec/lib/hamster/sorted_set/maximum_spec.rb
750
785
  - spec/lib/hamster/sorted_set/minimum_spec.rb
751
786
  - spec/lib/hamster/sorted_set/new_spec.rb
752
787
  - spec/lib/hamster/sorted_set/reverse_each_spec.rb
753
788
  - spec/lib/hamster/sorted_set/sample_spec.rb
789
+ - spec/lib/hamster/sorted_set/select_spec.rb
754
790
  - spec/lib/hamster/sorted_set/size_spec.rb
755
791
  - spec/lib/hamster/sorted_set/slice_spec.rb
756
792
  - spec/lib/hamster/sorted_set/sorting_spec.rb
@@ -782,12 +818,10 @@ test_files:
782
818
  - spec/lib/hamster/vector/each_with_index_spec.rb
783
819
  - spec/lib/hamster/vector/empty_spec.rb
784
820
  - spec/lib/hamster/vector/eql_spec.rb
785
- - spec/lib/hamster/vector/exist_spec.rb
786
- - spec/lib/hamster/vector/exists_spec.rb
787
821
  - spec/lib/hamster/vector/fetch_spec.rb
788
822
  - spec/lib/hamster/vector/fill_spec.rb
789
- - spec/lib/hamster/vector/filter_spec.rb
790
823
  - spec/lib/hamster/vector/first_spec.rb
824
+ - spec/lib/hamster/vector/flat_map_spec.rb
791
825
  - spec/lib/hamster/vector/flatten_spec.rb
792
826
  - spec/lib/hamster/vector/get_spec.rb
793
827
  - spec/lib/hamster/vector/group_by_spec.rb
@@ -808,8 +842,9 @@ test_files:
808
842
  - spec/lib/hamster/vector/permutation_spec.rb
809
843
  - spec/lib/hamster/vector/pop_spec.rb
810
844
  - spec/lib/hamster/vector/product_spec.rb
845
+ - spec/lib/hamster/vector/put_spec.rb
811
846
  - spec/lib/hamster/vector/reduce_spec.rb
812
- - spec/lib/hamster/vector/remove_spec.rb
847
+ - spec/lib/hamster/vector/reject_spec.rb
813
848
  - spec/lib/hamster/vector/repeated_combination_spec.rb
814
849
  - spec/lib/hamster/vector/repeated_permutation_spec.rb
815
850
  - spec/lib/hamster/vector/reverse_each_spec.rb
@@ -817,6 +852,7 @@ test_files:
817
852
  - spec/lib/hamster/vector/rindex_spec.rb
818
853
  - spec/lib/hamster/vector/rotate_spec.rb
819
854
  - spec/lib/hamster/vector/sample_spec.rb
855
+ - spec/lib/hamster/vector/select_spec.rb
820
856
  - spec/lib/hamster/vector/set_spec.rb
821
857
  - spec/lib/hamster/vector/shift_spec.rb
822
858
  - spec/lib/hamster/vector/shuffle_spec.rb
@@ -834,5 +870,6 @@ test_files:
834
870
  - spec/lib/hamster/vector/unshift_spec.rb
835
871
  - spec/lib/hamster/vector/values_at_spec.rb
836
872
  - spec/lib/hamster/vector/zip_spec.rb
873
+ - spec/lib/load_spec.rb
837
874
  - spec/spec_helper.rb
838
875
  has_rdoc: