hamster 0.1.12 → 0.1.13

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.
@@ -1,3 +1,7 @@
1
+ === 0.1.13 / 2009-12-10
2
+
3
+ * Stack now fully functional
4
+
1
5
  === 0.1.12 / 2009-12-10
2
6
 
3
7
  * List methods are now lazy where feasible
@@ -36,6 +36,7 @@ module Hamster
36
36
  def cons(item)
37
37
  Sequence.new(item, self)
38
38
  end
39
+ alias_method :>>, :cons
39
40
 
40
41
  def each(&block)
41
42
  block_given? or return self
@@ -2,8 +2,8 @@ require 'hamster/list'
2
2
 
3
3
  module Hamster
4
4
 
5
- def self.stack
6
- EmptyStack
5
+ def self.stack(*items)
6
+ items.inject(EmptyStack) { |stack, item| stack.push(item) }
7
7
  end
8
8
 
9
9
  class Stack
@@ -28,6 +28,7 @@ module Hamster
28
28
  def push(item)
29
29
  self.class.new(@list.cons(item))
30
30
  end
31
+ alias_method :<<, :push
31
32
 
32
33
  def pop
33
34
  list = @list.tail
@@ -50,6 +51,10 @@ module Hamster
50
51
  end
51
52
  alias_method :clone, :dup
52
53
 
54
+ def inspect
55
+ @list.inspect
56
+ end
57
+
53
58
  end
54
59
 
55
60
  EmptyStack = Stack.new(Hamster.list)
@@ -1,5 +1,5 @@
1
1
  module Hamster
2
2
 
3
- VERSION = "0.1.12".freeze
3
+ VERSION = "0.1.13".freeze
4
4
 
5
5
  end
@@ -18,14 +18,14 @@ describe Hamster::List do
18
18
  [["A", "B", "C"], :cddr, Hamster.list("C")],
19
19
  [["A", "B", "C"], :cdddr, Hamster.list],
20
20
  [["A", "B", "C"], :cddddr, Hamster.list],
21
- ].each do |values, method, result|
21
+ ].each do |values, method, expected|
22
22
 
23
23
  describe "on #{values.inspect}" do
24
24
 
25
25
  list = Hamster.list(*values)
26
26
 
27
- it "returns #{result}" do
28
- list.send(method).should == result
27
+ it "returns #{expected}" do
28
+ list.send(method).should == expected
29
29
  end
30
30
 
31
31
  end
@@ -0,0 +1,37 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster::List do
4
+
5
+ [:cons, :>>].each do |method|
6
+
7
+ describe "##{method}" do
8
+
9
+ [
10
+ [[], "A", ["A"]],
11
+ [["A"], "B", ["B", "A"]],
12
+ [["A"], "A", ["A", "A"]],
13
+ [["A", "B", "C"], "D", ["D", "A", "B", "C"]],
14
+ ].each do |values, new_value, expected|
15
+
16
+ describe "on #{values.inspect} with #{new_value.inspect}" do
17
+
18
+ original = Hamster.list(*values)
19
+ result = original.send(method, new_value)
20
+
21
+ it "preserves the original" do
22
+ original.should == Hamster.list(*values)
23
+ end
24
+
25
+ it "returns #{expected.inspect}" do
26
+ result.should == Hamster.list(*expected)
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
@@ -10,14 +10,14 @@ describe Hamster::List do
10
10
  [["A"], -1, ["A"]],
11
11
  [["A", "B", "C"], 0, ["A", "B", "C"]],
12
12
  [["A", "B", "C"], 2, ["C"]],
13
- ].each do |values, number, result|
13
+ ].each do |values, number, expected|
14
14
 
15
15
  describe "#{number} from #{values.inspect}" do
16
16
 
17
17
  list = Hamster.list(*values)
18
18
 
19
- it "returns #{result}" do
20
- list.drop(number).should == Hamster.list(*result)
19
+ it "returns #{expected}" do
20
+ list.drop(number).should == Hamster.list(*expected)
21
21
  end
22
22
 
23
23
  end
@@ -8,7 +8,7 @@ describe Hamster::List do
8
8
  [[], []],
9
9
  [["A"], []],
10
10
  [["A", "B", "C"], ["C"]],
11
- ].each do |values, result|
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
@@ -16,8 +16,8 @@ describe Hamster::List do
16
16
 
17
17
  describe "with a block" do
18
18
 
19
- it "returns #{result}" do
20
- list.drop_while { |item| item < "C" }.should == Hamster.list(*result)
19
+ it "returns #{expected}" do
20
+ list.drop_while { |item| item < "C" }.should == Hamster.list(*expected)
21
21
  end
22
22
 
23
23
  end
@@ -8,14 +8,14 @@ describe Hamster::List do
8
8
  [[], true],
9
9
  [["A"], false],
10
10
  [["A", "B", "C"], false],
11
- ].each do |values, result|
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
15
15
  list = Hamster.list(*values)
16
16
 
17
- it "returns #{result}" do
18
- list.empty?.should == result
17
+ it "returns #{expected}" do
18
+ list.empty?.should == expected
19
19
  end
20
20
 
21
21
  end
@@ -16,15 +16,15 @@ describe Hamster::List do
16
16
  [["A"], ["A", "B"], false],
17
17
  [["A", "B", "C"], ["A", "B", "C"], true],
18
18
  [["C", "A", "B"], ["A", "B", "C"], false],
19
- ].each do |a, b, result|
19
+ ].each do |a, b, expected|
20
20
 
21
21
  describe "on #{a.inspect} and #{b.inspect}" do
22
22
 
23
23
  a = Hamster.list(*a)
24
24
  b = Hamster.list(*b)
25
25
 
26
- it "returns #{result}" do
27
- a.send(method, b).should == result
26
+ it "returns #{expected}" do
27
+ a.send(method, b).should == expected
28
28
  end
29
29
 
30
30
  end
@@ -12,7 +12,7 @@ describe Hamster::List do
12
12
  [["A", "B", "C"], ["A", "B", "C"]],
13
13
  [["A", "b", "C"], ["A", "C"]],
14
14
  [["a", "b", "c"], []],
15
- ].each do |values, result|
15
+ ].each do |values, expected|
16
16
 
17
17
  describe "on #{values.inspect}" do
18
18
 
@@ -20,8 +20,8 @@ describe Hamster::List do
20
20
 
21
21
  describe "with a block" do
22
22
 
23
- it "returns #{result}" do
24
- list.send(method) { |item| item == item.upcase }.should == Hamster.list(*result)
23
+ it "returns #{expected}" do
24
+ list.send(method) { |item| item == item.upcase }.should == Hamster.list(*expected)
25
25
  end
26
26
 
27
27
  it "is lazy" do
@@ -8,14 +8,14 @@ describe Hamster::List do
8
8
  [[], nil],
9
9
  [["A"], "A"],
10
10
  [["A", "B", "C"], "A"],
11
- ].each do |values, result|
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
15
15
  list = Hamster.list(*values)
16
16
 
17
- it "returns #{result}" do
18
- list.head.should == result
17
+ it "returns #{expected}" do
18
+ list.head.should == expected
19
19
  end
20
20
 
21
21
  end
@@ -16,14 +16,14 @@ describe Hamster::List do
16
16
  [["A", "B", nil], "B", true],
17
17
  [["A", "B", nil], nil, true],
18
18
  [["A", "B", nil], "C", false],
19
- ].each do |values, item, result|
19
+ ].each do |values, item, expected|
20
20
 
21
21
  describe "on #{values.inspect}" do
22
22
 
23
23
  list = Hamster.list(*values)
24
24
 
25
- it "returns #{result}" do
26
- list.send(method, item).should == result
25
+ it "returns #{expected}" do
26
+ list.send(method, item).should == expected
27
27
  end
28
28
 
29
29
  end
@@ -5,17 +5,17 @@ describe Hamster::List do
5
5
  describe "#inspect" do
6
6
 
7
7
  [
8
- [],
9
- ["A"],
10
- ["A", "B", "C"],
11
- ].each do |values|
8
+ [[], "[]"],
9
+ [["A"], "[\"A\"]"],
10
+ [["A", "B", "C"], "[\"A\", \"B\", \"C\"]"]
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
15
15
  list = Hamster.list(*values)
16
16
 
17
- it "returns #{values.inspect}" do
18
- list.inspect.should == values.inspect
17
+ it "returns #{expected}" do
18
+ list.inspect.should == expected
19
19
  end
20
20
 
21
21
  end
@@ -10,7 +10,7 @@ describe Hamster::List do
10
10
  [[], []],
11
11
  [["A"], ["a"]],
12
12
  [["A", "B", "C"], ["a", "b", "c"]],
13
- ].each do |values, result|
13
+ ].each do |values, expected|
14
14
 
15
15
  describe "on #{values.inspect}" do
16
16
 
@@ -18,8 +18,8 @@ describe Hamster::List do
18
18
 
19
19
  describe "with a block" do
20
20
 
21
- it "returns #{result}" do
22
- list.send(method) { |item| item.downcase }.should == Hamster.list(*result)
21
+ it "returns #{expected}" do
22
+ list.send(method) { |item| item.downcase }.should == Hamster.list(*expected)
23
23
  end
24
24
 
25
25
  it "is lazy" do
@@ -10,7 +10,7 @@ describe Hamster::List do
10
10
  [[], "@"],
11
11
  [["A"], "@a"],
12
12
  [["A", "B", "C"], "@abc"],
13
- ].each do |values, result|
13
+ ].each do |values, expected|
14
14
 
15
15
  describe "on #{values.inspect}" do
16
16
 
@@ -18,8 +18,8 @@ describe Hamster::List do
18
18
 
19
19
  describe "with a block" do
20
20
 
21
- it "returns #{result.inspect}" do
22
- list.send(method, "@") { |memo, item| memo << item.downcase }.should == result
21
+ it "returns #{expected.inspect}" do
22
+ list.send(method, "@") { |memo, item| memo << item.downcase }.should == expected
23
23
  end
24
24
 
25
25
  end
@@ -10,7 +10,7 @@ describe Hamster::List do
10
10
  [["A", "B", "C"], ["A", "B", "C"]],
11
11
  [["A", "b", "C"], ["A", "C"]],
12
12
  [["a", "b", "c"], []],
13
- ].each do |values, result|
13
+ ].each do |values, expected|
14
14
 
15
15
  describe "on #{values.inspect}" do
16
16
 
@@ -18,8 +18,8 @@ describe Hamster::List do
18
18
 
19
19
  describe "with a block" do
20
20
 
21
- it "returns #{result}" do
22
- list.reject { |item| item == item.downcase }.should == Hamster.list(*result)
21
+ it "returns #{expected}" do
22
+ list.reject { |item| item == item.downcase }.should == Hamster.list(*expected)
23
23
  end
24
24
 
25
25
  it "is lazy" do
@@ -10,14 +10,14 @@ describe Hamster::List do
10
10
  [[], 0],
11
11
  [["A"], 1],
12
12
  [["A", "B", "C"], 3],
13
- ].each do |values, result|
13
+ ].each do |values, expected|
14
14
 
15
15
  describe "on #{values.inspect}" do
16
16
 
17
17
  list = Hamster.list(*values)
18
18
 
19
- it "returns #{result}" do
20
- list.send(method).should == result
19
+ it "returns #{expected}" do
20
+ list.send(method).should == expected
21
21
  end
22
22
 
23
23
  end
@@ -8,14 +8,14 @@ describe Hamster::List do
8
8
  [[], []],
9
9
  [["A"], []],
10
10
  [["A", "B", "C"], ["B", "C"]],
11
- ].each do |values, result|
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
15
15
  list = Hamster.list(*values)
16
16
 
17
- it "returns #{result}" do
18
- list.tail.should == Hamster.list(*result)
17
+ it "returns #{expected}" do
18
+ list.tail.should == Hamster.list(*expected)
19
19
  end
20
20
 
21
21
  end
@@ -10,14 +10,14 @@ describe Hamster::List do
10
10
  [["A"], -1, []],
11
11
  [["A", "B", "C"], 0, []],
12
12
  [["A", "B", "C"], 2, ["A", "B"]],
13
- ].each do |values, number, result|
13
+ ].each do |values, number, expected|
14
14
 
15
15
  describe "#{number} from #{values.inspect}" do
16
16
 
17
17
  list = Hamster.list(*values)
18
18
 
19
- it "returns #{result}" do
20
- list.take(number).should == Hamster.list(*result)
19
+ it "returns #{expected}" do
20
+ list.take(number).should == Hamster.list(*expected)
21
21
  end
22
22
 
23
23
  end
@@ -8,7 +8,7 @@ describe Hamster::List do
8
8
  [[], []],
9
9
  [["A"], ["A"]],
10
10
  [["A", "B", "C"], ["A", "B"]],
11
- ].each do |values, result|
11
+ ].each do |values, expected|
12
12
 
13
13
  describe "on #{values.inspect}" do
14
14
 
@@ -16,8 +16,8 @@ describe Hamster::List do
16
16
 
17
17
  describe "with a block" do
18
18
 
19
- it "returns #{result}" do
20
- list.take_while { |item| item < "C" }.should == Hamster.list(*result)
19
+ it "returns #{expected}" do
20
+ list.take_while { |item| item < "C" }.should == Hamster.list(*expected)
21
21
  end
22
22
 
23
23
  it "is lazy" do
@@ -0,0 +1,41 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster do
4
+
5
+ describe ".stack" do
6
+
7
+ describe "with no arguments" do
8
+
9
+ before do
10
+ @stack = Hamster.stack
11
+ end
12
+
13
+ it "always returns the same instance" do
14
+ @stack.should equal(Hamster.stack)
15
+ end
16
+
17
+ it "returns an empty stack" do
18
+ @stack.should be_empty
19
+ end
20
+
21
+ end
22
+
23
+ describe "with a number of items" do
24
+
25
+ before do
26
+ @stack = Hamster.stack("A", "B", "C")
27
+ end
28
+
29
+ it "always returns a different instance" do
30
+ @stack.should_not equal(Hamster.stack("A", "B", "C"))
31
+ end
32
+
33
+ it "is the same as repeatedly using #push" do
34
+ @stack.should == Hamster.stack.push("A").push("B").push("C")
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+
41
+ end
@@ -2,16 +2,22 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
3
  describe Hamster::Stack do
4
4
 
5
- before do
6
- @stack = Hamster.stack.push("A").push("B").push("C")
7
- end
8
-
9
5
  [:dup, :clone].each do |method|
10
6
 
11
- describe "##{method}" do
7
+ [
8
+ [],
9
+ ["A"],
10
+ ["A", "B", "C"],
11
+ ].each do |values|
12
+
13
+ describe "on #{values.inspect}" do
14
+
15
+ stack = Hamster.stack(*values)
16
+
17
+ it "returns self" do
18
+ stack.send(method).should equal(stack)
19
+ end
12
20
 
13
- it "returns self" do
14
- @stack.send(method).should equal(@stack)
15
21
  end
16
22
 
17
23
  end
@@ -4,12 +4,22 @@ describe Hamster::Stack do
4
4
 
5
5
  describe "#empty?" do
6
6
 
7
- it "initially returns true" do
8
- Hamster.stack.should be_empty
9
- end
7
+ [
8
+ [[], true],
9
+ [["A"], false],
10
+ [["A", "B", "C"], false],
11
+ ].each do |values, expected|
12
+
13
+ describe "on #{values.inspect}" do
14
+
15
+ stack = Hamster.stack(*values)
16
+
17
+ it "returns #{expected}" do
18
+ stack.empty?.should == expected
19
+ end
20
+
21
+ end
10
22
 
11
- it "returns false once items have been added" do
12
- Hamster.stack.push("A").should_not be_empty
13
23
  end
14
24
 
15
25
  end
@@ -2,26 +2,35 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
3
  describe Hamster::Stack do
4
4
 
5
- describe "#eql?" do
5
+ [:eql?, :==].each do |method|
6
6
 
7
- before do
8
- @stack = Hamster.stack.push("A").push("B").push("C")
9
- end
7
+ describe "##{method}" do
10
8
 
11
- it "is true for the same instance" do
12
- @stack.should eql(@stack)
13
- end
9
+ [
10
+ [[], [], true],
11
+ [["A"], [], false],
12
+ [[], ["A"], false],
13
+ [["A"], ["A"], true],
14
+ [["A"], ["B"], false],
15
+ [["A", "B"], ["A"], false],
16
+ [["A"], ["A", "B"], false],
17
+ [["A", "B", "C"], ["A", "B", "C"], true],
18
+ [["C", "A", "B"], ["A", "B", "C"], false],
19
+ ].each do |a, b, expected|
14
20
 
15
- it "is true for two instances with the same sequence of values" do
16
- @stack.should eql(Hamster.stack.push("A").push("B").push("C"))
17
- end
21
+ describe "on #{a.inspect} and #{b.inspect}" do
18
22
 
19
- it "is false for two instances with the difference sequence of values" do
20
- @stack.should_not eql(Hamster.stack.push("A").push("C").push("B"))
21
- end
23
+ a = Hamster.stack(*a)
24
+ b = Hamster.stack(*b)
25
+
26
+ it "returns #{expected}" do
27
+ a.send(method, b).should == expected
28
+ end
29
+
30
+ end
31
+
32
+ end
22
33
 
23
- it "is false for two instances with the similar but differently sized sequence of values" do
24
- @stack.should_not eql(Hamster.stack.push("A").push("B"))
25
34
  end
26
35
 
27
36
  end
@@ -0,0 +1,27 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster::Stack do
4
+
5
+ describe "#inspect" do
6
+
7
+ [
8
+ [[], "[]"],
9
+ [["A"], "[\"A\"]"],
10
+ [["A", "B", "C"], "[\"C\", \"B\", \"A\"]"]
11
+ ].each do |values, expected|
12
+
13
+ describe "on #{values.inspect}" do
14
+
15
+ stack = Hamster.stack(*values)
16
+
17
+ it "returns #{expected}" do
18
+ stack.inspect.should == expected
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+
27
+ end
@@ -0,0 +1,53 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster::Stack do
4
+
5
+ describe "#pop" do
6
+
7
+ [
8
+ [["A", "B"], ["A"]],
9
+ [["A", "B", "C"], ["A", "B"]],
10
+ ].each do |values, expected|
11
+
12
+ describe "on #{values.inspect}" do
13
+
14
+ original = Hamster.stack(*values)
15
+ result = original.pop
16
+
17
+ it "preserves the original" do
18
+ original.should == Hamster.stack(*values)
19
+ end
20
+
21
+ it "returns #{expected.inspect}" do
22
+ result.should == Hamster.stack(*expected)
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ [
30
+ [],
31
+ ["A"],
32
+ ].each do |values|
33
+
34
+ describe "on #{values.inspect}" do
35
+
36
+ original = Hamster.stack(*values)
37
+ result = original.pop
38
+
39
+ it "preserves the original" do
40
+ original.should == Hamster.stack(*values)
41
+ end
42
+
43
+ it "returns the empty stack" do
44
+ result.should equal(Hamster.stack)
45
+ end
46
+
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+
53
+ end
@@ -2,19 +2,34 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
3
  describe Hamster::Stack do
4
4
 
5
- describe "#push" do
5
+ [:push, :<<].each do |method|
6
6
 
7
- before do
8
- @original = Hamster.stack.push("A")
9
- @result = @original.push("B")
10
- end
7
+ describe "##{method}" do
11
8
 
12
- it "preserves the original" do
13
- @original.top.should == "A"
14
- end
9
+ [
10
+ [[], "A", ["A"]],
11
+ [["A"], "B", ["A", "B"]],
12
+ [["A"], "A", ["A", "A"]],
13
+ [["A", "B", "C"], "D", ["A", "B", "C", "D"]],
14
+ ].each do |values, new_value, expected|
15
+
16
+ describe "on #{values.inspect} with #{new_value.inspect}" do
17
+
18
+ original = Hamster.stack(*values)
19
+ result = original.send(method, new_value)
20
+
21
+ it "preserves the original" do
22
+ original.should == Hamster.stack(*values)
23
+ end
24
+
25
+ it "returns #{expected.inspect}" do
26
+ result.should == Hamster.stack(*expected)
27
+ end
28
+
29
+ end
30
+
31
+ end
15
32
 
16
- it "returns a new stack with the new value at the top" do
17
- @result.top.should == "B"
18
33
  end
19
34
 
20
35
  end
@@ -0,0 +1,31 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster::Stack do
4
+
5
+ [:size, :length].each do |method|
6
+
7
+ describe "##{method}" do
8
+
9
+ [
10
+ [[], 0],
11
+ [["A"], 1],
12
+ [["A", "B", "C"], 3],
13
+ ].each do |values, expected|
14
+
15
+ describe "on #{values.inspect}" do
16
+
17
+ stack = Hamster.stack(*values)
18
+
19
+ it "returns #{expected}" do
20
+ stack.send(method).should == expected
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+
31
+ end
@@ -0,0 +1,32 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Hamster::Stack do
4
+
5
+ describe "#top" do
6
+
7
+ [
8
+ [[], nil],
9
+ [["A"], "A"],
10
+ [["A", "B", "C"], "C"],
11
+ ].each do |values, expected|
12
+
13
+ describe "on #{values.inspect}" do
14
+
15
+ original = Hamster.stack(*values)
16
+ result = original.top
17
+
18
+ it "preserves the original" do
19
+ original.should == Hamster.stack(*values)
20
+ end
21
+
22
+ it "returns #{expected.inspect}" do
23
+ result.should == expected
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.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Harris
@@ -49,6 +49,7 @@ files:
49
49
  - spec/hamster/hash/remove_spec.rb
50
50
  - spec/hamster/hash/size_spec.rb
51
51
  - spec/hamster/list/cadr_spec.rb
52
+ - spec/hamster/list/cons_spec.rb
52
53
  - spec/hamster/list/construction_spec.rb
53
54
  - spec/hamster/list/copying_spec.rb
54
55
  - spec/hamster/list/drop_spec.rb
@@ -84,10 +85,15 @@ files:
84
85
  - spec/hamster/set/reject_spec.rb
85
86
  - spec/hamster/set/remove_spec.rb
86
87
  - spec/hamster/set/size_spec.rb
88
+ - spec/hamster/stack/construction_spec.rb
87
89
  - spec/hamster/stack/copying_spec.rb
88
90
  - spec/hamster/stack/empty_spec.rb
89
91
  - spec/hamster/stack/eql_spec.rb
92
+ - spec/hamster/stack/inspect_spec.rb
93
+ - spec/hamster/stack/pop_spec.rb
90
94
  - spec/hamster/stack/push_spec.rb
95
+ - spec/hamster/stack/size_spec.rb
96
+ - spec/hamster/stack/top_spec.rb
91
97
  - spec/hamster/trie/remove_spec.rb
92
98
  - spec/spec.opts
93
99
  - spec/spec_helper.rb