hamster 0.1.20 → 0.1.21
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.
- data/History.rdoc +18 -0
- data/lib/hamster/list.rb +24 -12
- data/lib/hamster/set.rb +19 -0
- data/lib/hamster/version.rb +1 -1
- data/spec/hamster/list/join_spec.rb +77 -0
- data/spec/hamster/list/sort_by_spec.rb +75 -0
- data/spec/hamster/list/sort_spec.rb +52 -0
- data/spec/hamster/set/head_spec.rb +36 -0
- data/spec/hamster/set/inspect_spec.rb +48 -0
- data/spec/hamster/set/sort_by_spec.rb +60 -0
- data/spec/hamster/set/sort_spec.rb +37 -0
- data/spec/hamster/set/to_set_spec.rb +32 -0
- metadata +10 -2
data/History.rdoc
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
=== 0.1.21 / 2010-01-08
|
2
|
+
|
3
|
+
* Implement List#sort. (Very, VERY inefficient implementation!)
|
4
|
+
|
5
|
+
* Implement List#sort_by. (Very, VERY inefficient implementation!)
|
6
|
+
|
7
|
+
* Implement Set#to_set.
|
8
|
+
|
9
|
+
* Implement Set#inspect.
|
10
|
+
|
11
|
+
* Implement Set#first (aliased as #head).
|
12
|
+
|
13
|
+
* Implement Set#sort. (Very, VERY inefficient implementation!)
|
14
|
+
|
15
|
+
* Implement Set#sort_by. (Very, VERY inefficient implementation!)
|
16
|
+
|
17
|
+
* Implement List#join.
|
18
|
+
|
1
19
|
=== 0.1.20 / 2010-01-07
|
2
20
|
|
3
21
|
* Implement Stack#clear.
|
data/lib/hamster/list.rb
CHANGED
@@ -2,8 +2,6 @@ require 'monitor'
|
|
2
2
|
|
3
3
|
module Hamster
|
4
4
|
|
5
|
-
Undefined = Object.new
|
6
|
-
|
7
5
|
class << self
|
8
6
|
|
9
7
|
def list(*items)
|
@@ -22,11 +20,11 @@ module Hamster
|
|
22
20
|
alias_method :range, :interval
|
23
21
|
|
24
22
|
def repeat(item)
|
25
|
-
|
23
|
+
Stream.new(item) { repeat(item) }
|
26
24
|
end
|
27
25
|
|
28
26
|
def replicate(number, item)
|
29
|
-
|
27
|
+
repeat(item).take(number)
|
30
28
|
end
|
31
29
|
|
32
30
|
def iterate(item, &block)
|
@@ -37,6 +35,8 @@ module Hamster
|
|
37
35
|
|
38
36
|
module List
|
39
37
|
|
38
|
+
Undefined = Object.new
|
39
|
+
|
40
40
|
def empty?
|
41
41
|
false
|
42
42
|
end
|
@@ -170,7 +170,7 @@ module Hamster
|
|
170
170
|
|
171
171
|
def partition(&block)
|
172
172
|
return self unless block_given?
|
173
|
-
Stream.new(filter(&block)) {
|
173
|
+
Stream.new(filter(&block)) { Sequence.new(reject(&block)) }
|
174
174
|
end
|
175
175
|
|
176
176
|
def append(other)
|
@@ -201,7 +201,7 @@ module Hamster
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def zip(other)
|
204
|
-
Stream.new(
|
204
|
+
Stream.new(Sequence.new(other.head).cons(head)) { tail.zip(other.tail) }
|
205
205
|
end
|
206
206
|
|
207
207
|
def cycle
|
@@ -209,17 +209,16 @@ module Hamster
|
|
209
209
|
end
|
210
210
|
|
211
211
|
def split_at(number)
|
212
|
-
|
213
|
-
EmptyList.cons(drop(number)).cons(take(number))
|
212
|
+
Sequence.new(drop(number)).cons(take(number))
|
214
213
|
end
|
215
214
|
|
216
215
|
def span(&block)
|
217
|
-
return
|
218
|
-
Stream.new(take_while(&block)) {
|
216
|
+
return Sequence.new(EmptyList).cons(self) unless block_given?
|
217
|
+
Stream.new(take_while(&block)) { Sequence.new(drop_while(&block)) }
|
219
218
|
end
|
220
219
|
|
221
220
|
def break(&block)
|
222
|
-
return
|
221
|
+
return Sequence.new(EmptyList).cons(self) unless block_given?
|
223
222
|
span { |item| !yield(item) }
|
224
223
|
end
|
225
224
|
|
@@ -227,6 +226,19 @@ module Hamster
|
|
227
226
|
EmptyList
|
228
227
|
end
|
229
228
|
|
229
|
+
def sort
|
230
|
+
sort_by { |item| item }
|
231
|
+
end
|
232
|
+
|
233
|
+
def sort_by(&block)
|
234
|
+
return sort unless block_given?
|
235
|
+
Hamster.list(*to_a.sort_by(&block))
|
236
|
+
end
|
237
|
+
|
238
|
+
def join(sep = nil)
|
239
|
+
to_a.join(sep)
|
240
|
+
end
|
241
|
+
|
230
242
|
def eql?(other)
|
231
243
|
return false unless other.is_a?(List)
|
232
244
|
|
@@ -293,7 +305,7 @@ module Hamster
|
|
293
305
|
attr_reader :head, :tail
|
294
306
|
alias_method :first, :head
|
295
307
|
|
296
|
-
def initialize(head, tail =
|
308
|
+
def initialize(head, tail = EmptyList)
|
297
309
|
@head = head
|
298
310
|
@tail = tail
|
299
311
|
end
|
data/lib/hamster/set.rb
CHANGED
@@ -120,6 +120,20 @@ module Hamster
|
|
120
120
|
filter { |item| pattern === item }.map(&block)
|
121
121
|
end
|
122
122
|
|
123
|
+
def head
|
124
|
+
each { |item| return item }
|
125
|
+
nil
|
126
|
+
end
|
127
|
+
alias_method :first, :head
|
128
|
+
|
129
|
+
def sort
|
130
|
+
to_list.sort
|
131
|
+
end
|
132
|
+
|
133
|
+
def sort_by(&block)
|
134
|
+
to_list.sort_by(&block)
|
135
|
+
end
|
136
|
+
|
123
137
|
def eql?(other)
|
124
138
|
other.is_a?(self.class) && @trie.eql?(other.instance_eval{@trie})
|
125
139
|
end
|
@@ -131,6 +145,7 @@ module Hamster
|
|
131
145
|
alias_method :clone, :dup
|
132
146
|
alias_method :uniq, :dup
|
133
147
|
alias_method :nub, :dup
|
148
|
+
alias_method :to_set, :dup
|
134
149
|
|
135
150
|
def to_a
|
136
151
|
reduce([]) { |a, item| a << item }
|
@@ -141,6 +156,10 @@ module Hamster
|
|
141
156
|
reduce(Hamster.list) { |list, item| list.cons(item) }
|
142
157
|
end
|
143
158
|
|
159
|
+
def inspect
|
160
|
+
"{#{to_a.inspect[1..-2]}}"
|
161
|
+
end
|
162
|
+
|
144
163
|
end
|
145
164
|
|
146
165
|
end
|
data/lib/hamster/version.rb
CHANGED
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/list'
|
4
|
+
|
5
|
+
describe Hamster::List do
|
6
|
+
|
7
|
+
describe "#join" do
|
8
|
+
|
9
|
+
describe "doesn't run out of stack space on a really big" do
|
10
|
+
|
11
|
+
it "stream" do
|
12
|
+
@list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "list" do
|
16
|
+
@list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
@list.join
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "with a separator" do
|
26
|
+
|
27
|
+
[
|
28
|
+
[[], ""],
|
29
|
+
[["A"], "A"],
|
30
|
+
[["A", "B", "C"], "A|B|C"]
|
31
|
+
].each do |values, expected|
|
32
|
+
|
33
|
+
describe "on #{values.inspect}" do
|
34
|
+
|
35
|
+
before do
|
36
|
+
original = Hamster.list(*values)
|
37
|
+
@result = original.join("|")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "returns #{expected.inspect}" do
|
41
|
+
@result.should == expected
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "without a separator" do
|
51
|
+
|
52
|
+
[
|
53
|
+
[[], ""],
|
54
|
+
[["A"], "A"],
|
55
|
+
[["A", "B", "C"], "ABC"]
|
56
|
+
].each do |values, expected|
|
57
|
+
|
58
|
+
describe "on #{values.inspect}" do
|
59
|
+
|
60
|
+
before do
|
61
|
+
original = Hamster.list(*values)
|
62
|
+
@result = original.join
|
63
|
+
end
|
64
|
+
|
65
|
+
it "returns #{expected.inspect}" do
|
66
|
+
@result.should == expected
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/list'
|
4
|
+
|
5
|
+
describe Hamster::List do
|
6
|
+
|
7
|
+
describe "#sort_by" do
|
8
|
+
|
9
|
+
describe "doesn't run out of stack space on a really big" do
|
10
|
+
|
11
|
+
it "stream" do
|
12
|
+
@list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "list" do
|
16
|
+
@list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
@list.sort_by { |item| item }
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
[
|
26
|
+
[[], []],
|
27
|
+
[["A"], ["A"]],
|
28
|
+
[["Ichi", "Ni", "San"], ["Ni", "San", "Ichi"]],
|
29
|
+
].each do |values, expected|
|
30
|
+
|
31
|
+
describe "on #{values.inspect}" do
|
32
|
+
|
33
|
+
before do
|
34
|
+
@original = Hamster.list(*values)
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "with a block" do
|
38
|
+
|
39
|
+
before do
|
40
|
+
@result = @original.sort_by { |item| item.length }
|
41
|
+
end
|
42
|
+
|
43
|
+
it "preserves the original" do
|
44
|
+
@original.should == Hamster.list(*values)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "returns #{expected.inspect}" do
|
48
|
+
@result.should == Hamster.list(*expected)
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "without a block" do
|
54
|
+
|
55
|
+
before do
|
56
|
+
@result = @original.sort_by
|
57
|
+
end
|
58
|
+
|
59
|
+
it "preserves the original" do
|
60
|
+
@original.should == Hamster.list(*values)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "returns #{expected.sort.inspect}" do
|
64
|
+
@result.should == Hamster.list(*expected.sort)
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/list'
|
4
|
+
|
5
|
+
describe Hamster::List do
|
6
|
+
|
7
|
+
describe "#sort" do
|
8
|
+
|
9
|
+
describe "doesn't run out of stack space on a really big" do
|
10
|
+
|
11
|
+
it "stream" do
|
12
|
+
@list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "list" do
|
16
|
+
@list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
@list.sort
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
[
|
26
|
+
[[], []],
|
27
|
+
[["A"], ["A"]],
|
28
|
+
[["C", "A", "B"], ["A", "B", "C"]],
|
29
|
+
].each do |values, expected|
|
30
|
+
|
31
|
+
describe "on #{values.inspect}" do
|
32
|
+
|
33
|
+
before do
|
34
|
+
@original = Hamster.list(*values)
|
35
|
+
@result = @original.sort
|
36
|
+
end
|
37
|
+
|
38
|
+
it "preserves the original" do
|
39
|
+
@original.should == Hamster.list(*values)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "returns #{expected.inspect}" do
|
43
|
+
@result.should == Hamster.list(*expected)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/set'
|
4
|
+
|
5
|
+
describe Hamster::Set do
|
6
|
+
|
7
|
+
[:head, :first].each do |method|
|
8
|
+
|
9
|
+
describe "##{method}" do
|
10
|
+
|
11
|
+
[
|
12
|
+
[[], nil],
|
13
|
+
[["A"], "A"],
|
14
|
+
[[1, 2, 3], 1],
|
15
|
+
].each do |values, expected|
|
16
|
+
|
17
|
+
describe "on #{values.inspect}" do
|
18
|
+
|
19
|
+
before do
|
20
|
+
original = Hamster.set(*values)
|
21
|
+
@result = original.send(method)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "returns #{expected.inspect}" do
|
25
|
+
@result.should == expected
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/set'
|
4
|
+
|
5
|
+
describe Hamster::List do
|
6
|
+
|
7
|
+
describe "#inspect" do
|
8
|
+
|
9
|
+
describe "doesn't run out of stack space on a really big" do
|
10
|
+
|
11
|
+
it "stream" do
|
12
|
+
@list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "list" do
|
16
|
+
@list = (0...STACK_OVERFLOW_DEPTH).reduce(Hamster.list) { |list, i| list.cons(i) }
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
@list.inspect
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
[
|
26
|
+
[[], "{}"],
|
27
|
+
[["A"], "{\"A\"}"],
|
28
|
+
[[1, 2, 3], "{1, 2, 3}"]
|
29
|
+
].each do |values, expected|
|
30
|
+
|
31
|
+
describe "on #{values.inspect}" do
|
32
|
+
|
33
|
+
before do
|
34
|
+
original = Hamster.set(*values)
|
35
|
+
@result = original.inspect
|
36
|
+
end
|
37
|
+
|
38
|
+
it "returns #{expected.inspect}" do
|
39
|
+
@result.should == expected
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/set'
|
4
|
+
require 'hamster/list'
|
5
|
+
|
6
|
+
describe Hamster::List do
|
7
|
+
|
8
|
+
describe "#sort_by" do
|
9
|
+
|
10
|
+
[
|
11
|
+
[[], []],
|
12
|
+
[["A"], ["A"]],
|
13
|
+
[["Ichi", "Ni", "San"], ["Ni", "San", "Ichi"]],
|
14
|
+
].each do |values, expected|
|
15
|
+
|
16
|
+
describe "on #{values.inspect}" do
|
17
|
+
|
18
|
+
before do
|
19
|
+
@original = Hamster.set(*values)
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "with a block" do
|
23
|
+
|
24
|
+
before do
|
25
|
+
@result = @original.sort_by { |item| item.length }
|
26
|
+
end
|
27
|
+
|
28
|
+
it "preserves the original" do
|
29
|
+
@original.should == Hamster.set(*values)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns #{expected.inspect}" do
|
33
|
+
@result.should == Hamster.list(*expected)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "without a block" do
|
39
|
+
|
40
|
+
before do
|
41
|
+
@result = @original.sort_by
|
42
|
+
end
|
43
|
+
|
44
|
+
it "preserves the original" do
|
45
|
+
@original.should == Hamster.set(*values)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "returns #{expected.sort.inspect}" do
|
49
|
+
@result.should == Hamster.list(*expected.sort)
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/set'
|
4
|
+
require 'hamster/list'
|
5
|
+
|
6
|
+
describe Hamster::Set do
|
7
|
+
|
8
|
+
describe "#sort" do
|
9
|
+
|
10
|
+
[
|
11
|
+
[[], []],
|
12
|
+
[["A"], ["A"]],
|
13
|
+
[["C", "A", "B"], ["A", "B", "C"]],
|
14
|
+
].each do |values, expected|
|
15
|
+
|
16
|
+
describe "on #{values.inspect}" do
|
17
|
+
|
18
|
+
before do
|
19
|
+
@original = Hamster.set(*values)
|
20
|
+
@result = @original.sort
|
21
|
+
end
|
22
|
+
|
23
|
+
it "preserves the original" do
|
24
|
+
@original.should == Hamster.set(*values)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns #{expected.inspect}" do
|
28
|
+
@result.should == Hamster.list(*expected)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'hamster/set'
|
4
|
+
|
5
|
+
describe Hamster::Set do
|
6
|
+
|
7
|
+
describe "#to_set" do
|
8
|
+
|
9
|
+
[
|
10
|
+
[],
|
11
|
+
["A"],
|
12
|
+
["A", "B", "C"],
|
13
|
+
].each do |values|
|
14
|
+
|
15
|
+
describe "on #{values.inspect}" do
|
16
|
+
|
17
|
+
before do
|
18
|
+
@original = Hamster.set(*values)
|
19
|
+
@result = @original.to_set
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns self" do
|
23
|
+
@result.should equal(@original)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hamster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Harris
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-08 00:00:00 +11:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -84,6 +84,7 @@ files:
|
|
84
84
|
- spec/hamster/list/head_spec.rb
|
85
85
|
- spec/hamster/list/include_spec.rb
|
86
86
|
- spec/hamster/list/inspect_spec.rb
|
87
|
+
- spec/hamster/list/join_spec.rb
|
87
88
|
- spec/hamster/list/map_spec.rb
|
88
89
|
- spec/hamster/list/maximum_spec.rb
|
89
90
|
- spec/hamster/list/minimum_spec.rb
|
@@ -94,6 +95,8 @@ files:
|
|
94
95
|
- spec/hamster/list/reject_spec.rb
|
95
96
|
- spec/hamster/list/reverse_spec.rb
|
96
97
|
- spec/hamster/list/size_spec.rb
|
98
|
+
- spec/hamster/list/sort_by_spec.rb
|
99
|
+
- spec/hamster/list/sort_spec.rb
|
97
100
|
- spec/hamster/list/span_spec.rb
|
98
101
|
- spec/hamster/list/split_at_spec.rb
|
99
102
|
- spec/hamster/list/tail_spec.rb
|
@@ -113,15 +116,20 @@ files:
|
|
113
116
|
- spec/hamster/set/eql_spec.rb
|
114
117
|
- spec/hamster/set/filter_spec.rb
|
115
118
|
- spec/hamster/set/grep_spec.rb
|
119
|
+
- spec/hamster/set/head_spec.rb
|
116
120
|
- spec/hamster/set/include_spec.rb
|
121
|
+
- spec/hamster/set/inspect_spec.rb
|
117
122
|
- spec/hamster/set/map_spec.rb
|
118
123
|
- spec/hamster/set/none_spec.rb
|
119
124
|
- spec/hamster/set/reduce_spec.rb
|
120
125
|
- spec/hamster/set/reject_spec.rb
|
121
126
|
- spec/hamster/set/remove_spec.rb
|
122
127
|
- spec/hamster/set/size_spec.rb
|
128
|
+
- spec/hamster/set/sort_by_spec.rb
|
129
|
+
- spec/hamster/set/sort_spec.rb
|
123
130
|
- spec/hamster/set/to_a_spec.rb
|
124
131
|
- spec/hamster/set/to_list.rb
|
132
|
+
- spec/hamster/set/to_set_spec.rb
|
125
133
|
- spec/hamster/set/uniq_spec.rb
|
126
134
|
- spec/hamster/stack/clear_spec.rb
|
127
135
|
- spec/hamster/stack/construction_spec.rb
|