immutable-ruby 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/immutable/core_ext/struct.rb +9 -0
- data/lib/immutable/enumerable.rb +9 -0
- data/lib/immutable/hash.rb +104 -4
- data/lib/immutable/list.rb +13 -13
- data/lib/immutable/nested.rb +3 -0
- data/lib/immutable/vector.rb +21 -11
- data/lib/immutable/version.rb +1 -1
- data/spec/lib/immutable/hash/dig_spec.rb +34 -0
- data/spec/lib/immutable/hash/fetch_values_spec.rb +22 -0
- data/spec/lib/immutable/hash/put_spec.rb +9 -0
- data/spec/lib/immutable/hash/subset_spec.rb +42 -0
- data/spec/lib/immutable/hash/superset_spec.rb +42 -0
- data/spec/lib/immutable/hash/to_proc_spec.rb +39 -0
- data/spec/lib/immutable/hash/values_at_spec.rb +26 -6
- data/spec/lib/immutable/list/all_spec.rb +1 -1
- data/spec/lib/immutable/list/any_spec.rb +1 -1
- data/spec/lib/immutable/list/at_spec.rb +1 -1
- data/spec/lib/immutable/list/construction_spec.rb +1 -1
- data/spec/lib/immutable/list/count_spec.rb +1 -1
- data/spec/lib/immutable/list/each_slice_spec.rb +1 -1
- data/spec/lib/immutable/list/each_spec.rb +1 -1
- data/spec/lib/immutable/list/empty_spec.rb +1 -1
- data/spec/lib/immutable/list/eql_spec.rb +1 -1
- data/spec/lib/immutable/list/find_index_spec.rb +1 -1
- data/spec/lib/immutable/list/find_spec.rb +1 -1
- data/spec/lib/immutable/list/group_by_spec.rb +1 -1
- data/spec/lib/immutable/list/hash_spec.rb +1 -1
- data/spec/lib/immutable/list/include_spec.rb +1 -1
- data/spec/lib/immutable/list/index_spec.rb +6 -2
- data/spec/lib/immutable/list/indices_spec.rb +1 -1
- data/spec/lib/immutable/list/inspect_spec.rb +1 -1
- data/spec/lib/immutable/list/join_spec.rb +1 -1
- data/spec/lib/immutable/list/last_spec.rb +1 -1
- data/spec/lib/immutable/list/maximum_spec.rb +1 -1
- data/spec/lib/immutable/list/minimum_spec.rb +1 -1
- data/spec/lib/immutable/list/multithreading_spec.rb +4 -4
- data/spec/lib/immutable/list/none_spec.rb +1 -1
- data/spec/lib/immutable/list/one_spec.rb +1 -1
- data/spec/lib/immutable/list/product_spec.rb +1 -1
- data/spec/lib/immutable/list/reduce_spec.rb +1 -1
- data/spec/lib/immutable/list/reverse_spec.rb +1 -1
- data/spec/lib/immutable/list/size_spec.rb +1 -1
- data/spec/lib/immutable/list/sum_spec.rb +1 -1
- data/spec/lib/immutable/list/tail_spec.rb +1 -1
- data/spec/lib/immutable/list/to_a_spec.rb +1 -1
- data/spec/lib/immutable/list/to_ary_spec.rb +1 -1
- data/spec/lib/immutable/nested/construction_spec.rb +11 -5
- data/spec/lib/immutable/set/add_spec.rb +4 -2
- data/spec/lib/immutable/set/grep_spec.rb +10 -10
- data/spec/lib/immutable/set/grep_v_spec.rb +59 -0
- data/spec/lib/immutable/vector/dig_spec.rb +30 -0
- data/spec/spec_helper.rb +4 -0
- metadata +323 -306
@@ -5,7 +5,7 @@ describe Immutable::List do
|
|
5
5
|
describe "##{method}" do
|
6
6
|
context "on a really big list" do
|
7
7
|
it "doesn't run out of stack" do
|
8
|
-
-> {
|
8
|
+
-> { BigList.to_a }.should_not raise_error
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
@@ -6,7 +6,7 @@ describe Immutable::List do
|
|
6
6
|
describe "#to_ary" do
|
7
7
|
context "on a really big list" do
|
8
8
|
it "doesn't run out of stack" do
|
9
|
-
-> {
|
9
|
+
-> { BigList.to_ary }.should_not raise_error
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -26,7 +26,11 @@ describe Immutable do
|
|
26
26
|
[ ::SortedSet.new, Immutable::SortedSet[] ],
|
27
27
|
[ ::SortedSet.new([1, 2, 3]), Immutable::SortedSet[1, 2, 3] ],
|
28
28
|
[ 42, 42 ],
|
29
|
-
[ STDOUT, STDOUT ]
|
29
|
+
[ STDOUT, STDOUT ],
|
30
|
+
|
31
|
+
# Struct conversion is one-way (from Ruby core Struct to Immutable::Hash), not back again!
|
32
|
+
[ Struct::Customer.new, Immutable::Hash[name: nil, address: nil], true ],
|
33
|
+
[ Struct::Customer.new('Dave', '123 Main'), Immutable::Hash[name: 'Dave', address: '123 Main'], true ]
|
30
34
|
]
|
31
35
|
|
32
36
|
describe ".from" do
|
@@ -56,10 +60,12 @@ describe Immutable do
|
|
56
60
|
end
|
57
61
|
|
58
62
|
describe ".to_ruby" do
|
59
|
-
expectations.each do |expected_result, input|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
+
expectations.each do |expected_result, input, one_way|
|
64
|
+
unless one_way
|
65
|
+
context "with #{input.inspect} as input" do
|
66
|
+
it "should return #{expected_result.inspect}" do
|
67
|
+
Immutable.to_ruby(input).should eql(expected_result)
|
68
|
+
end
|
63
69
|
end
|
64
70
|
end
|
65
71
|
end
|
@@ -37,10 +37,12 @@ describe Immutable::Set do
|
|
37
37
|
|
38
38
|
it "works on large sets, with many combinations of input" do
|
39
39
|
50.times do
|
40
|
-
|
40
|
+
# Array#sample is buggy on RBX 2.5.8; that's why #uniq is needed here
|
41
|
+
# See https://github.com/rubinius/rubinius/issues/3506
|
42
|
+
array = (1..500).to_a.sample(100).uniq
|
41
43
|
set = S.new(array)
|
42
44
|
to_add = 1000 + rand(1000)
|
43
|
-
set.add(to_add).size.should ==
|
45
|
+
set.add(to_add).size.should == array.size + 1
|
44
46
|
set.add(to_add).include?(to_add).should == true
|
45
47
|
end
|
46
48
|
end
|
@@ -8,37 +8,37 @@ describe Immutable::Set do
|
|
8
8
|
|
9
9
|
shared_examples "check filtered values" do
|
10
10
|
it "returns the filtered values" do
|
11
|
-
expect(grep).to eq(filtered)
|
11
|
+
expect(grep).to eq(S[*filtered])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
shared_examples "check different types of inputs" do
|
16
|
-
context "with an empty
|
16
|
+
context "with an empty set" do
|
17
17
|
let(:values) { [] }
|
18
18
|
let(:filtered) { [] }
|
19
19
|
|
20
|
-
|
20
|
+
include_examples "check filtered values"
|
21
21
|
end
|
22
22
|
|
23
|
-
context "with a single item
|
23
|
+
context "with a single item set" do
|
24
24
|
let(:values) { ["A"] }
|
25
25
|
let(:filtered) { ["A"] }
|
26
26
|
|
27
|
-
|
27
|
+
include_examples "check filtered values"
|
28
28
|
end
|
29
29
|
|
30
|
-
context "with a single item
|
30
|
+
context "with a single item set that doesn't contain match" do
|
31
31
|
let(:values) { [1] }
|
32
32
|
let(:filtered) { [] }
|
33
33
|
|
34
|
-
|
34
|
+
include_examples "check filtered values"
|
35
35
|
end
|
36
36
|
|
37
|
-
context "with a multi-item
|
37
|
+
context "with a multi-item set where one isn't a match" do
|
38
38
|
let(:values) { ["A", 2, "C"] }
|
39
39
|
let(:filtered) { %w[A C] }
|
40
40
|
|
41
|
-
|
41
|
+
include_examples "check filtered values"
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -49,7 +49,7 @@ describe Immutable::Set do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
describe "with a block" do
|
52
|
-
let(:block) { ->(item) { item
|
52
|
+
let(:block) { ->(item) { item }}
|
53
53
|
|
54
54
|
include_examples "check different types of inputs"
|
55
55
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "immutable/set"
|
3
|
+
|
4
|
+
describe Immutable::Set do
|
5
|
+
let(:set) { S[*values] }
|
6
|
+
|
7
|
+
describe "#grep_v" do
|
8
|
+
let(:grep_v) { set.grep_v(String, &block) }
|
9
|
+
|
10
|
+
shared_examples "check filtered values" do
|
11
|
+
it "returns the filtered values" do
|
12
|
+
expect(grep_v).to eq(S[*filtered])
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "without a block" do
|
17
|
+
let(:block) { nil }
|
18
|
+
|
19
|
+
context "with an empty set" do
|
20
|
+
let(:values) { [] }
|
21
|
+
let(:filtered) { [] }
|
22
|
+
|
23
|
+
include_examples "check filtered values"
|
24
|
+
end
|
25
|
+
|
26
|
+
context "with a single item set" do
|
27
|
+
let(:values) { ["A"] }
|
28
|
+
let(:filtered) { [] }
|
29
|
+
|
30
|
+
include_examples "check filtered values"
|
31
|
+
end
|
32
|
+
|
33
|
+
context "with a single item set that doesn't contain match" do
|
34
|
+
let(:values) { [1] }
|
35
|
+
let(:filtered) { [1] }
|
36
|
+
|
37
|
+
include_examples "check filtered values"
|
38
|
+
end
|
39
|
+
|
40
|
+
context "with a multi-item set where one isn't a match" do
|
41
|
+
let(:values) { [2, "C", 4] }
|
42
|
+
let(:filtered) { [2, 4] }
|
43
|
+
|
44
|
+
include_examples "check filtered values"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "with a block" do
|
49
|
+
let(:block) { ->(item) { item + 100 }}
|
50
|
+
|
51
|
+
context "resulting items are processed with the block" do
|
52
|
+
let(:values) { [2, "C", 4] }
|
53
|
+
let(:filtered) { [102, 104] }
|
54
|
+
|
55
|
+
include_examples "check filtered values"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "immutable/vector"
|
3
|
+
|
4
|
+
describe Immutable::Vector do
|
5
|
+
let(:v) { V[1, 2, V[3, 4]] }
|
6
|
+
|
7
|
+
describe "#dig" do
|
8
|
+
it "returns value at the index with one argument" do
|
9
|
+
expect(v.dig(0)).to eq(1)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "returns value at index in nested arrays" do
|
13
|
+
expect(v.dig(2, 0)).to eq(3)
|
14
|
+
end
|
15
|
+
|
16
|
+
# This is different from Hash#dig, but it matches the behavior of Ruby's
|
17
|
+
# built-in Array#dig (except that Array#dig raises a TypeError)
|
18
|
+
it "raises an error when indexing deeper than possible" do
|
19
|
+
expect { (v.dig(0, 0)) }.to raise_error(NoMethodError)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns nil if you index past the end of an array" do
|
23
|
+
expect(v.dig(5)).to eq(nil)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "raises an error when indexing with a key vectors don't understand" do
|
27
|
+
expect { v.dig(:foo) }.to raise_error(ArgumentError)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -28,6 +28,8 @@ SS = Immutable::SortedSet
|
|
28
28
|
D = Immutable::Deque
|
29
29
|
EmptyList = Immutable::EmptyList
|
30
30
|
|
31
|
+
Struct.new("Customer", :name, :address)
|
32
|
+
|
31
33
|
def fixture(name)
|
32
34
|
File.read(fixture_path(name))
|
33
35
|
end
|
@@ -47,6 +49,8 @@ else
|
|
47
49
|
STACK_OVERFLOW_DEPTH = 16_384
|
48
50
|
end
|
49
51
|
|
52
|
+
BigList = Immutable.interval(0, STACK_OVERFLOW_DEPTH)
|
53
|
+
|
50
54
|
class DeterministicHash
|
51
55
|
attr_reader :hash, :value
|
52
56
|
|
metadata
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: immutable-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Alex Dowad
|
8
|
+
- Dov Murik
|
9
|
+
- Xavier Shay
|
7
10
|
- Simon Harris
|
8
11
|
autorequire:
|
9
12
|
bindir: bin
|
10
13
|
cert_chain: []
|
11
|
-
date:
|
14
|
+
date: 2017-11-05 00:00:00.000000000 Z
|
12
15
|
dependencies:
|
13
16
|
- !ruby/object:Gem::Dependency
|
14
17
|
name: concurrent-ruby
|
@@ -16,115 +19,115 @@ dependencies:
|
|
16
19
|
requirements:
|
17
20
|
- - "~>"
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: 1.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
29
|
+
version: 1.0.0
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: bundler
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
30
33
|
requirements:
|
31
34
|
- - "~>"
|
32
35
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
36
|
+
version: '1.15'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
43
|
+
version: '1.15'
|
41
44
|
- !ruby/object:Gem::Dependency
|
42
45
|
name: rspec
|
43
46
|
requirement: !ruby/object:Gem::Requirement
|
44
47
|
requirements:
|
45
48
|
- - "~>"
|
46
49
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
50
|
+
version: '3.7'
|
48
51
|
type: :development
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
55
|
- - "~>"
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
57
|
+
version: '3.7'
|
55
58
|
- !ruby/object:Gem::Dependency
|
56
59
|
name: rake
|
57
60
|
requirement: !ruby/object:Gem::Requirement
|
58
61
|
requirements:
|
59
62
|
- - "~>"
|
60
63
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
64
|
+
version: '12.2'
|
62
65
|
type: :development
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
65
68
|
requirements:
|
66
69
|
- - "~>"
|
67
70
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
71
|
+
version: '12.2'
|
69
72
|
- !ruby/object:Gem::Dependency
|
70
73
|
name: yard
|
71
74
|
requirement: !ruby/object:Gem::Requirement
|
72
75
|
requirements:
|
73
76
|
- - "~>"
|
74
77
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
78
|
+
version: '0.9'
|
76
79
|
type: :development
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
79
82
|
requirements:
|
80
83
|
- - "~>"
|
81
84
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
85
|
+
version: '0.9'
|
83
86
|
- !ruby/object:Gem::Dependency
|
84
87
|
name: pry
|
85
88
|
requirement: !ruby/object:Gem::Requirement
|
86
89
|
requirements:
|
87
90
|
- - "~>"
|
88
91
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0.
|
92
|
+
version: '0.11'
|
90
93
|
type: :development
|
91
94
|
prerelease: false
|
92
95
|
version_requirements: !ruby/object:Gem::Requirement
|
93
96
|
requirements:
|
94
97
|
- - "~>"
|
95
98
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0.
|
99
|
+
version: '0.11'
|
97
100
|
- !ruby/object:Gem::Dependency
|
98
101
|
name: pry-doc
|
99
102
|
requirement: !ruby/object:Gem::Requirement
|
100
103
|
requirements:
|
101
104
|
- - "~>"
|
102
105
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
106
|
+
version: '0.11'
|
104
107
|
type: :development
|
105
108
|
prerelease: false
|
106
109
|
version_requirements: !ruby/object:Gem::Requirement
|
107
110
|
requirements:
|
108
111
|
- - "~>"
|
109
112
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
113
|
+
version: '0.11'
|
111
114
|
- !ruby/object:Gem::Dependency
|
112
115
|
name: benchmark-ips
|
113
116
|
requirement: !ruby/object:Gem::Requirement
|
114
117
|
requirements:
|
115
118
|
- - "~>"
|
116
119
|
- !ruby/object:Gem::Version
|
117
|
-
version: '2.
|
120
|
+
version: '2.7'
|
118
121
|
type: :development
|
119
122
|
prerelease: false
|
120
123
|
version_requirements: !ruby/object:Gem::Requirement
|
121
124
|
requirements:
|
122
125
|
- - "~>"
|
123
126
|
- !ruby/object:Gem::Version
|
124
|
-
version: '2.
|
127
|
+
version: '2.7'
|
125
128
|
description: Efficient, immutable, thread-safe collection classes for Ruby
|
126
129
|
email:
|
127
|
-
-
|
130
|
+
- alexinbeijing@gmail.com
|
128
131
|
executables: []
|
129
132
|
extensions: []
|
130
133
|
extra_rdoc_files: []
|
@@ -133,6 +136,7 @@ files:
|
|
133
136
|
- lib/immutable/core_ext.rb
|
134
137
|
- lib/immutable/core_ext/enumerable.rb
|
135
138
|
- lib/immutable/core_ext/io.rb
|
139
|
+
- lib/immutable/core_ext/struct.rb
|
136
140
|
- lib/immutable/deque.rb
|
137
141
|
- lib/immutable/enumerable.rb
|
138
142
|
- lib/immutable/hash.rb
|
@@ -177,12 +181,14 @@ files:
|
|
177
181
|
- spec/lib/immutable/hash/copying_spec.rb
|
178
182
|
- spec/lib/immutable/hash/default_proc_spec.rb
|
179
183
|
- spec/lib/immutable/hash/delete_spec.rb
|
184
|
+
- spec/lib/immutable/hash/dig_spec.rb
|
180
185
|
- spec/lib/immutable/hash/each_spec.rb
|
181
186
|
- spec/lib/immutable/hash/each_with_index_spec.rb
|
182
187
|
- spec/lib/immutable/hash/empty_spec.rb
|
183
188
|
- spec/lib/immutable/hash/eql_spec.rb
|
184
189
|
- spec/lib/immutable/hash/except_spec.rb
|
185
190
|
- spec/lib/immutable/hash/fetch_spec.rb
|
191
|
+
- spec/lib/immutable/hash/fetch_values_spec.rb
|
186
192
|
- spec/lib/immutable/hash/find_spec.rb
|
187
193
|
- spec/lib/immutable/hash/flat_map_spec.rb
|
188
194
|
- spec/lib/immutable/hash/flatten_spec.rb
|
@@ -212,9 +218,12 @@ files:
|
|
212
218
|
- spec/lib/immutable/hash/slice_spec.rb
|
213
219
|
- spec/lib/immutable/hash/sort_spec.rb
|
214
220
|
- spec/lib/immutable/hash/store_spec.rb
|
221
|
+
- spec/lib/immutable/hash/subset_spec.rb
|
222
|
+
- spec/lib/immutable/hash/superset_spec.rb
|
215
223
|
- spec/lib/immutable/hash/take_spec.rb
|
216
224
|
- spec/lib/immutable/hash/to_a_spec.rb
|
217
225
|
- spec/lib/immutable/hash/to_hash_spec.rb
|
226
|
+
- spec/lib/immutable/hash/to_proc_spec.rb
|
218
227
|
- spec/lib/immutable/hash/update_in_spec.rb
|
219
228
|
- spec/lib/immutable/hash/values_at_spec.rb
|
220
229
|
- spec/lib/immutable/hash/values_spec.rb
|
@@ -323,6 +332,7 @@ files:
|
|
323
332
|
- spec/lib/immutable/set/first_spec.rb
|
324
333
|
- spec/lib/immutable/set/flatten_spec.rb
|
325
334
|
- spec/lib/immutable/set/grep_spec.rb
|
335
|
+
- spec/lib/immutable/set/grep_v_spec.rb
|
326
336
|
- spec/lib/immutable/set/group_by_spec.rb
|
327
337
|
- spec/lib/immutable/set/hash_spec.rb
|
328
338
|
- spec/lib/immutable/set/include_spec.rb
|
@@ -412,6 +422,7 @@ files:
|
|
412
422
|
- spec/lib/immutable/vector/count_spec.rb
|
413
423
|
- spec/lib/immutable/vector/delete_at_spec.rb
|
414
424
|
- spec/lib/immutable/vector/delete_spec.rb
|
425
|
+
- spec/lib/immutable/vector/dig_spec.rb
|
415
426
|
- spec/lib/immutable/vector/drop_spec.rb
|
416
427
|
- spec/lib/immutable/vector/drop_while_spec.rb
|
417
428
|
- spec/lib/immutable/vector/each_index_spec.rb
|
@@ -485,7 +496,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
485
496
|
requirements:
|
486
497
|
- - ">="
|
487
498
|
- !ruby/object:Gem::Version
|
488
|
-
version:
|
499
|
+
version: 2.2.2
|
489
500
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
490
501
|
requirements:
|
491
502
|
- - ">="
|
@@ -493,338 +504,344 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
493
504
|
version: '0'
|
494
505
|
requirements: []
|
495
506
|
rubyforge_project:
|
496
|
-
rubygems_version: 2.
|
507
|
+
rubygems_version: 2.6.13
|
497
508
|
signing_key:
|
498
509
|
specification_version: 4
|
499
510
|
summary: Efficient, immutable, thread-safe collection classes for Ruby
|
500
511
|
test_files:
|
501
|
-
- spec/fixtures/io_spec.txt
|
502
512
|
- spec/spec_helper.rb
|
503
|
-
- spec/
|
504
|
-
- spec/lib/
|
505
|
-
- spec/lib/immutable/
|
506
|
-
- spec/lib/immutable/
|
507
|
-
- spec/lib/immutable/
|
508
|
-
- spec/lib/immutable/
|
509
|
-
- spec/lib/immutable/
|
510
|
-
- spec/lib/immutable/hash/copying_spec.rb
|
511
|
-
- spec/lib/immutable/hash/keys_spec.rb
|
512
|
-
- spec/lib/immutable/hash/values_at_spec.rb
|
513
|
-
- spec/lib/immutable/hash/empty_spec.rb
|
514
|
-
- spec/lib/immutable/hash/any_spec.rb
|
515
|
-
- spec/lib/immutable/hash/map_spec.rb
|
516
|
-
- spec/lib/immutable/hash/reverse_each_spec.rb
|
517
|
-
- spec/lib/immutable/hash/store_spec.rb
|
518
|
-
- spec/lib/immutable/hash/update_in_spec.rb
|
519
|
-
- spec/lib/immutable/hash/all_spec.rb
|
520
|
-
- spec/lib/immutable/hash/min_max_spec.rb
|
521
|
-
- spec/lib/immutable/hash/put_spec.rb
|
522
|
-
- spec/lib/immutable/hash/each_spec.rb
|
523
|
-
- spec/lib/immutable/hash/sort_spec.rb
|
524
|
-
- spec/lib/immutable/hash/has_value_spec.rb
|
525
|
-
- spec/lib/immutable/hash/flat_map_spec.rb
|
526
|
-
- spec/lib/immutable/hash/slice_spec.rb
|
527
|
-
- spec/lib/immutable/hash/to_hash_spec.rb
|
528
|
-
- spec/lib/immutable/hash/to_a_spec.rb
|
529
|
-
- spec/lib/immutable/hash/has_key_spec.rb
|
530
|
-
- spec/lib/immutable/hash/take_spec.rb
|
531
|
-
- spec/lib/immutable/hash/reduce_spec.rb
|
532
|
-
- spec/lib/immutable/hash/select_spec.rb
|
533
|
-
- spec/lib/immutable/hash/find_spec.rb
|
534
|
-
- spec/lib/immutable/hash/sample_spec.rb
|
535
|
-
- spec/lib/immutable/hash/values_spec.rb
|
536
|
-
- spec/lib/immutable/hash/clear_spec.rb
|
537
|
-
- spec/lib/immutable/hash/key_spec.rb
|
538
|
-
- spec/lib/immutable/hash/get_spec.rb
|
539
|
-
- spec/lib/immutable/hash/each_with_index_spec.rb
|
540
|
-
- spec/lib/immutable/hash/none_spec.rb
|
541
|
-
- spec/lib/immutable/hash/inspect_spec.rb
|
542
|
-
- spec/lib/immutable/hash/size_spec.rb
|
543
|
-
- spec/lib/immutable/hash/fetch_spec.rb
|
544
|
-
- spec/lib/immutable/hash/reject_spec.rb
|
545
|
-
- spec/lib/immutable/hash/invert_spec.rb
|
546
|
-
- spec/lib/immutable/hash/except_spec.rb
|
547
|
-
- spec/lib/immutable/hash/partition_spec.rb
|
548
|
-
- spec/lib/immutable/hash/marshal_spec.rb
|
549
|
-
- spec/lib/immutable/hash/delete_spec.rb
|
550
|
-
- spec/lib/immutable/hash/pretty_print_spec.rb
|
551
|
-
- spec/lib/immutable/hash/new_spec.rb
|
552
|
-
- spec/lib/immutable/hash/merge_spec.rb
|
553
|
-
- spec/lib/immutable/sorted_set/below_spec.rb
|
554
|
-
- spec/lib/immutable/sorted_set/delete_at_spec.rb
|
555
|
-
- spec/lib/immutable/sorted_set/add_spec.rb
|
556
|
-
- spec/lib/immutable/sorted_set/maximum_spec.rb
|
557
|
-
- spec/lib/immutable/sorted_set/from_spec.rb
|
558
|
-
- spec/lib/immutable/sorted_set/eql_spec.rb
|
559
|
-
- spec/lib/immutable/sorted_set/intersection_spec.rb
|
560
|
-
- spec/lib/immutable/sorted_set/copying_spec.rb
|
561
|
-
- spec/lib/immutable/sorted_set/union_spec.rb
|
562
|
-
- spec/lib/immutable/sorted_set/values_at_spec.rb
|
563
|
-
- spec/lib/immutable/sorted_set/up_to_spec.rb
|
564
|
-
- spec/lib/immutable/sorted_set/to_set_spec.rb
|
565
|
-
- spec/lib/immutable/sorted_set/last_spec.rb
|
566
|
-
- spec/lib/immutable/sorted_set/empty_spec.rb
|
567
|
-
- spec/lib/immutable/sorted_set/exclusion_spec.rb
|
568
|
-
- spec/lib/immutable/sorted_set/sorting_spec.rb
|
569
|
-
- spec/lib/immutable/sorted_set/intersect_spec.rb
|
570
|
-
- spec/lib/immutable/sorted_set/above_spec.rb
|
571
|
-
- spec/lib/immutable/sorted_set/map_spec.rb
|
572
|
-
- spec/lib/immutable/sorted_set/take_while_spec.rb
|
573
|
-
- spec/lib/immutable/sorted_set/reverse_each_spec.rb
|
574
|
-
- spec/lib/immutable/sorted_set/each_spec.rb
|
575
|
-
- spec/lib/immutable/sorted_set/between_spec.rb
|
576
|
-
- spec/lib/immutable/sorted_set/drop_while_spec.rb
|
577
|
-
- spec/lib/immutable/sorted_set/slice_spec.rb
|
578
|
-
- spec/lib/immutable/sorted_set/take_spec.rb
|
579
|
-
- spec/lib/immutable/sorted_set/select_spec.rb
|
580
|
-
- spec/lib/immutable/sorted_set/include_spec.rb
|
581
|
-
- spec/lib/immutable/sorted_set/drop_spec.rb
|
582
|
-
- spec/lib/immutable/sorted_set/sample_spec.rb
|
583
|
-
- spec/lib/immutable/sorted_set/subset_spec.rb
|
584
|
-
- spec/lib/immutable/sorted_set/clear_spec.rb
|
585
|
-
- spec/lib/immutable/sorted_set/inspect_spec.rb
|
586
|
-
- spec/lib/immutable/sorted_set/minimum_spec.rb
|
587
|
-
- spec/lib/immutable/sorted_set/size_spec.rb
|
588
|
-
- spec/lib/immutable/sorted_set/fetch_spec.rb
|
589
|
-
- spec/lib/immutable/sorted_set/difference_spec.rb
|
590
|
-
- spec/lib/immutable/sorted_set/first_spec.rb
|
591
|
-
- spec/lib/immutable/sorted_set/group_by_spec.rb
|
592
|
-
- spec/lib/immutable/sorted_set/at_spec.rb
|
593
|
-
- spec/lib/immutable/sorted_set/find_index_spec.rb
|
594
|
-
- spec/lib/immutable/sorted_set/marshal_spec.rb
|
595
|
-
- spec/lib/immutable/sorted_set/delete_spec.rb
|
596
|
-
- spec/lib/immutable/sorted_set/superset_spec.rb
|
597
|
-
- spec/lib/immutable/sorted_set/new_spec.rb
|
598
|
-
- spec/lib/immutable/sorted_set/disjoint_spec.rb
|
599
|
-
- spec/lib/immutable/core_ext/array_spec.rb
|
600
|
-
- spec/lib/immutable/core_ext/enumerable_spec.rb
|
601
|
-
- spec/lib/immutable/core_ext/io_spec.rb
|
602
|
-
- spec/lib/immutable/vector/join_spec.rb
|
603
|
-
- spec/lib/immutable/vector/fill_spec.rb
|
604
|
-
- spec/lib/immutable/vector/reverse_spec.rb
|
513
|
+
- spec/fixtures/io_spec.txt
|
514
|
+
- spec/lib/load_spec.rb
|
515
|
+
- spec/lib/immutable/vector/last_spec.rb
|
516
|
+
- spec/lib/immutable/vector/each_index_spec.rb
|
517
|
+
- spec/lib/immutable/vector/drop_while_spec.rb
|
518
|
+
- spec/lib/immutable/vector/uniq_spec.rb
|
519
|
+
- spec/lib/immutable/vector/repeated_combination_spec.rb
|
605
520
|
- spec/lib/immutable/vector/delete_at_spec.rb
|
606
|
-
- spec/lib/immutable/vector/
|
607
|
-
- spec/lib/immutable/vector/
|
521
|
+
- spec/lib/immutable/vector/rindex_spec.rb
|
522
|
+
- spec/lib/immutable/vector/shuffle_spec.rb
|
523
|
+
- spec/lib/immutable/vector/reverse_each_spec.rb
|
608
524
|
- spec/lib/immutable/vector/add_spec.rb
|
609
|
-
- spec/lib/immutable/vector/flatten_spec.rb
|
610
|
-
- spec/lib/immutable/vector/maximum_spec.rb
|
611
525
|
- spec/lib/immutable/vector/concat_spec.rb
|
526
|
+
- spec/lib/immutable/vector/ltlt_spec.rb
|
527
|
+
- spec/lib/immutable/vector/take_spec.rb
|
612
528
|
- spec/lib/immutable/vector/eql_spec.rb
|
613
|
-
- spec/lib/immutable/vector/
|
614
|
-
- spec/lib/immutable/vector/
|
615
|
-
- spec/lib/immutable/vector/
|
616
|
-
- spec/lib/immutable/vector/length_spec.rb
|
617
|
-
- spec/lib/immutable/vector/each_index_spec.rb
|
618
|
-
- spec/lib/immutable/vector/sum_spec.rb
|
619
|
-
- spec/lib/immutable/vector/to_set_spec.rb
|
620
|
-
- spec/lib/immutable/vector/repeated_combination_spec.rb
|
621
|
-
- spec/lib/immutable/vector/last_spec.rb
|
622
|
-
- spec/lib/immutable/vector/insert_spec.rb
|
529
|
+
- spec/lib/immutable/vector/compare_spec.rb
|
530
|
+
- spec/lib/immutable/vector/partition_spec.rb
|
531
|
+
- spec/lib/immutable/vector/clear_spec.rb
|
623
532
|
- spec/lib/immutable/vector/empty_spec.rb
|
533
|
+
- spec/lib/immutable/vector/each_with_index_spec.rb
|
534
|
+
- spec/lib/immutable/vector/to_list_spec.rb
|
535
|
+
- spec/lib/immutable/vector/get_spec.rb
|
536
|
+
- spec/lib/immutable/vector/combination_spec.rb
|
537
|
+
- spec/lib/immutable/vector/first_spec.rb
|
538
|
+
- spec/lib/immutable/vector/maximum_spec.rb
|
539
|
+
- spec/lib/immutable/vector/fill_spec.rb
|
540
|
+
- spec/lib/immutable/vector/permutation_spec.rb
|
541
|
+
- spec/lib/immutable/vector/flatten_spec.rb
|
542
|
+
- spec/lib/immutable/vector/drop_spec.rb
|
543
|
+
- spec/lib/immutable/vector/new_spec.rb
|
624
544
|
- spec/lib/immutable/vector/sorting_spec.rb
|
625
|
-
- spec/lib/immutable/vector/
|
626
|
-
- spec/lib/immutable/vector/any_spec.rb
|
627
|
-
- spec/lib/immutable/vector/count_spec.rb
|
628
|
-
- spec/lib/immutable/vector/map_spec.rb
|
545
|
+
- spec/lib/immutable/vector/delete_spec.rb
|
629
546
|
- spec/lib/immutable/vector/take_while_spec.rb
|
630
|
-
- spec/lib/immutable/vector/
|
631
|
-
- spec/lib/immutable/vector/
|
632
|
-
- spec/lib/immutable/vector/
|
633
|
-
- spec/lib/immutable/vector/
|
634
|
-
- spec/lib/immutable/vector/
|
635
|
-
- spec/lib/immutable/vector/drop_while_spec.rb
|
547
|
+
- spec/lib/immutable/vector/assoc_spec.rb
|
548
|
+
- spec/lib/immutable/vector/shift_spec.rb
|
549
|
+
- spec/lib/immutable/vector/to_set_spec.rb
|
550
|
+
- spec/lib/immutable/vector/reject_spec.rb
|
551
|
+
- spec/lib/immutable/vector/zip_spec.rb
|
636
552
|
- spec/lib/immutable/vector/flat_map_spec.rb
|
553
|
+
- spec/lib/immutable/vector/map_spec.rb
|
554
|
+
- spec/lib/immutable/vector/length_spec.rb
|
555
|
+
- spec/lib/immutable/vector/inspect_spec.rb
|
637
556
|
- spec/lib/immutable/vector/slice_spec.rb
|
638
|
-
- spec/lib/immutable/vector/
|
639
|
-
- spec/lib/immutable/vector/
|
640
|
-
- spec/lib/immutable/vector/
|
641
|
-
- spec/lib/immutable/vector/
|
642
|
-
- spec/lib/immutable/vector/reduce_spec.rb
|
643
|
-
- spec/lib/immutable/vector/select_spec.rb
|
644
|
-
- spec/lib/immutable/vector/permutation_spec.rb
|
557
|
+
- spec/lib/immutable/vector/product_spec.rb
|
558
|
+
- spec/lib/immutable/vector/dig_spec.rb
|
559
|
+
- spec/lib/immutable/vector/minimum_spec.rb
|
560
|
+
- spec/lib/immutable/vector/update_in_spec.rb
|
645
561
|
- spec/lib/immutable/vector/include_spec.rb
|
646
|
-
- spec/lib/immutable/vector/
|
562
|
+
- spec/lib/immutable/vector/any_spec.rb
|
647
563
|
- spec/lib/immutable/vector/unshift_spec.rb
|
648
|
-
- spec/lib/immutable/vector/
|
649
|
-
- spec/lib/immutable/vector/
|
564
|
+
- spec/lib/immutable/vector/repeated_permutation_spec.rb
|
565
|
+
- spec/lib/immutable/vector/reverse_spec.rb
|
566
|
+
- spec/lib/immutable/vector/insert_spec.rb
|
567
|
+
- spec/lib/immutable/vector/set_spec.rb
|
568
|
+
- spec/lib/immutable/vector/select_spec.rb
|
650
569
|
- spec/lib/immutable/vector/transpose_spec.rb
|
651
|
-
- spec/lib/immutable/vector/
|
652
|
-
- spec/lib/immutable/vector/rindex_spec.rb
|
653
|
-
- spec/lib/immutable/vector/clear_spec.rb
|
570
|
+
- spec/lib/immutable/vector/compact_spec.rb
|
654
571
|
- spec/lib/immutable/vector/to_ary_spec.rb
|
655
|
-
- spec/lib/immutable/vector/
|
656
|
-
- spec/lib/immutable/vector/
|
657
|
-
- spec/lib/immutable/vector/
|
658
|
-
- spec/lib/immutable/vector/
|
659
|
-
- spec/lib/immutable/vector/
|
660
|
-
- spec/lib/immutable/vector/
|
661
|
-
- spec/lib/immutable/vector/
|
662
|
-
- spec/lib/immutable/vector/zip_spec.rb
|
663
|
-
- spec/lib/immutable/vector/bsearch_spec.rb
|
572
|
+
- spec/lib/immutable/vector/copying_spec.rb
|
573
|
+
- spec/lib/immutable/vector/multiply_spec.rb
|
574
|
+
- spec/lib/immutable/vector/pop_spec.rb
|
575
|
+
- spec/lib/immutable/vector/to_a_spec.rb
|
576
|
+
- spec/lib/immutable/vector/count_spec.rb
|
577
|
+
- spec/lib/immutable/vector/sum_spec.rb
|
578
|
+
- spec/lib/immutable/vector/each_spec.rb
|
664
579
|
- spec/lib/immutable/vector/group_by_spec.rb
|
665
|
-
- spec/lib/immutable/vector/
|
666
|
-
- spec/lib/immutable/vector/
|
667
|
-
- spec/lib/immutable/vector/
|
580
|
+
- spec/lib/immutable/vector/bsearch_spec.rb
|
581
|
+
- spec/lib/immutable/vector/sample_spec.rb
|
582
|
+
- spec/lib/immutable/vector/rotate_spec.rb
|
583
|
+
- spec/lib/immutable/vector/values_at_spec.rb
|
584
|
+
- spec/lib/immutable/vector/join_spec.rb
|
668
585
|
- spec/lib/immutable/vector/marshal_spec.rb
|
669
|
-
- spec/lib/immutable/vector/
|
670
|
-
- spec/lib/immutable/vector/
|
671
|
-
- spec/lib/immutable/vector/ltlt_spec.rb
|
672
|
-
- spec/lib/immutable/vector/combination_spec.rb
|
673
|
-
- spec/lib/immutable/vector/new_spec.rb
|
674
|
-
- spec/lib/immutable/deque/construction_spec.rb
|
675
|
-
- spec/lib/immutable/deque/shift_spec.rb
|
676
|
-
- spec/lib/immutable/deque/copying_spec.rb
|
677
|
-
- spec/lib/immutable/deque/dequeue_spec.rb
|
678
|
-
- spec/lib/immutable/deque/last_spec.rb
|
679
|
-
- spec/lib/immutable/deque/empty_spec.rb
|
680
|
-
- spec/lib/immutable/deque/random_modification_spec.rb
|
586
|
+
- spec/lib/immutable/vector/reduce_spec.rb
|
587
|
+
- spec/lib/immutable/vector/fetch_spec.rb
|
681
588
|
- spec/lib/immutable/deque/enqueue_spec.rb
|
682
|
-
- spec/lib/immutable/deque/
|
683
|
-
- spec/lib/immutable/deque/
|
684
|
-
- spec/lib/immutable/deque/to_list_spec.rb
|
685
|
-
- spec/lib/immutable/deque/pop_spec.rb
|
589
|
+
- spec/lib/immutable/deque/last_spec.rb
|
590
|
+
- spec/lib/immutable/deque/dequeue_spec.rb
|
686
591
|
- spec/lib/immutable/deque/push_spec.rb
|
592
|
+
- spec/lib/immutable/deque/pretty_print_spec.rb
|
687
593
|
- spec/lib/immutable/deque/clear_spec.rb
|
688
|
-
- spec/lib/immutable/deque/
|
689
|
-
- spec/lib/immutable/deque/inspect_spec.rb
|
594
|
+
- spec/lib/immutable/deque/empty_spec.rb
|
690
595
|
- spec/lib/immutable/deque/size_spec.rb
|
596
|
+
- spec/lib/immutable/deque/to_list_spec.rb
|
597
|
+
- spec/lib/immutable/deque/random_modification_spec.rb
|
691
598
|
- spec/lib/immutable/deque/first_spec.rb
|
692
|
-
- spec/lib/immutable/deque/marshal_spec.rb
|
693
|
-
- spec/lib/immutable/deque/pretty_print_spec.rb
|
694
599
|
- spec/lib/immutable/deque/new_spec.rb
|
695
|
-
- spec/lib/immutable/
|
696
|
-
- spec/lib/immutable/
|
697
|
-
- spec/lib/immutable/
|
698
|
-
- spec/lib/immutable/
|
699
|
-
- spec/lib/immutable/
|
700
|
-
- spec/lib/immutable/
|
701
|
-
- spec/lib/immutable/
|
702
|
-
- spec/lib/immutable/
|
703
|
-
- spec/lib/immutable/
|
704
|
-
- spec/lib/immutable/set/
|
705
|
-
- spec/lib/immutable/set/
|
706
|
-
- spec/lib/immutable/set/sum_spec.rb
|
707
|
-
- spec/lib/immutable/set/to_set_spec.rb
|
708
|
-
- spec/lib/immutable/set/empty_spec.rb
|
709
|
-
- spec/lib/immutable/set/exclusion_spec.rb
|
710
|
-
- spec/lib/immutable/set/sorting_spec.rb
|
711
|
-
- spec/lib/immutable/set/product_spec.rb
|
712
|
-
- spec/lib/immutable/set/any_spec.rb
|
713
|
-
- spec/lib/immutable/set/intersect_spec.rb
|
714
|
-
- spec/lib/immutable/set/count_spec.rb
|
715
|
-
- spec/lib/immutable/set/map_spec.rb
|
716
|
-
- spec/lib/immutable/set/reverse_each_spec.rb
|
717
|
-
- spec/lib/immutable/set/all_spec.rb
|
718
|
-
- spec/lib/immutable/set/each_spec.rb
|
719
|
-
- spec/lib/immutable/set/one_spec.rb
|
720
|
-
- spec/lib/immutable/set/to_a_spec.rb
|
721
|
-
- spec/lib/immutable/set/reduce_spec.rb
|
722
|
-
- spec/lib/immutable/set/select_spec.rb
|
723
|
-
- spec/lib/immutable/set/find_spec.rb
|
724
|
-
- spec/lib/immutable/set/include_spec.rb
|
725
|
-
- spec/lib/immutable/set/to_list_spec.rb
|
726
|
-
- spec/lib/immutable/set/eqeq_spec.rb
|
727
|
-
- spec/lib/immutable/set/sample_spec.rb
|
600
|
+
- spec/lib/immutable/deque/shift_spec.rb
|
601
|
+
- spec/lib/immutable/deque/construction_spec.rb
|
602
|
+
- spec/lib/immutable/deque/inspect_spec.rb
|
603
|
+
- spec/lib/immutable/deque/unshift_spec.rb
|
604
|
+
- spec/lib/immutable/deque/to_ary_spec.rb
|
605
|
+
- spec/lib/immutable/deque/copying_spec.rb
|
606
|
+
- spec/lib/immutable/deque/pop_spec.rb
|
607
|
+
- spec/lib/immutable/deque/to_a_spec.rb
|
608
|
+
- spec/lib/immutable/deque/marshal_spec.rb
|
609
|
+
- spec/lib/immutable/set/difference_spec.rb
|
610
|
+
- spec/lib/immutable/set/disjoint_spec.rb
|
728
611
|
- spec/lib/immutable/set/subset_spec.rb
|
729
|
-
- spec/lib/immutable/set/
|
612
|
+
- spec/lib/immutable/set/grep_v_spec.rb
|
613
|
+
- spec/lib/immutable/set/union_spec.rb
|
614
|
+
- spec/lib/immutable/set/superset_spec.rb
|
615
|
+
- spec/lib/immutable/set/eqeq_spec.rb
|
730
616
|
- spec/lib/immutable/set/grep_spec.rb
|
731
617
|
- spec/lib/immutable/set/none_spec.rb
|
732
|
-
- spec/lib/immutable/set/
|
733
|
-
- spec/lib/immutable/set/
|
618
|
+
- spec/lib/immutable/set/reverse_each_spec.rb
|
619
|
+
- spec/lib/immutable/set/add_spec.rb
|
620
|
+
- spec/lib/immutable/set/eql_spec.rb
|
621
|
+
- spec/lib/immutable/set/one_spec.rb
|
622
|
+
- spec/lib/immutable/set/partition_spec.rb
|
623
|
+
- spec/lib/immutable/set/clear_spec.rb
|
624
|
+
- spec/lib/immutable/set/empty_spec.rb
|
734
625
|
- spec/lib/immutable/set/size_spec.rb
|
735
|
-
- spec/lib/immutable/set/
|
736
|
-
- spec/lib/immutable/set/reject_spec.rb
|
626
|
+
- spec/lib/immutable/set/to_list_spec.rb
|
737
627
|
- spec/lib/immutable/set/first_spec.rb
|
628
|
+
- spec/lib/immutable/set/maximum_spec.rb
|
629
|
+
- spec/lib/immutable/set/flatten_spec.rb
|
630
|
+
- spec/lib/immutable/set/new_spec.rb
|
631
|
+
- spec/lib/immutable/set/sorting_spec.rb
|
632
|
+
- spec/lib/immutable/set/delete_spec.rb
|
633
|
+
- spec/lib/immutable/set/hash_spec.rb
|
634
|
+
- spec/lib/immutable/set/to_set_spec.rb
|
635
|
+
- spec/lib/immutable/set/reject_spec.rb
|
636
|
+
- spec/lib/immutable/set/construction_spec.rb
|
637
|
+
- spec/lib/immutable/set/intersection_spec.rb
|
638
|
+
- spec/lib/immutable/set/map_spec.rb
|
639
|
+
- spec/lib/immutable/set/inspect_spec.rb
|
640
|
+
- spec/lib/immutable/set/product_spec.rb
|
641
|
+
- spec/lib/immutable/set/minimum_spec.rb
|
642
|
+
- spec/lib/immutable/set/find_spec.rb
|
643
|
+
- spec/lib/immutable/set/include_spec.rb
|
644
|
+
- spec/lib/immutable/set/any_spec.rb
|
645
|
+
- spec/lib/immutable/set/select_spec.rb
|
646
|
+
- spec/lib/immutable/set/exclusion_spec.rb
|
647
|
+
- spec/lib/immutable/set/compact_spec.rb
|
648
|
+
- spec/lib/immutable/set/copying_spec.rb
|
649
|
+
- spec/lib/immutable/set/to_a_spec.rb
|
650
|
+
- spec/lib/immutable/set/count_spec.rb
|
651
|
+
- spec/lib/immutable/set/sum_spec.rb
|
652
|
+
- spec/lib/immutable/set/each_spec.rb
|
738
653
|
- spec/lib/immutable/set/group_by_spec.rb
|
739
|
-
- spec/lib/immutable/set/
|
654
|
+
- spec/lib/immutable/set/sample_spec.rb
|
655
|
+
- spec/lib/immutable/set/join_spec.rb
|
740
656
|
- spec/lib/immutable/set/marshal_spec.rb
|
741
|
-
- spec/lib/immutable/set/
|
742
|
-
- spec/lib/immutable/set/
|
743
|
-
- spec/lib/immutable/set/
|
744
|
-
- spec/lib/immutable/
|
745
|
-
- spec/lib/immutable/
|
746
|
-
- spec/lib/immutable/
|
747
|
-
- spec/lib/immutable/
|
748
|
-
- spec/lib/immutable/list/
|
749
|
-
- spec/lib/immutable/list/
|
750
|
-
- spec/lib/immutable/list/
|
657
|
+
- spec/lib/immutable/set/all_spec.rb
|
658
|
+
- spec/lib/immutable/set/intersect_spec.rb
|
659
|
+
- spec/lib/immutable/set/reduce_spec.rb
|
660
|
+
- spec/lib/immutable/core_ext/array_spec.rb
|
661
|
+
- spec/lib/immutable/core_ext/io_spec.rb
|
662
|
+
- spec/lib/immutable/core_ext/enumerable_spec.rb
|
663
|
+
- spec/lib/immutable/nested/construction_spec.rb
|
664
|
+
- spec/lib/immutable/list/last_spec.rb
|
665
|
+
- spec/lib/immutable/list/cadr_spec.rb
|
666
|
+
- spec/lib/immutable/list/drop_while_spec.rb
|
667
|
+
- spec/lib/immutable/list/break_spec.rb
|
668
|
+
- spec/lib/immutable/list/union_spec.rb
|
669
|
+
- spec/lib/immutable/list/uniq_spec.rb
|
751
670
|
- spec/lib/immutable/list/delete_at_spec.rb
|
752
|
-
- spec/lib/immutable/list/
|
671
|
+
- spec/lib/immutable/list/grep_spec.rb
|
672
|
+
- spec/lib/immutable/list/none_spec.rb
|
673
|
+
- spec/lib/immutable/list/tail_spec.rb
|
753
674
|
- spec/lib/immutable/list/add_spec.rb
|
754
|
-
- spec/lib/immutable/list/
|
755
|
-
- spec/lib/immutable/list/
|
756
|
-
- spec/lib/immutable/list/
|
757
|
-
- spec/lib/immutable/list/find_all_spec.rb
|
675
|
+
- spec/lib/immutable/list/ltlt_spec.rb
|
676
|
+
- spec/lib/immutable/list/split_at_spec.rb
|
677
|
+
- spec/lib/immutable/list/take_spec.rb
|
758
678
|
- spec/lib/immutable/list/eql_spec.rb
|
759
|
-
- spec/lib/immutable/list/
|
760
|
-
- spec/lib/immutable/list/
|
761
|
-
- spec/lib/immutable/list/
|
762
|
-
- spec/lib/immutable/list/
|
763
|
-
- spec/lib/immutable/list/
|
764
|
-
- spec/lib/immutable/list/
|
765
|
-
- spec/lib/immutable/list/
|
679
|
+
- spec/lib/immutable/list/index_spec.rb
|
680
|
+
- spec/lib/immutable/list/one_spec.rb
|
681
|
+
- spec/lib/immutable/list/intersperse_spec.rb
|
682
|
+
- spec/lib/immutable/list/append_spec.rb
|
683
|
+
- spec/lib/immutable/list/compare_spec.rb
|
684
|
+
- spec/lib/immutable/list/partition_spec.rb
|
685
|
+
- spec/lib/immutable/list/clear_spec.rb
|
686
|
+
- spec/lib/immutable/list/span_spec.rb
|
766
687
|
- spec/lib/immutable/list/empty_spec.rb
|
688
|
+
- spec/lib/immutable/list/size_spec.rb
|
689
|
+
- spec/lib/immutable/list/each_with_index_spec.rb
|
690
|
+
- spec/lib/immutable/list/to_list_spec.rb
|
691
|
+
- spec/lib/immutable/list/combination_spec.rb
|
692
|
+
- spec/lib/immutable/list/head_spec.rb
|
693
|
+
- spec/lib/immutable/list/maximum_spec.rb
|
694
|
+
- spec/lib/immutable/list/fill_spec.rb
|
695
|
+
- spec/lib/immutable/list/permutation_spec.rb
|
696
|
+
- spec/lib/immutable/list/flatten_spec.rb
|
697
|
+
- spec/lib/immutable/list/drop_spec.rb
|
767
698
|
- spec/lib/immutable/list/sorting_spec.rb
|
768
|
-
- spec/lib/immutable/list/
|
769
|
-
- spec/lib/immutable/list/product_spec.rb
|
770
|
-
- spec/lib/immutable/list/any_spec.rb
|
771
|
-
- spec/lib/immutable/list/count_spec.rb
|
772
|
-
- spec/lib/immutable/list/split_at_spec.rb
|
773
|
-
- spec/lib/immutable/list/map_spec.rb
|
699
|
+
- spec/lib/immutable/list/delete_spec.rb
|
774
700
|
- spec/lib/immutable/list/take_while_spec.rb
|
775
|
-
- spec/lib/immutable/list/
|
776
|
-
- spec/lib/immutable/list/break_spec.rb
|
777
|
-
- spec/lib/immutable/list/intersperse_spec.rb
|
701
|
+
- spec/lib/immutable/list/hash_spec.rb
|
778
702
|
- spec/lib/immutable/list/multithreading_spec.rb
|
779
|
-
- spec/lib/immutable/list/
|
780
|
-
- spec/lib/immutable/list/
|
781
|
-
- spec/lib/immutable/list/each_spec.rb
|
782
|
-
- spec/lib/immutable/list/one_spec.rb
|
783
|
-
- spec/lib/immutable/list/subsequences_spec.rb
|
784
|
-
- spec/lib/immutable/list/append_spec.rb
|
703
|
+
- spec/lib/immutable/list/tails_spec.rb
|
704
|
+
- spec/lib/immutable/list/inits_spec.rb
|
785
705
|
- spec/lib/immutable/list/each_slice_spec.rb
|
786
|
-
- spec/lib/immutable/list/
|
706
|
+
- spec/lib/immutable/list/at_spec.rb
|
707
|
+
- spec/lib/immutable/list/init_spec.rb
|
708
|
+
- spec/lib/immutable/list/to_set_spec.rb
|
709
|
+
- spec/lib/immutable/list/reject_spec.rb
|
710
|
+
- spec/lib/immutable/list/zip_spec.rb
|
711
|
+
- spec/lib/immutable/list/construction_spec.rb
|
787
712
|
- spec/lib/immutable/list/flat_map_spec.rb
|
788
|
-
- spec/lib/immutable/list/
|
713
|
+
- spec/lib/immutable/list/map_spec.rb
|
714
|
+
- spec/lib/immutable/list/find_index_spec.rb
|
715
|
+
- spec/lib/immutable/list/cycle_spec.rb
|
716
|
+
- spec/lib/immutable/list/subsequences_spec.rb
|
717
|
+
- spec/lib/immutable/list/inspect_spec.rb
|
789
718
|
- spec/lib/immutable/list/slice_spec.rb
|
790
|
-
- spec/lib/immutable/list/
|
791
|
-
- spec/lib/immutable/list/
|
792
|
-
- spec/lib/immutable/list/
|
793
|
-
- spec/lib/immutable/list/reduce_spec.rb
|
794
|
-
- spec/lib/immutable/list/select_spec.rb
|
795
|
-
- spec/lib/immutable/list/permutation_spec.rb
|
719
|
+
- spec/lib/immutable/list/cons_spec.rb
|
720
|
+
- spec/lib/immutable/list/product_spec.rb
|
721
|
+
- spec/lib/immutable/list/minimum_spec.rb
|
796
722
|
- spec/lib/immutable/list/find_spec.rb
|
797
723
|
- spec/lib/immutable/list/include_spec.rb
|
798
|
-
- spec/lib/immutable/list/
|
799
|
-
- spec/lib/immutable/list/
|
800
|
-
- spec/lib/immutable/list/
|
724
|
+
- spec/lib/immutable/list/any_spec.rb
|
725
|
+
- spec/lib/immutable/list/reverse_spec.rb
|
726
|
+
- spec/lib/immutable/list/insert_spec.rb
|
727
|
+
- spec/lib/immutable/list/select_spec.rb
|
728
|
+
- spec/lib/immutable/list/indices_spec.rb
|
801
729
|
- spec/lib/immutable/list/transpose_spec.rb
|
802
|
-
- spec/lib/immutable/list/
|
803
|
-
- spec/lib/immutable/list/
|
804
|
-
- spec/lib/immutable/list/clear_spec.rb
|
730
|
+
- spec/lib/immutable/list/chunk_spec.rb
|
731
|
+
- spec/lib/immutable/list/compact_spec.rb
|
805
732
|
- spec/lib/immutable/list/to_ary_spec.rb
|
806
|
-
- spec/lib/immutable/list/
|
807
|
-
- spec/lib/immutable/list/
|
808
|
-
- spec/lib/immutable/list/
|
809
|
-
- spec/lib/immutable/list/
|
810
|
-
- spec/lib/immutable/list/
|
811
|
-
- spec/lib/immutable/list/
|
812
|
-
- spec/lib/immutable/list/
|
813
|
-
- spec/lib/immutable/list/size_spec.rb
|
814
|
-
- spec/lib/immutable/list/reject_spec.rb
|
815
|
-
- spec/lib/immutable/list/zip_spec.rb
|
733
|
+
- spec/lib/immutable/list/copying_spec.rb
|
734
|
+
- spec/lib/immutable/list/pop_spec.rb
|
735
|
+
- spec/lib/immutable/list/to_a_spec.rb
|
736
|
+
- spec/lib/immutable/list/count_spec.rb
|
737
|
+
- spec/lib/immutable/list/sum_spec.rb
|
738
|
+
- spec/lib/immutable/list/each_spec.rb
|
739
|
+
- spec/lib/immutable/list/find_all_spec.rb
|
816
740
|
- spec/lib/immutable/list/group_by_spec.rb
|
817
|
-
- spec/lib/immutable/list/compare_spec.rb
|
818
|
-
- spec/lib/immutable/list/at_spec.rb
|
819
|
-
- spec/lib/immutable/list/tails_spec.rb
|
820
|
-
- spec/lib/immutable/list/find_index_spec.rb
|
821
|
-
- spec/lib/immutable/list/uniq_spec.rb
|
822
|
-
- spec/lib/immutable/list/tail_spec.rb
|
823
|
-
- spec/lib/immutable/list/partition_spec.rb
|
824
|
-
- spec/lib/immutable/list/delete_spec.rb
|
825
|
-
- spec/lib/immutable/list/ltlt_spec.rb
|
826
|
-
- spec/lib/immutable/list/combination_spec.rb
|
827
741
|
- spec/lib/immutable/list/merge_spec.rb
|
828
|
-
- spec/lib/immutable/list/
|
829
|
-
- spec/lib/
|
830
|
-
|
742
|
+
- spec/lib/immutable/list/sample_spec.rb
|
743
|
+
- spec/lib/immutable/list/merge_by_spec.rb
|
744
|
+
- spec/lib/immutable/list/rotate_spec.rb
|
745
|
+
- spec/lib/immutable/list/join_spec.rb
|
746
|
+
- spec/lib/immutable/list/all_spec.rb
|
747
|
+
- spec/lib/immutable/list/reduce_spec.rb
|
748
|
+
- spec/lib/immutable/sorted_set/last_spec.rb
|
749
|
+
- spec/lib/immutable/sorted_set/difference_spec.rb
|
750
|
+
- spec/lib/immutable/sorted_set/disjoint_spec.rb
|
751
|
+
- spec/lib/immutable/sorted_set/subset_spec.rb
|
752
|
+
- spec/lib/immutable/sorted_set/drop_while_spec.rb
|
753
|
+
- spec/lib/immutable/sorted_set/union_spec.rb
|
754
|
+
- spec/lib/immutable/sorted_set/delete_at_spec.rb
|
755
|
+
- spec/lib/immutable/sorted_set/superset_spec.rb
|
756
|
+
- spec/lib/immutable/sorted_set/reverse_each_spec.rb
|
757
|
+
- spec/lib/immutable/sorted_set/add_spec.rb
|
758
|
+
- spec/lib/immutable/sorted_set/take_spec.rb
|
759
|
+
- spec/lib/immutable/sorted_set/eql_spec.rb
|
760
|
+
- spec/lib/immutable/sorted_set/clear_spec.rb
|
761
|
+
- spec/lib/immutable/sorted_set/empty_spec.rb
|
762
|
+
- spec/lib/immutable/sorted_set/size_spec.rb
|
763
|
+
- spec/lib/immutable/sorted_set/first_spec.rb
|
764
|
+
- spec/lib/immutable/sorted_set/below_spec.rb
|
765
|
+
- spec/lib/immutable/sorted_set/maximum_spec.rb
|
766
|
+
- spec/lib/immutable/sorted_set/drop_spec.rb
|
767
|
+
- spec/lib/immutable/sorted_set/new_spec.rb
|
768
|
+
- spec/lib/immutable/sorted_set/sorting_spec.rb
|
769
|
+
- spec/lib/immutable/sorted_set/from_spec.rb
|
770
|
+
- spec/lib/immutable/sorted_set/delete_spec.rb
|
771
|
+
- spec/lib/immutable/sorted_set/take_while_spec.rb
|
772
|
+
- spec/lib/immutable/sorted_set/at_spec.rb
|
773
|
+
- spec/lib/immutable/sorted_set/to_set_spec.rb
|
774
|
+
- spec/lib/immutable/sorted_set/intersection_spec.rb
|
775
|
+
- spec/lib/immutable/sorted_set/up_to_spec.rb
|
776
|
+
- spec/lib/immutable/sorted_set/map_spec.rb
|
777
|
+
- spec/lib/immutable/sorted_set/find_index_spec.rb
|
778
|
+
- spec/lib/immutable/sorted_set/inspect_spec.rb
|
779
|
+
- spec/lib/immutable/sorted_set/slice_spec.rb
|
780
|
+
- spec/lib/immutable/sorted_set/minimum_spec.rb
|
781
|
+
- spec/lib/immutable/sorted_set/include_spec.rb
|
782
|
+
- spec/lib/immutable/sorted_set/select_spec.rb
|
783
|
+
- spec/lib/immutable/sorted_set/above_spec.rb
|
784
|
+
- spec/lib/immutable/sorted_set/exclusion_spec.rb
|
785
|
+
- spec/lib/immutable/sorted_set/copying_spec.rb
|
786
|
+
- spec/lib/immutable/sorted_set/each_spec.rb
|
787
|
+
- spec/lib/immutable/sorted_set/group_by_spec.rb
|
788
|
+
- spec/lib/immutable/sorted_set/between_spec.rb
|
789
|
+
- spec/lib/immutable/sorted_set/sample_spec.rb
|
790
|
+
- spec/lib/immutable/sorted_set/values_at_spec.rb
|
791
|
+
- spec/lib/immutable/sorted_set/marshal_spec.rb
|
792
|
+
- spec/lib/immutable/sorted_set/intersect_spec.rb
|
793
|
+
- spec/lib/immutable/sorted_set/fetch_spec.rb
|
794
|
+
- spec/lib/immutable/hash/subset_spec.rb
|
795
|
+
- spec/lib/immutable/hash/to_proc_spec.rb
|
796
|
+
- spec/lib/immutable/hash/superset_spec.rb
|
797
|
+
- spec/lib/immutable/hash/none_spec.rb
|
798
|
+
- spec/lib/immutable/hash/reverse_each_spec.rb
|
799
|
+
- spec/lib/immutable/hash/to_hash_spec.rb
|
800
|
+
- spec/lib/immutable/hash/values_spec.rb
|
801
|
+
- spec/lib/immutable/hash/take_spec.rb
|
802
|
+
- spec/lib/immutable/hash/eql_spec.rb
|
803
|
+
- spec/lib/immutable/hash/pretty_print_spec.rb
|
804
|
+
- spec/lib/immutable/hash/partition_spec.rb
|
805
|
+
- spec/lib/immutable/hash/clear_spec.rb
|
806
|
+
- spec/lib/immutable/hash/empty_spec.rb
|
807
|
+
- spec/lib/immutable/hash/size_spec.rb
|
808
|
+
- spec/lib/immutable/hash/each_with_index_spec.rb
|
809
|
+
- spec/lib/immutable/hash/fetch_values_spec.rb
|
810
|
+
- spec/lib/immutable/hash/keys_spec.rb
|
811
|
+
- spec/lib/immutable/hash/default_proc_spec.rb
|
812
|
+
- spec/lib/immutable/hash/get_spec.rb
|
813
|
+
- spec/lib/immutable/hash/flatten_spec.rb
|
814
|
+
- spec/lib/immutable/hash/key_spec.rb
|
815
|
+
- spec/lib/immutable/hash/new_spec.rb
|
816
|
+
- spec/lib/immutable/hash/delete_spec.rb
|
817
|
+
- spec/lib/immutable/hash/hash_spec.rb
|
818
|
+
- spec/lib/immutable/hash/assoc_spec.rb
|
819
|
+
- spec/lib/immutable/hash/invert_spec.rb
|
820
|
+
- spec/lib/immutable/hash/reject_spec.rb
|
821
|
+
- spec/lib/immutable/hash/has_key_spec.rb
|
822
|
+
- spec/lib/immutable/hash/construction_spec.rb
|
823
|
+
- spec/lib/immutable/hash/flat_map_spec.rb
|
824
|
+
- spec/lib/immutable/hash/map_spec.rb
|
825
|
+
- spec/lib/immutable/hash/put_spec.rb
|
826
|
+
- spec/lib/immutable/hash/inspect_spec.rb
|
827
|
+
- spec/lib/immutable/hash/slice_spec.rb
|
828
|
+
- spec/lib/immutable/hash/dig_spec.rb
|
829
|
+
- spec/lib/immutable/hash/update_in_spec.rb
|
830
|
+
- spec/lib/immutable/hash/find_spec.rb
|
831
|
+
- spec/lib/immutable/hash/any_spec.rb
|
832
|
+
- spec/lib/immutable/hash/except_spec.rb
|
833
|
+
- spec/lib/immutable/hash/has_value_spec.rb
|
834
|
+
- spec/lib/immutable/hash/select_spec.rb
|
835
|
+
- spec/lib/immutable/hash/store_spec.rb
|
836
|
+
- spec/lib/immutable/hash/copying_spec.rb
|
837
|
+
- spec/lib/immutable/hash/to_a_spec.rb
|
838
|
+
- spec/lib/immutable/hash/each_spec.rb
|
839
|
+
- spec/lib/immutable/hash/merge_spec.rb
|
840
|
+
- spec/lib/immutable/hash/sample_spec.rb
|
841
|
+
- spec/lib/immutable/hash/values_at_spec.rb
|
842
|
+
- spec/lib/immutable/hash/min_max_spec.rb
|
843
|
+
- spec/lib/immutable/hash/marshal_spec.rb
|
844
|
+
- spec/lib/immutable/hash/all_spec.rb
|
845
|
+
- spec/lib/immutable/hash/reduce_spec.rb
|
846
|
+
- spec/lib/immutable/hash/sort_spec.rb
|
847
|
+
- spec/lib/immutable/hash/fetch_spec.rb
|