hamster 0.1.21 → 0.1.22

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 (37) hide show
  1. data/History.rdoc +26 -0
  2. data/lib/hamster/hash.rb +0 -1
  3. data/lib/hamster/list.rb +37 -6
  4. data/lib/hamster/set.rb +34 -20
  5. data/lib/hamster/stack.rb +9 -0
  6. data/lib/hamster/trie.rb +1 -0
  7. data/lib/hamster/version.rb +1 -1
  8. data/spec/hamster/hash/each_spec.rb +2 -2
  9. data/spec/hamster/list/chunk_spec.rb +38 -0
  10. data/spec/hamster/list/{sort_by_spec.rb → count_spec.rb} +13 -18
  11. data/spec/hamster/list/find_spec.rb +1 -1
  12. data/spec/hamster/list/include_spec.rb +1 -1
  13. data/spec/hamster/{set/sort_spec.rb → list/init_spec.rb} +9 -8
  14. data/spec/hamster/list/{sort_spec.rb → intersperse_spec.rb} +4 -4
  15. data/spec/hamster/list/last_spec.rb +34 -0
  16. data/spec/hamster/list/maximum_spec.rb +8 -6
  17. data/spec/hamster/list/minimum_spec.rb +8 -6
  18. data/spec/hamster/list/partition_spec.rb +3 -3
  19. data/spec/hamster/list/sorting_spec.rb +82 -0
  20. data/spec/hamster/list/tail_spec.rb +6 -1
  21. data/spec/hamster/list/union_spec.rb +68 -0
  22. data/spec/hamster/list/uniq_spec.rb +57 -0
  23. data/spec/hamster/list/zip_spec.rb +3 -3
  24. data/spec/hamster/set/count_spec.rb +54 -0
  25. data/spec/hamster/set/each_spec.rb +2 -2
  26. data/spec/hamster/set/find_spec.rb +53 -0
  27. data/spec/hamster/set/include_spec.rb +1 -1
  28. data/spec/hamster/set/join_spec.rb +61 -0
  29. data/spec/hamster/set/maximum_spec.rb +69 -0
  30. data/spec/hamster/set/minimum_spec.rb +69 -0
  31. data/spec/hamster/set/partition_spec.rb +70 -0
  32. data/spec/hamster/set/sorting_spec.rb +58 -0
  33. data/spec/hamster/set/{to_list.rb → to_list_spec.rb} +1 -0
  34. data/spec/hamster/stack/to_a_spec.rb +36 -0
  35. data/spec/hamster/stack/to_list_spec.rb +33 -0
  36. metadata +20 -7
  37. data/spec/hamster/set/sort_by_spec.rb +0 -60
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ require 'hamster/stack'
4
+ require 'hamster/list'
5
+
6
+ describe Hamster::Stack do
7
+
8
+ describe "#to_list" do
9
+
10
+ [
11
+ [[], []],
12
+ [["A"], ["A"]],
13
+ [["A", "B", "C"], ["C", "B", "A"]],
14
+ ].each do |values, expected|
15
+
16
+ describe "on #{values.inspect}" do
17
+
18
+ before do
19
+ @stack = Hamster.stack(*values)
20
+ @result = @stack.to_list
21
+ end
22
+
23
+ it "returns #{expected.inspect}" do
24
+ @result.should == Hamster.list(*expected)
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ 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.21
4
+ version: 0.1.22
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-08 00:00:00 +11:00
12
+ date: 2010-01-10 00:00:00 +11:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -68,10 +68,12 @@ files:
68
68
  - spec/hamster/list/append_spec.rb
69
69
  - spec/hamster/list/break_spec.rb
70
70
  - spec/hamster/list/cadr_spec.rb
71
+ - spec/hamster/list/chunk_spec.rb
71
72
  - spec/hamster/list/clear_spec.rb
72
73
  - spec/hamster/list/cons_spec.rb
73
74
  - spec/hamster/list/construction_spec.rb
74
75
  - spec/hamster/list/copying_spec.rb
76
+ - spec/hamster/list/count_spec.rb
75
77
  - spec/hamster/list/cycle_spec.rb
76
78
  - spec/hamster/list/drop_spec.rb
77
79
  - spec/hamster/list/drop_while_spec.rb
@@ -83,8 +85,11 @@ files:
83
85
  - spec/hamster/list/grep_spec.rb
84
86
  - spec/hamster/list/head_spec.rb
85
87
  - spec/hamster/list/include_spec.rb
88
+ - spec/hamster/list/init_spec.rb
86
89
  - spec/hamster/list/inspect_spec.rb
90
+ - spec/hamster/list/intersperse_spec.rb
87
91
  - spec/hamster/list/join_spec.rb
92
+ - spec/hamster/list/last_spec.rb
88
93
  - spec/hamster/list/map_spec.rb
89
94
  - spec/hamster/list/maximum_spec.rb
90
95
  - spec/hamster/list/minimum_spec.rb
@@ -95,8 +100,7 @@ files:
95
100
  - spec/hamster/list/reject_spec.rb
96
101
  - spec/hamster/list/reverse_spec.rb
97
102
  - spec/hamster/list/size_spec.rb
98
- - spec/hamster/list/sort_by_spec.rb
99
- - spec/hamster/list/sort_spec.rb
103
+ - spec/hamster/list/sorting_spec.rb
100
104
  - spec/hamster/list/span_spec.rb
101
105
  - spec/hamster/list/split_at_spec.rb
102
106
  - spec/hamster/list/tail_spec.rb
@@ -105,30 +109,37 @@ files:
105
109
  - spec/hamster/list/to_a_spec.rb
106
110
  - spec/hamster/list/to_ary_spec.rb
107
111
  - spec/hamster/list/to_list_spec.rb
112
+ - spec/hamster/list/union_spec.rb
113
+ - spec/hamster/list/uniq_spec.rb
108
114
  - spec/hamster/list/zip_spec.rb
109
115
  - spec/hamster/set/add_spec.rb
110
116
  - spec/hamster/set/all_spec.rb
111
117
  - spec/hamster/set/any_spec.rb
112
118
  - spec/hamster/set/construction_spec.rb
113
119
  - spec/hamster/set/copying_spec.rb
120
+ - spec/hamster/set/count_spec.rb
114
121
  - spec/hamster/set/each_spec.rb
115
122
  - spec/hamster/set/empty_spec.rb
116
123
  - spec/hamster/set/eql_spec.rb
117
124
  - spec/hamster/set/filter_spec.rb
125
+ - spec/hamster/set/find_spec.rb
118
126
  - spec/hamster/set/grep_spec.rb
119
127
  - spec/hamster/set/head_spec.rb
120
128
  - spec/hamster/set/include_spec.rb
121
129
  - spec/hamster/set/inspect_spec.rb
130
+ - spec/hamster/set/join_spec.rb
122
131
  - spec/hamster/set/map_spec.rb
132
+ - spec/hamster/set/maximum_spec.rb
133
+ - spec/hamster/set/minimum_spec.rb
123
134
  - spec/hamster/set/none_spec.rb
135
+ - spec/hamster/set/partition_spec.rb
124
136
  - spec/hamster/set/reduce_spec.rb
125
137
  - spec/hamster/set/reject_spec.rb
126
138
  - spec/hamster/set/remove_spec.rb
127
139
  - spec/hamster/set/size_spec.rb
128
- - spec/hamster/set/sort_by_spec.rb
129
- - spec/hamster/set/sort_spec.rb
140
+ - spec/hamster/set/sorting_spec.rb
130
141
  - spec/hamster/set/to_a_spec.rb
131
- - spec/hamster/set/to_list.rb
142
+ - spec/hamster/set/to_list_spec.rb
132
143
  - spec/hamster/set/to_set_spec.rb
133
144
  - spec/hamster/set/uniq_spec.rb
134
145
  - spec/hamster/stack/clear_spec.rb
@@ -140,6 +151,8 @@ files:
140
151
  - spec/hamster/stack/pop_spec.rb
141
152
  - spec/hamster/stack/push_spec.rb
142
153
  - spec/hamster/stack/size_spec.rb
154
+ - spec/hamster/stack/to_a_spec.rb
155
+ - spec/hamster/stack/to_list_spec.rb
143
156
  - spec/hamster/stack/top_spec.rb
144
157
  - spec/hamster/trie/remove_spec.rb
145
158
  - spec/spec.opts
@@ -1,60 +0,0 @@
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