combinatorics 0.4.3 → 0.4.4

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.
@@ -7,52 +7,52 @@ shared_examples_for "CartesianProduct::Mixin" do
7
7
  set = subject[1]
8
8
  results = set.cartprod(set)
9
9
 
10
- results.should be_kind_of(Enumerator)
10
+ expect(results).to be_kind_of(Enumerator)
11
11
  end
12
12
 
13
13
  it "the cartprod of two empty Set's should return an empty Set" do
14
14
  set = subject[]
15
15
  results = set.cartprod([]).to_a
16
16
 
17
- results.should be_empty
17
+ expect(results).to be_empty
18
18
  end
19
19
 
20
20
  it "the cartprod of a single empty set should return an empty Set" do
21
21
  set = subject[1,2]
22
22
  results = set.cartprod([2,3],[]).to_a
23
23
 
24
- results.should be_empty
24
+ expect(results).to be_empty
25
25
  end
26
26
 
27
27
  it "the cartprod of another empty set should also return an empty Set" do
28
28
  set = subject[]
29
29
  results = set.cartprod([1]).to_a
30
30
 
31
- results.should be_empty
31
+ expect(results).to be_empty
32
32
  end
33
33
 
34
34
  it "the cartprod of [1] and [1] should be [[1, 1]]" do
35
35
  set = subject[1]
36
36
  results = set.cartprod([1]).to_a
37
37
 
38
- results.should == [[1, 1]]
38
+ expect(results).to eq([[1, 1]])
39
39
  end
40
40
 
41
41
  it "the cartprod of [1, 2] and [3] should be [[1, 3], [2, 3]]" do
42
42
  set = subject[1, 2]
43
43
  results = set.cartprod([3]).to_a
44
44
 
45
- results.should =~ [[1, 3], [2, 3]]
45
+ expect(results).to match_array([[1, 3], [2, 3]])
46
46
  end
47
47
 
48
48
  it "the cartprod of [1, 2] and [3, 4] should be [[1, 3], [1, 4], [2, 3], [2, 4]]" do
49
49
  set = subject[1, 2]
50
50
  results = set.cartprod([3, 4]).to_a
51
51
 
52
- results.should =~ [
52
+ expect(results).to match_array([
53
53
  [1, 3], [1, 4],
54
54
  [2, 3], [2, 4]
55
- ]
55
+ ])
56
56
  end
57
57
 
58
58
  it "the cartprod of ['a'].cartprod(['b', 'c', 'd']) should be [['a', 'b'], ['a', 'c'], ['a', 'd']]" do
@@ -60,7 +60,7 @@ shared_examples_for "CartesianProduct::Mixin" do
60
60
  set2 = subject['b', 'c', 'd']
61
61
  results = set1.cartprod(set2).to_a
62
62
 
63
- results.should =~ [['a', 'b'], ['a', 'c'], ['a', 'd']]
63
+ expect(results).to match_array([['a', 'b'], ['a', 'c'], ['a', 'd']])
64
64
  end
65
65
 
66
66
  it "the cartprod of [0, 1] and [[2, 3], [4, 5]] should be [[0, 2, 4], [1, 2, 4], [0, 3, 4], [1, 3, 4], [0, 2, 5], [1, 2, 5], [0, 3, 5], [1, 3, 5]]" do
@@ -69,10 +69,10 @@ shared_examples_for "CartesianProduct::Mixin" do
69
69
  set3 = subject[4, 5]
70
70
  results = set1.cartprod(set2, set3).to_a
71
71
 
72
- results.should =~ [
72
+ expect(results).to match_array([
73
73
  [0, 2, 4], [0, 2, 5], [0, 3, 4], [0, 3, 5],
74
74
  [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5],
75
- ]
75
+ ])
76
76
  end
77
77
 
78
78
  it "should take an optional block argument" do
@@ -81,18 +81,18 @@ shared_examples_for "CartesianProduct::Mixin" do
81
81
 
82
82
  set.cartprod(set) { |result| results << result }
83
83
 
84
- results.should == [[1, 1]]
84
+ expect(results).to eq([[1, 1]])
85
85
  end
86
86
 
87
87
  it "should alias cartprod to cartesian_product" do
88
88
  aset = subject[1]
89
89
 
90
- aset.should respond_to(:cartesian_product)
90
+ expect(aset).to respond_to(:cartesian_product)
91
91
  end
92
92
 
93
93
  it "should alias cartprod to cartesian" do
94
94
  aset = subject[1]
95
95
 
96
- aset.should respond_to(:cartesian)
96
+ expect(aset).to respond_to(:cartesian)
97
97
  end
98
98
  end
@@ -6,123 +6,123 @@ describe Choose do
6
6
 
7
7
  describe "cardinality" do
8
8
  it "should raise RangeError if n is negative" do
9
- lambda { subject.cardinality(-1) }.should raise_error(RangeError)
9
+ expect { subject.cardinality(-1) }.to raise_error(RangeError)
10
10
  end
11
11
 
12
12
  it "should raise RangeError if n is negative" do
13
- lambda { subject.cardinality(-1, 1) }.should raise_error(RangeError)
13
+ expect { subject.cardinality(-1, 1) }.to raise_error(RangeError)
14
14
  end
15
15
 
16
16
  it "should raise RangeError if r is negative" do
17
- lambda { subject.cardinality(1, -1) }.should raise_error(RangeError)
17
+ expect { subject.cardinality(1, -1) }.to raise_error(RangeError)
18
18
  end
19
19
 
20
20
  it "should raise RangeError if r is greater than n" do
21
- lambda { subject.cardinality(2, 3) }.should raise_error(RangeError)
21
+ expect { subject.cardinality(2, 3) }.to raise_error(RangeError)
22
22
  end
23
23
 
24
24
  it "should return 1 for subject.cardinality(0)" do
25
- subject.cardinality(0).should == 1
25
+ expect(subject.cardinality(0)).to eq(1)
26
26
  end
27
27
 
28
28
  it "should return 1 for subject.cardinality(1)" do
29
- subject.cardinality(1).should == 1
29
+ expect(subject.cardinality(1)).to eq(1)
30
30
  end
31
31
 
32
32
  it "should return 2 for subject.cardinality(2)" do
33
- subject.cardinality(2).should == 2
33
+ expect(subject.cardinality(2)).to eq(2)
34
34
  end
35
35
 
36
36
  it "should return 6 for subject.cardinality(3)" do
37
- subject.cardinality(3).should == 6
37
+ expect(subject.cardinality(3)).to eq(6)
38
38
  end
39
39
 
40
40
  it "should return 24 for subject.cardinality(4)" do
41
- subject.cardinality(4).should == 24
41
+ expect(subject.cardinality(4)).to eq(24)
42
42
  end
43
43
 
44
- it "should return 0 for subject.cardinality(1, 0)" do
45
- subject.cardinality(1, 0).should == 0
44
+ it "should return 1 for subject.cardinality(1, 0)" do
45
+ expect(subject.cardinality(1, 0)).to eq(1)
46
46
  end
47
47
 
48
48
  it "should return 1 for subject.cardinality(1, 1)" do
49
- subject.cardinality(1, 1).should == 1
49
+ expect(subject.cardinality(1, 1)).to eq(1)
50
50
  end
51
51
 
52
52
  it "should return 2 for subject.cardinality(2, 1)" do
53
- subject.cardinality(2, 1).should == 2
53
+ expect(subject.cardinality(2, 1)).to eq(2)
54
54
  end
55
55
 
56
56
  it "should return 1 for subject.cardinality(2, 2)" do
57
- subject.cardinality(2, 2).should == 1
57
+ expect(subject.cardinality(2, 2)).to eq(1)
58
58
  end
59
59
 
60
60
  it "should return 3 for subject.cardinality(3, 1)" do
61
- subject.cardinality(3, 1).should == 3
61
+ expect(subject.cardinality(3, 1)).to eq(3)
62
62
  end
63
63
 
64
64
  it "should return 3 for subject.cardinality(3, 2)" do
65
- subject.cardinality(3, 2).should == 3
65
+ expect(subject.cardinality(3, 2)).to eq(3)
66
66
  end
67
67
 
68
68
  it "should return 1 for subject.cardinality(3, 3)" do
69
- subject.cardinality(3, 3).should == 1
69
+ expect(subject.cardinality(3, 3)).to eq(1)
70
70
  end
71
71
 
72
72
  it "should return 4 for subject.cardinality(4, 1)" do
73
- subject.cardinality(4, 1).should == 4
73
+ expect(subject.cardinality(4, 1)).to eq(4)
74
74
  end
75
75
 
76
76
  it "should return 6 for subject.cardinality(4, 2)" do
77
- subject.cardinality(4, 2).should == 6
77
+ expect(subject.cardinality(4, 2)).to eq(6)
78
78
  end
79
79
 
80
80
  it "should return 4 for subject.cardinality(4, 3)" do
81
- subject.cardinality(4, 3).should == 4
81
+ expect(subject.cardinality(4, 3)).to eq(4)
82
82
  end
83
83
 
84
84
  it "should return 1 for subject.cardinality(4, 4)" do
85
- subject.cardinality(4, 4).should == 1
85
+ expect(subject.cardinality(4, 4)).to eq(1)
86
86
  end
87
87
 
88
88
  it "should return 15 for subject.cardinality(6, 4)" do
89
- subject.cardinality(6, 4).should == 15
89
+ expect(subject.cardinality(6, 4)).to eq(15)
90
90
  end
91
91
 
92
92
  it "should return 3628800 for subject.cardinality(10)" do
93
- subject.cardinality(10).should == 3628800
93
+ expect(subject.cardinality(10)).to eq(3628800)
94
94
  end
95
95
  end
96
96
 
97
97
  describe "cardinality_all" do
98
98
  it "should return [] for subject.cardinality_all(0)" do
99
- subject.cardinality_all(0).should be_empty
99
+ expect(subject.cardinality_all(0)).to be_empty
100
100
  end
101
101
 
102
102
  it "should return [1] for subject.cardinality_all(1)" do
103
- subject.cardinality_all(1).should == [1]
103
+ expect(subject.cardinality_all(1)).to eq([1])
104
104
  end
105
105
 
106
106
  it "should return [2, 1] for subject.cardinality_all(2)" do
107
- subject.cardinality_all(2).should == [2, 1]
107
+ expect(subject.cardinality_all(2)).to eq([2, 1])
108
108
  end
109
109
 
110
110
  it "should return [3, 3, 1] for subject.cardinality_all(3)" do
111
- subject.cardinality_all(3).should == [3, 3, 1]
111
+ expect(subject.cardinality_all(3)).to eq([3, 3, 1])
112
112
  end
113
113
 
114
114
  it "should return [4, 6, 4, 1] for subject.cardinality_all(4)" do
115
- subject.cardinality_all(4).should == [4, 6, 4, 1]
115
+ expect(subject.cardinality_all(4)).to eq([4, 6, 4, 1])
116
116
  end
117
117
 
118
118
  it "should allow specifying the range of `r` values" do
119
- subject.cardinality_all(10,5..10).should == [
119
+ expect(subject.cardinality_all(10,5..10)).to eq([
120
120
  252, 210, 120, 45, 10, 1
121
- ]
121
+ ])
122
122
  end
123
123
 
124
124
  it "should raise RangeError for subject.cardinality_all(-1)" do
125
- lambda { subject.cardinality_all(-1) }.should raise_error(RangeError)
125
+ expect { subject.cardinality_all(-1) }.to raise_error(RangeError)
126
126
  end
127
127
 
128
128
  it "should wrap cardinality with Choose.C" do
@@ -8,41 +8,41 @@ shared_examples_for "Choose::Mixin" do
8
8
  set = subject[]
9
9
  results = set.choose(0).to_a
10
10
 
11
- results.should == [empty_set]
11
+ expect(results).to eq([empty_set])
12
12
  end
13
13
 
14
14
  it "should return [[]] for [1].choose(0).to_a" do
15
15
  set = subject[1]
16
16
  results = set.choose(0).to_a
17
17
 
18
- results.should == [empty_set]
18
+ expect(results).to eq([empty_set])
19
19
  end
20
20
 
21
21
  it "should return [[1]] for [1].choose(1).to_a" do
22
22
  set = subject[1]
23
23
  results = set.choose(1).to_a
24
24
 
25
- results.should == [Set[1]]
25
+ expect(results).to eq([Set[1]])
26
26
  end
27
27
 
28
28
  it "should return [[1], [2]] for [1, 2].choose(1).to_a" do
29
29
  set = subject[1, 2]
30
30
  results = set.choose(1).to_a
31
31
 
32
- results.should =~ [Set[1], Set[2]]
32
+ expect(results).to match_array([Set[1], Set[2]])
33
33
  end
34
34
 
35
35
  it "should return [[1, 2]] for [1, 2].choose(2).to_a" do
36
36
  set = subject[1, 2]
37
37
  results = set.choose(2).to_a
38
38
 
39
- results.should == [Set[1, 2]]
39
+ expect(results).to eq([Set[1, 2]])
40
40
  end
41
41
 
42
42
  it "should filter out repeated elements" do
43
43
  set1 = subject[1,1,2,3]
44
44
  set2 = subject[1,2,3]
45
45
 
46
- set1.choose(2).to_a.should == set2.choose(2).to_a
46
+ expect(set1.choose(2).to_a).to eq(set2.choose(2).to_a)
47
47
  end
48
48
  end
@@ -3,6 +3,6 @@ require 'combinatorics/version'
3
3
 
4
4
  describe Combinatorics do
5
5
  it "should have a VERSION constant" do
6
- subject.const_get('VERSION').should_not be_empty
6
+ expect(subject.const_get('VERSION')).not_to be_empty
7
7
  end
8
8
  end
@@ -7,28 +7,28 @@ shared_examples_for "Derange::Mixin" do
7
7
  set = subject[]
8
8
  results = set.derange.to_a
9
9
 
10
- results.should == [[]]
10
+ expect(results).to eq([[]])
11
11
  end
12
12
 
13
13
  it "should return [[]] for [1].derange.to_a" do
14
14
  set = subject[1]
15
15
  results = set.derange.to_a
16
16
 
17
- results.should == [[]]
17
+ expect(results).to eq([[]])
18
18
  end
19
19
 
20
20
  it "should return [[2, 1]] for [1, 2].derange.to_a" do
21
21
  set = subject[1, 2]
22
22
  results = set.derange.to_a
23
23
 
24
- results.should == [[2, 1]]
24
+ expect(results).to eq([[2, 1]])
25
25
  end
26
26
 
27
27
  it "should return [[2, 1, 4, 3], [2, 3, 4, 1], [2, 4, 1, 3], [3, 1, 4, 2], [3, 4, 1, 2], [3, 4, 2, 1], [4, 1, 2, 3], [4, 3, 1, 2], [4, 3, 2, 1]] for [1, 2, 3, 4].derange.to_a" do
28
28
  set = [1, 2, 3, 4]
29
29
  results = set.derange.to_a
30
30
 
31
- results.should == [
31
+ expect(results).to eq([
32
32
  [2, 1, 4, 3],
33
33
  [2, 3, 4, 1],
34
34
  [2, 4, 1, 3],
@@ -38,7 +38,7 @@ shared_examples_for "Derange::Mixin" do
38
38
  [4, 1, 2, 3],
39
39
  [4, 3, 1, 2],
40
40
  [4, 3, 2, 1]
41
- ]
41
+ ])
42
42
  end
43
43
 
44
44
  it "should take an optional block argument" do
@@ -47,6 +47,6 @@ shared_examples_for "Derange::Mixin" do
47
47
 
48
48
  set.derange { |deranged| results << deranged }
49
49
 
50
- results.should == [[2, 3, 1], [3, 1, 2]]
50
+ expect(results).to eq([[2, 3, 1], [3, 1, 2]])
51
51
  end
52
52
  end
@@ -3,6 +3,6 @@ require 'combinatorics/enumerator'
3
3
 
4
4
  describe Combinatorics::Enumerator do
5
5
  it "should auto-detect the Enumerator class" do
6
- Combinatorics::Enumerator.should_not be_nil
6
+ expect(Combinatorics::Enumerator).not_to be_nil
7
7
  end
8
8
  end
@@ -12,89 +12,89 @@ describe Math do
12
12
 
13
13
  describe "sigma" do
14
14
  it "should return 6 for sigma(1..3)" do
15
- subject.sigma(1..3).should == 6
15
+ expect(subject.sigma(1..3)).to eq(6)
16
16
  end
17
17
 
18
18
  it "should return 60 for sigma(3..5)" do
19
- subject.sigma(3..5).should == 12
19
+ expect(subject.sigma(3..5)).to eq(12)
20
20
  end
21
21
 
22
22
  it "should take an optional block argument" do
23
23
  result = subject.sigma(1..5) { |i| i * 2 }
24
24
 
25
- result.should == (1 * 2) + (2 * 2) + (3 * 2) + (4 * 2) + (5 * 2)
25
+ expect(result).to eq((1 * 2) + (2 * 2) + (3 * 2) + (4 * 2) + (5 * 2))
26
26
  end
27
27
  end
28
28
 
29
29
  describe "pi" do
30
30
  it "should return 24 for pi(1..4)" do
31
- subject.pi(1..4).should == 24
31
+ expect(subject.pi(1..4)).to eq(24)
32
32
  end
33
33
 
34
34
  it "should return 30 for pi(5..6)" do
35
- subject.pi(5..6).should == 30
35
+ expect(subject.pi(5..6)).to eq(30)
36
36
  end
37
37
 
38
38
  it "should take an optional block argument" do
39
39
  result = subject.pi(1..3) { |i| i * 2 }
40
40
 
41
- result.should == (1 * 2) * (2 * 2) * (3 * 2)
41
+ expect(result).to eq((1 * 2) * (2 * 2) * (3 * 2))
42
42
  end
43
43
  end
44
44
 
45
45
  describe "factorial" do
46
46
  it "should return 1 for factorial(0)" do
47
- subject.factorial(0).should == 1
47
+ expect(subject.factorial(0)).to eq(1)
48
48
  end
49
49
 
50
50
  it "should return 1 for factorial(1)" do
51
- subject.factorial(1).should == 1
51
+ expect(subject.factorial(1)).to eq(1)
52
52
  end
53
53
 
54
54
  it "should return 2 for factorial(2)" do
55
- subject.factorial(2).should == 2
55
+ expect(subject.factorial(2)).to eq(2)
56
56
  end
57
57
 
58
58
  it "should return 6 for factorial(3)" do
59
- subject.factorial(3).should == 6
59
+ expect(subject.factorial(3)).to eq(6)
60
60
  end
61
61
 
62
62
  it "should return 3628800 for factorial(10)" do
63
- subject.factorial(10).should == 3628800
63
+ expect(subject.factorial(10)).to eq(3628800)
64
64
  end
65
65
 
66
66
  it "should raise RangeError for factorial(-1)" do
67
- lambda { subject.factorial(-1) }.should raise_error(RangeError)
67
+ expect { subject.factorial(-1) }.to raise_error(RangeError)
68
68
  end
69
69
  end
70
70
 
71
71
  describe "subfactorial" do
72
72
  it "should return 1 for subfactorial(0)" do
73
- subject.subfactorial(0).should == 1
73
+ expect(subject.subfactorial(0)).to eq(1)
74
74
  end
75
75
 
76
76
  it "should return 0 for subfactorial(1)" do
77
- subject.subfactorial(1).should == 0
77
+ expect(subject.subfactorial(1)).to eq(0)
78
78
  end
79
79
 
80
80
  it "should return 1 for subfactorial(2)" do
81
- subject.subfactorial(2).should == 1
81
+ expect(subject.subfactorial(2)).to eq(1)
82
82
  end
83
83
 
84
84
  it "should return 2 for subfactorial(3)" do
85
- subject.subfactorial(3).should == 2
85
+ expect(subject.subfactorial(3)).to eq(2)
86
86
  end
87
87
 
88
88
  it "should return 9 for subfactorial(4)" do
89
- subject.subfactorial(4).should == 9
89
+ expect(subject.subfactorial(4)).to eq(9)
90
90
  end
91
91
 
92
92
  it "should return 44 for subfactorial(5)" do
93
- subject.subfactorial(5).should == 44
93
+ expect(subject.subfactorial(5)).to eq(44)
94
94
  end
95
95
 
96
96
  it "should raise RangeError for subfactorial(-1)" do
97
- lambda { subject.subfactorial(-1) }.should raise_error(RangeError)
97
+ expect { subject.subfactorial(-1) }.to raise_error(RangeError)
98
98
  end
99
99
  end
100
100
  end
@@ -4,11 +4,11 @@ require 'combinatorics/extensions/range'
4
4
  describe Range do
5
5
  describe "&" do
6
6
  it "should pick the maximum beginning value" do
7
- ((100..200) & (150..200)).first.should == 150
7
+ expect(((100..200) & (150..200)).first).to eq(150)
8
8
  end
9
9
 
10
10
  it "should pick the minimum ending value" do
11
- ((100..150) & (100..200)).last.should == 150
11
+ expect(((100..150) & (100..200)).last).to eq(150)
12
12
  end
13
13
  end
14
14
 
@@ -16,28 +16,28 @@ describe Range do
16
16
  subject { 1..10 }
17
17
 
18
18
  it "should iterate over every beginning value" do
19
- subject.upto(5..10).to_a.should == [
19
+ expect(subject.upto(5..10).to_a).to eq([
20
20
  (1..10),
21
21
  (2..10),
22
22
  (3..10),
23
23
  (4..10),
24
24
  (5..10)
25
- ]
25
+ ])
26
26
  end
27
27
 
28
28
  it "should iterate over every ending value" do
29
- subject.upto(1..15).to_a.should == [
29
+ expect(subject.upto(1..15).to_a).to eq([
30
30
  (1..10),
31
31
  (1..11),
32
32
  (1..12),
33
33
  (1..13),
34
34
  (1..14),
35
35
  (1..15)
36
- ]
36
+ ])
37
37
  end
38
38
 
39
39
  it "should not iterate up to lower bounding ranges" do
40
- subject.upto(0..5).to_a.should be_empty
40
+ expect(subject.upto(0..5).to_a).to be_empty
41
41
  end
42
42
  end
43
43
 
@@ -45,28 +45,28 @@ describe Range do
45
45
  subject { 5..15 }
46
46
 
47
47
  it "should iterate over every beginning value" do
48
- subject.downto(1..15).to_a.should == [
48
+ expect(subject.downto(1..15).to_a).to eq([
49
49
  (5..15),
50
50
  (4..15),
51
51
  (3..15),
52
52
  (2..15),
53
53
  (1..15)
54
- ]
54
+ ])
55
55
  end
56
56
 
57
57
  it "should iterate over every ending value" do
58
- subject.downto(5..10).to_a.should == [
58
+ expect(subject.downto(5..10).to_a).to eq([
59
59
  (5..15),
60
60
  (5..14),
61
61
  (5..13),
62
62
  (5..12),
63
63
  (5..11),
64
64
  (5..10)
65
- ]
65
+ ])
66
66
  end
67
67
 
68
68
  it "should not iterate down to upward bounding ranges" do
69
- subject.downto(10..20).to_a.should be_empty
69
+ expect(subject.downto(10..20).to_a).to be_empty
70
70
  end
71
71
  end
72
72
  end
@@ -3,6 +3,6 @@ require 'combinatorics/generator'
3
3
 
4
4
  describe Combinatorics::Generator do
5
5
  it "should auto-detect the Generator class" do
6
- Combinatorics::Generator.should_not be_nil
6
+ expect(Combinatorics::Generator).not_to be_nil
7
7
  end
8
8
  end
@@ -6,46 +6,46 @@ describe "Array#comprehension" do
6
6
  it "should return an Enumerator object if no block is given" do
7
7
  a = [1..5]
8
8
 
9
- a.comprehension.should_not be_kind_of(Array)
9
+ expect(a.comprehension).not_to be_kind_of(Array)
10
10
  end
11
11
 
12
12
  it "should yield iterations to the given block" do
13
13
  range = (1..5)
14
14
  a = [range]
15
15
 
16
- a.comprehension.to_a.should == [[1],[2],[3],[4],[5]]
16
+ expect(a.comprehension.to_a).to eq([[1],[2],[3],[4],[5]])
17
17
  end
18
18
 
19
19
  it "should do nothing an Array of all non-enumerable objects" do
20
20
  a = [1,2,3]
21
21
 
22
- a.comprehension.to_a.should == [a]
22
+ expect(a.comprehension.to_a).to eq([a])
23
23
  end
24
24
 
25
25
  it "should pass through an empty Array" do
26
26
  a = []
27
27
 
28
- a.comprehension.to_a.should == [a]
28
+ expect(a.comprehension.to_a).to eq([a])
29
29
  end
30
30
 
31
31
  it "should iterate over the values within an enumerable value" do
32
32
  range = (1..5)
33
33
  a = [range]
34
34
 
35
- a.comprehension.to_a.should == [[1],[2],[3],[4],[5]]
35
+ expect(a.comprehension.to_a).to eq([[1],[2],[3],[4],[5]])
36
36
  end
37
37
 
38
38
  it "should iterate over repeating values" do
39
39
  range = [1,2,3,1,2,4]
40
40
  a = [range]
41
41
 
42
- a.comprehension.to_a.should == [[1],[2],[3],[1],[2],[4]]
42
+ expect(a.comprehension.to_a).to eq([[1],[2],[3],[1],[2],[4]])
43
43
  end
44
44
 
45
45
  it "should iterate over values from a generator" do
46
46
  a = [Combinatorics::Generator.new { |g| 5.times { |i| g.yield i } }]
47
47
 
48
- a.comprehension.to_a.should == [[0],[1],[2],[3],[4]]
48
+ expect(a.comprehension.to_a).to eq([[0],[1],[2],[3],[4]])
49
49
  end
50
50
 
51
51
  it "should iterate over values from a non-repeating generator" do
@@ -58,16 +58,16 @@ describe "Array#comprehension" do
58
58
  }
59
59
  ]
60
60
 
61
- a.comprehension.to_a.should == [
61
+ expect(a.comprehension.to_a).to eq([
62
62
  [1,0],[1,1],[1,2],[1,3],[1,4],
63
63
  [2,0],[2,2],[2,4],[2,6],[2,8]
64
- ]
64
+ ])
65
65
  end
66
66
 
67
67
  it "should ignore non-enumerable values" do
68
68
  range = (1..5)
69
69
  a = [1,range]
70
70
 
71
- a.comprehension.to_a.should == [[1,1],[1,2],[1,3],[1,4],[1,5]]
71
+ expect(a.comprehension.to_a).to eq([[1,1],[1,2],[1,3],[1,4],[1,5]])
72
72
  end
73
73
  end