hamster 1.0.1.pre.rc.1 → 1.0.1.pre.rc2

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 (209) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hamster/groupable.rb +12 -0
  3. data/lib/hamster/hash.rb +32 -12
  4. data/lib/hamster/list.rb +68 -22
  5. data/lib/hamster/queue.rb +5 -6
  6. data/lib/hamster/set.rb +50 -14
  7. data/lib/hamster/stack.rb +2 -0
  8. data/lib/hamster/trie.rb +34 -14
  9. data/lib/hamster/tuple.rb +9 -24
  10. data/lib/hamster/vector.rb +29 -7
  11. data/lib/hamster/version.rb +1 -1
  12. data/spec/hamster/core_ext/array_spec.rb +4 -10
  13. data/spec/hamster/core_ext/enumerable_spec.rb +1 -0
  14. data/spec/hamster/experimental/mutable_set/add_qm_spec.rb +14 -22
  15. data/spec/hamster/experimental/mutable_set/add_spec.rb +20 -34
  16. data/spec/hamster/experimental/mutable_set/delete_qm_spec.rb +15 -24
  17. data/spec/hamster/experimental/mutable_set/delete_spec.rb +15 -25
  18. data/spec/hamster/experimental/mutable_stack/pop_spec.rb +21 -27
  19. data/spec/hamster/experimental/mutable_stack/push_spec.rb +11 -31
  20. data/spec/hamster/hash/all_spec.rb +21 -34
  21. data/spec/hamster/hash/any_spec.rb +0 -15
  22. data/spec/hamster/hash/clear_spec.rb +1 -8
  23. data/spec/hamster/hash/construction_spec.rb +3 -11
  24. data/spec/hamster/hash/copying_spec.rb +1 -8
  25. data/spec/hamster/hash/delete_spec.rb +1 -10
  26. data/spec/hamster/hash/each_spec.rb +1 -12
  27. data/spec/hamster/hash/empty_spec.rb +8 -8
  28. data/spec/hamster/hash/eql_spec.rb +30 -22
  29. data/spec/hamster/hash/except_spec.rb +1 -10
  30. data/spec/hamster/hash/fetch_spec.rb +1 -24
  31. data/spec/hamster/hash/filter_spec.rb +1 -16
  32. data/spec/hamster/hash/find_spec.rb +1 -14
  33. data/spec/hamster/hash/has_key_spec.rb +1 -10
  34. data/spec/hamster/hash/hash_spec.rb +1 -16
  35. data/spec/hamster/hash/immutable_spec.rb +0 -3
  36. data/spec/hamster/hash/inspect_spec.rb +1 -9
  37. data/spec/hamster/hash/keys_spec.rb +4 -5
  38. data/spec/hamster/hash/map_spec.rb +1 -16
  39. data/spec/hamster/hash/merge_spec.rb +5 -11
  40. data/spec/hamster/hash/new_spec.rb +21 -0
  41. data/spec/hamster/hash/put_spec.rb +13 -11
  42. data/spec/hamster/hash/reduce_spec.rb +7 -15
  43. data/spec/hamster/hash/remove_spec.rb +1 -16
  44. data/spec/hamster/hash/uniq_spec.rb +1 -8
  45. data/spec/hamster/hash/values_spec.rb +1 -6
  46. data/spec/hamster/immutable/copying_spec.rb +1 -8
  47. data/spec/hamster/immutable/immutable_spec.rb +1 -14
  48. data/spec/hamster/immutable/memoize_spec.rb +0 -1
  49. data/spec/hamster/list/add_spec.rb +1 -6
  50. data/spec/hamster/list/all_spec.rb +1 -28
  51. data/spec/hamster/list/any_spec.rb +1 -20
  52. data/spec/hamster/list/append_spec.rb +1 -11
  53. data/spec/hamster/list/at_spec.rb +1 -13
  54. data/spec/hamster/list/break_spec.rb +1 -13
  55. data/spec/hamster/list/cadr_spec.rb +1 -9
  56. data/spec/hamster/list/chunk_spec.rb +1 -9
  57. data/spec/hamster/list/clear_spec.rb +1 -9
  58. data/spec/hamster/list/combinations_spec.rb +1 -11
  59. data/spec/hamster/list/compact_spec.rb +1 -9
  60. data/spec/hamster/list/cons_spec.rb +1 -10
  61. data/spec/hamster/list/construction_spec.rb +1 -30
  62. data/spec/hamster/list/copying_spec.rb +1 -9
  63. data/spec/hamster/list/count_spec.rb +1 -15
  64. data/spec/hamster/list/cycle_spec.rb +1 -10
  65. data/spec/hamster/list/drop_spec.rb +1 -9
  66. data/spec/hamster/list/drop_while_spec.rb +1 -13
  67. data/spec/hamster/list/each_slice_spec.rb +1 -17
  68. data/spec/hamster/list/each_spec.rb +1 -17
  69. data/spec/hamster/list/each_with_index_spec.rb +1 -10
  70. data/spec/hamster/list/elem_index_spec.rb +1 -13
  71. data/spec/hamster/list/elem_indices_spec.rb +1 -11
  72. data/spec/hamster/list/empty_spec.rb +1 -13
  73. data/spec/hamster/list/eql_spec.rb +52 -62
  74. data/spec/hamster/list/find_index_spec.rb +1 -13
  75. data/spec/hamster/list/find_indices_spec.rb +1 -11
  76. data/spec/hamster/list/find_spec.rb +1 -17
  77. data/spec/hamster/list/flatten_spec.rb +1 -9
  78. data/spec/hamster/list/grep_spec.rb +1 -16
  79. data/spec/hamster/list/group_by_spec.rb +1 -20
  80. data/spec/hamster/list/head_spec.rb +1 -11
  81. data/spec/hamster/list/include_spec.rb +1 -13
  82. data/spec/hamster/list/init_spec.rb +1 -8
  83. data/spec/hamster/list/inits_spec.rb +1 -9
  84. data/spec/hamster/list/inspect_spec.rb +1 -11
  85. data/spec/hamster/list/intersperse_spec.rb +1 -9
  86. data/spec/hamster/list/join_spec.rb +1 -18
  87. data/spec/hamster/list/last_spec.rb +1 -11
  88. data/spec/hamster/list/map_spec.rb +1 -15
  89. data/spec/hamster/list/maximum_spec.rb +1 -20
  90. data/spec/hamster/list/merge_by_spec.rb +1 -19
  91. data/spec/hamster/list/merge_spec.rb +1 -20
  92. data/spec/hamster/list/minimum_spec.rb +1 -20
  93. data/spec/hamster/list/none_spec.rb +1 -18
  94. data/spec/hamster/list/one_spec.rb +1 -16
  95. data/spec/hamster/list/partition_spec.rb +1 -13
  96. data/spec/hamster/list/product_spec.rb +1 -11
  97. data/spec/hamster/list/reduce_spec.rb +0 -1
  98. data/spec/hamster/list/remove_spec.rb +1 -15
  99. data/spec/hamster/list/reverse_spec.rb +1 -11
  100. data/spec/hamster/list/size_spec.rb +1 -13
  101. data/spec/hamster/list/slice_spec.rb +1 -11
  102. data/spec/hamster/list/sorting_spec.rb +1 -14
  103. data/spec/hamster/list/span_spec.rb +1 -12
  104. data/spec/hamster/list/split_at_spec.rb +1 -9
  105. data/spec/hamster/list/sum_spec.rb +1 -11
  106. data/spec/hamster/list/tail_spec.rb +1 -11
  107. data/spec/hamster/list/tails_spec.rb +1 -9
  108. data/spec/hamster/list/take_spec.rb +1 -9
  109. data/spec/hamster/list/take_while_spec.rb +0 -1
  110. data/spec/hamster/list/to_a_spec.rb +1 -13
  111. data/spec/hamster/list/to_ary_spec.rb +0 -1
  112. data/spec/hamster/list/to_list_spec.rb +1 -9
  113. data/spec/hamster/list/to_set_spec.rb +2 -8
  114. data/spec/hamster/list/union_spec.rb +1 -11
  115. data/spec/hamster/list/uniq_spec.rb +1 -11
  116. data/spec/hamster/queue/clear_spec.rb +1 -9
  117. data/spec/hamster/queue/construction_spec.rb +1 -10
  118. data/spec/hamster/queue/dequeue_spec.rb +1 -11
  119. data/spec/hamster/queue/empty_spec.rb +1 -13
  120. data/spec/hamster/queue/enqueue_spec.rb +1 -11
  121. data/spec/hamster/queue/head_spec.rb +1 -11
  122. data/spec/hamster/queue/inspect_spec.rb +1 -9
  123. data/spec/hamster/queue/size_spec.rb +1 -11
  124. data/spec/hamster/queue/to_a_spec.rb +1 -11
  125. data/spec/hamster/queue/to_list_spec.rb +1 -11
  126. data/spec/hamster/set/add_spec.rb +1 -12
  127. data/spec/hamster/set/all_spec.rb +1 -18
  128. data/spec/hamster/set/any_spec.rb +1 -17
  129. data/spec/hamster/set/clear_spec.rb +9 -8
  130. data/spec/hamster/set/compact_spec.rb +1 -9
  131. data/spec/hamster/set/construction_spec.rb +1 -9
  132. data/spec/hamster/set/copying_spec.rb +1 -8
  133. data/spec/hamster/set/count_spec.rb +1 -13
  134. data/spec/hamster/set/delete_spec.rb +1 -10
  135. data/spec/hamster/set/difference_spec.rb +1 -11
  136. data/spec/hamster/set/empty_spec.rb +1 -11
  137. data/spec/hamster/set/exclusion_spec.rb +1 -11
  138. data/spec/hamster/set/filter_spec.rb +10 -17
  139. data/spec/hamster/set/find_spec.rb +1 -14
  140. data/spec/hamster/set/flatten_spec.rb +8 -10
  141. data/spec/hamster/set/group_by_spec.rb +8 -17
  142. data/spec/hamster/set/head_spec.rb +1 -12
  143. data/spec/hamster/set/immutable_spec.rb +1 -4
  144. data/spec/hamster/set/include_spec.rb +1 -9
  145. data/spec/hamster/set/inspect_spec.rb +1 -9
  146. data/spec/hamster/set/intersection_spec.rb +1 -11
  147. data/spec/hamster/set/join_spec.rb +1 -16
  148. data/spec/hamster/set/map_spec.rb +1 -16
  149. data/spec/hamster/set/marshal_spec.rb +1 -6
  150. data/spec/hamster/set/maximum_spec.rb +1 -18
  151. data/spec/hamster/set/minimum_spec.rb +1 -17
  152. data/spec/hamster/set/new_spec.rb +21 -0
  153. data/spec/hamster/set/none_spec.rb +1 -16
  154. data/spec/hamster/set/one_spec.rb +1 -14
  155. data/spec/hamster/set/partition_spec.rb +1 -13
  156. data/spec/hamster/set/product_spec.rb +1 -9
  157. data/spec/hamster/set/reduce_spec.rb +1 -26
  158. data/spec/hamster/set/remove_spec.rb +1 -16
  159. data/spec/hamster/set/size_spec.rb +1 -9
  160. data/spec/hamster/set/sorting_spec.rb +1 -3
  161. data/spec/hamster/set/subset_spec.rb +1 -9
  162. data/spec/hamster/set/sum_spec.rb +1 -9
  163. data/spec/hamster/set/superset_spec.rb +1 -9
  164. data/spec/hamster/set/to_a_spec.rb +1 -11
  165. data/spec/hamster/set/to_list_spec.rb +1 -11
  166. data/spec/hamster/set/to_set_spec.rb +1 -9
  167. data/spec/hamster/set/union_spec.rb +1 -11
  168. data/spec/hamster/set/uniq_spec.rb +1 -7
  169. data/spec/hamster/sorter/immutable_spec.rb +1 -4
  170. data/spec/hamster/stack/clear_spec.rb +1 -9
  171. data/spec/hamster/stack/construction_spec.rb +1 -10
  172. data/spec/hamster/stack/copying_spec.rb +1 -9
  173. data/spec/hamster/stack/empty_spec.rb +1 -9
  174. data/spec/hamster/stack/eql_spec.rb +1 -13
  175. data/spec/hamster/stack/immutable_spec.rb +1 -4
  176. data/spec/hamster/stack/inspect_spec.rb +1 -9
  177. data/spec/hamster/stack/peek_spec.rb +1 -11
  178. data/spec/hamster/stack/pop_spec.rb +1 -11
  179. data/spec/hamster/stack/push_spec.rb +1 -11
  180. data/spec/hamster/stack/size_spec.rb +1 -11
  181. data/spec/hamster/stack/to_a_spec.rb +1 -11
  182. data/spec/hamster/stack/to_list_spec.rb +1 -9
  183. data/spec/hamster/tuple/construction_spec.rb +30 -0
  184. data/spec/hamster/tuple/copying_spec.rb +1 -8
  185. data/spec/hamster/tuple/eql_spec.rb +57 -40
  186. data/spec/hamster/tuple/first_spec.rb +1 -6
  187. data/spec/hamster/tuple/immutable_spec.rb +1 -4
  188. data/spec/hamster/tuple/inspect_spec.rb +1 -6
  189. data/spec/hamster/tuple/last_spec.rb +1 -6
  190. data/spec/hamster/tuple/to_a_spec.rb +1 -9
  191. data/spec/hamster/tuple/to_ary_spec.rb +0 -1
  192. data/spec/hamster/undefined/erase_spec.rb +1 -12
  193. data/spec/hamster/vector/add_spec.rb +8 -0
  194. data/spec/hamster/vector/clear_spec.rb +1 -8
  195. data/spec/hamster/vector/copying_spec.rb +1 -8
  196. data/spec/hamster/vector/each_spec.rb +1 -11
  197. data/spec/hamster/vector/each_with_index_spec.rb +1 -9
  198. data/spec/hamster/vector/empty_spec.rb +7 -9
  199. data/spec/hamster/vector/eql_spec.rb +1 -12
  200. data/spec/hamster/vector/filter_spec.rb +8 -12
  201. data/spec/hamster/vector/first_spec.rb +1 -11
  202. data/spec/hamster/vector/get_spec.rb +1 -23
  203. data/spec/hamster/vector/include_spec.rb +1 -10
  204. data/spec/hamster/vector/map_spec.rb +8 -14
  205. data/spec/hamster/vector/new_spec.rb +48 -0
  206. data/spec/hamster/vector/reduce_spec.rb +1 -26
  207. data/spec/hamster/vector/set_spec.rb +8 -0
  208. data/spec/spec_helper.rb +0 -5
  209. metadata +35 -68
@@ -1,13 +1,9 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:find, :detect].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  [
12
8
  [[], "A", nil],
13
9
  [[], nil, nil],
@@ -21,7 +17,6 @@ describe Hamster::Set do
21
17
  ].each do |values, item, expected|
22
18
 
23
19
  describe "on #{values.inspect}" do
24
-
25
20
  before do
26
21
  @set = Hamster.set(*values)
27
22
  end
@@ -31,23 +26,15 @@ describe Hamster::Set do
31
26
  it "returns #{expected.inspect}" do
32
27
  @set.send(method) { |x| x == item }.should == expected
33
28
  end
34
-
35
29
  end
36
30
 
37
31
  describe "without a block" do
38
-
39
32
  it "returns nil" do
40
33
  @set.send(method).should be_nil
41
34
  end
42
-
43
35
  end
44
-
45
36
  end
46
-
47
37
  end
48
-
49
38
  end
50
-
51
39
  end
52
-
53
- end
40
+ end
@@ -1,11 +1,8 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster do
6
-
7
5
  describe "#flatten" do
8
-
9
6
  [
10
7
  [["A"], ["A"]],
11
8
  [%w[A B C], %w[A B C]],
@@ -14,7 +11,6 @@ describe Hamster do
14
11
  ].each do |values, expected|
15
12
 
16
13
  describe "on #{values}" do
17
-
18
14
  before do
19
15
  @original = Hamster.set(*values)
20
16
  @result = @original.flatten
@@ -27,13 +23,10 @@ describe Hamster do
27
23
  it "returns the inlined values" do
28
24
  @result.should == Hamster.set(*expected)
29
25
  end
30
-
31
26
  end
32
-
33
27
  end
34
28
 
35
29
  describe "on an empty set" do
36
-
37
30
  before do
38
31
  @result = Hamster.set.flatten
39
32
  end
@@ -41,9 +34,14 @@ describe Hamster do
41
34
  it "returns an empty set" do
42
35
  @result.should equal(Hamster.set)
43
36
  end
44
-
45
37
  end
46
38
 
39
+ context "from a subclass" do
40
+ it "returns an instance of the subclass" do
41
+ @subclass = Class.new(Hamster::Set)
42
+ @subclass.new.flatten.class.should be(@subclass)
43
+ @subclass.new(Hamster.set(1), Hamster.set(2)).class.should be(@subclass)
44
+ end
45
+ end
47
46
  end
48
-
49
- end
47
+ end
@@ -1,15 +1,10 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:group_by, :group].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  describe "with a block" do
12
-
13
8
  [
14
9
  [[], []],
15
10
  [[1], [true => Hamster.set(1)]],
@@ -17,7 +12,6 @@ describe Hamster::Set do
17
12
  ].each do |values, expected|
18
13
 
19
14
  describe "on #{values.inspect}" do
20
-
21
15
  before do
22
16
  original = Hamster.set(*values)
23
17
  @result = original.send(method, &:odd?)
@@ -26,15 +20,11 @@ describe Hamster::Set do
26
20
  it "returns #{expected.inspect}" do
27
21
  @result.should == Hamster.hash(*expected)
28
22
  end
29
-
30
23
  end
31
-
32
24
  end
33
-
34
25
  end
35
26
 
36
27
  describe "without a block" do
37
-
38
28
  [
39
29
  [[], []],
40
30
  [[1], [1 => Hamster.set(1)]],
@@ -42,7 +32,6 @@ describe Hamster::Set do
42
32
  ].each do |values, expected|
43
33
 
44
34
  describe "on #{values.inspect}" do
45
-
46
35
  before do
47
36
  original = Hamster.set(*values)
48
37
  @result = original.group_by
@@ -51,15 +40,17 @@ describe Hamster::Set do
51
40
  it "returns #{expected.inspect}" do
52
41
  @result.should == Hamster.hash(*expected)
53
42
  end
54
-
55
43
  end
56
-
57
44
  end
58
-
59
45
  end
60
46
 
47
+ context "from a subclass" do
48
+ it "returns an Hash whose values are instances of the subclass" do
49
+ @subclass = Class.new(Hamster::Set)
50
+ @instance = @subclass.new(1, 'string', :symbol)
51
+ @instance.group_by { |x| x.class }.values.each { |v| v.class.should be(@subclass) }
52
+ end
53
+ end
61
54
  end
62
-
63
55
  end
64
-
65
- end
56
+ end
@@ -1,15 +1,10 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:head, :first].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  describe "on an empty set" do
12
-
13
8
  before do
14
9
  @result = Hamster.set.send(method)
15
10
  end
@@ -17,11 +12,9 @@ describe Hamster::Set do
17
12
  it "returns nil" do
18
13
  @returns.should be_nil
19
14
  end
20
-
21
15
  end
22
16
 
23
17
  describe "on a non-empty set" do
24
-
25
18
  before do
26
19
  @result = Hamster.set("A", "B", "C").send(method)
27
20
  end
@@ -29,11 +22,7 @@ describe Hamster::Set do
29
22
  it "returns an arbitrary value from the set" do
30
23
  %w[A B C].should include(@result)
31
24
  end
32
-
33
25
  end
34
-
35
26
  end
36
-
37
27
  end
38
-
39
- end
28
+ end
@@ -1,12 +1,9 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/immutable"
4
3
  require "hamster/set"
5
4
 
6
5
  describe Hamster::Set do
7
-
8
6
  it "includes Immutable" do
9
7
  Hamster::Set.should include(Hamster::Immutable)
10
8
  end
11
-
12
- end
9
+ end
@@ -1,13 +1,9 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:include?, :member?, :contains?, :elem?].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  before do
12
8
  @set = Hamster.set("A", "B", "C", 2.0, nil)
13
9
  end
@@ -17,7 +13,6 @@ describe Hamster::Set do
17
13
  it "returns true for an existing value (#{value.inspect})" do
18
14
  @set.send(method, value).should == true
19
15
  end
20
-
21
16
  end
22
17
 
23
18
  it "returns false for a non-existing value" do
@@ -27,9 +22,6 @@ describe Hamster::Set do
27
22
  it "uses #eql? for equality" do
28
23
  @set.send(method, 2).should == false
29
24
  end
30
-
31
25
  end
32
-
33
26
  end
34
-
35
- end
27
+ end
@@ -1,11 +1,8 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  describe "#inspect" do
8
-
9
6
  [
10
7
  [[], "{}"],
11
8
  [["A"], "{\"A\"}"],
@@ -13,7 +10,6 @@ describe Hamster::Set do
13
10
  ].each do |values, expected|
14
11
 
15
12
  describe "on #{values.inspect}" do
16
-
17
13
  before do
18
14
  original = Hamster.set(*values)
19
15
  @result = original.inspect
@@ -22,11 +18,7 @@ describe Hamster::Set do
22
18
  it "returns #{expected.inspect}" do
23
19
  @result.should == expected
24
20
  end
25
-
26
21
  end
27
-
28
22
  end
29
-
30
23
  end
31
-
32
- end
24
+ end
@@ -1,13 +1,9 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:intersection, :intersect, :&].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  [
12
8
  [[], [], []],
13
9
  [["A"], [], []],
@@ -17,7 +13,6 @@ describe Hamster::Set do
17
13
  ].each do |a, b, expected|
18
14
 
19
15
  describe "returns #{expected.inspect}" do
20
-
21
16
  before do
22
17
  @a = Hamster.set(*a)
23
18
  @b = Hamster.set(*b)
@@ -34,13 +29,8 @@ describe Hamster::Set do
34
29
  after do
35
30
  @result.should == Hamster.set(*expected)
36
31
  end
37
-
38
32
  end
39
-
40
33
  end
41
-
42
34
  end
43
-
44
35
  end
45
-
46
- end
36
+ end
@@ -1,13 +1,9 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  describe "#join" do
8
-
9
6
  describe "with a separator" do
10
-
11
7
  [
12
8
  [[], ""],
13
9
  [["A"], "A"],
@@ -15,7 +11,6 @@ describe Hamster::Set do
15
11
  ].each do |values, expected|
16
12
 
17
13
  describe "on #{values.inspect}" do
18
-
19
14
  before do
20
15
  @original = Hamster.set(*values)
21
16
  @result = @original.join("|")
@@ -28,15 +23,11 @@ describe Hamster::Set do
28
23
  it "returns #{expected.inspect}" do
29
24
  @result.should == expected
30
25
  end
31
-
32
26
  end
33
-
34
27
  end
35
-
36
28
  end
37
29
 
38
30
  describe "without a separator" do
39
-
40
31
  [
41
32
  [[], ""],
42
33
  [["A"], "A"],
@@ -44,7 +35,6 @@ describe Hamster::Set do
44
35
  ].each do |values, expected|
45
36
 
46
37
  describe "on #{values.inspect}" do
47
-
48
38
  before do
49
39
  @original = Hamster.set(*values)
50
40
  @result = @original.join
@@ -57,13 +47,8 @@ describe Hamster::Set do
57
47
  it "returns #{expected.inspect}" do
58
48
  @result.should == expected
59
49
  end
60
-
61
50
  end
62
-
63
51
  end
64
-
65
52
  end
66
-
67
53
  end
68
-
69
- end
54
+ end
@@ -1,15 +1,10 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  [:map, :collect].each do |method|
8
-
9
6
  describe "##{method}" do
10
-
11
7
  describe "when empty" do
12
-
13
8
  before do
14
9
  @original = Hamster.set
15
10
  @mapped = @original.send(method) {}
@@ -18,17 +13,14 @@ describe Hamster::Set do
18
13
  it "returns self" do
19
14
  @mapped.should equal(@original)
20
15
  end
21
-
22
16
  end
23
17
 
24
18
  describe "when not empty" do
25
-
26
19
  before do
27
20
  @original = Hamster.set("A", "B", "C")
28
21
  end
29
22
 
30
23
  describe "with a block" do
31
-
32
24
  before do
33
25
  @mapped = @original.send(method, &:downcase)
34
26
  end
@@ -40,11 +32,9 @@ describe Hamster::Set do
40
32
  it "returns a new set with the mapped values" do
41
33
  @mapped.should == Hamster.set("a", "b", "c")
42
34
  end
43
-
44
35
  end
45
36
 
46
37
  describe "with no block" do
47
-
48
38
  before do
49
39
  @result = @original.send(method)
50
40
  end
@@ -52,13 +42,8 @@ describe Hamster::Set do
52
42
  it "returns self" do
53
43
  @result.should equal(@original)
54
44
  end
55
-
56
45
  end
57
-
58
46
  end
59
-
60
47
  end
61
-
62
48
  end
63
-
64
- end
49
+ end
@@ -1,11 +1,8 @@
1
1
  require "spec_helper"
2
-
3
2
  require "hamster/set"
4
3
 
5
4
  describe Hamster::Set do
6
-
7
5
  describe "#marshal_dump/#marshal_load" do
8
-
9
6
  let(:ruby) { File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"]) }
10
7
 
11
8
  let(:child_cmd) do
@@ -28,7 +25,5 @@ describe Hamster::Set do
28
25
  reloaded_hash.should include :one
29
26
  reloaded_hash.should include :two
30
27
  end
31
-
32
28
  end
33
-
34
- end
29
+ end