skn_utils 3.5.2 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,52 +0,0 @@
1
- ##
2
- # spec/lib/skn_utils/exploring/configuration_spec.rb
3
- #
4
-
5
- describe "Gem Configuration Example." do
6
-
7
- let!(:subject) { SknUtils::Exploring::Configuration }
8
-
9
-
10
- context "Initializers Feature. " do
11
- before(:each) do
12
- subject.reset!
13
- end
14
-
15
- it "#configure can be called without a block." do
16
- expect( subject.configure ).to be_a(SknUtils::Exploring::Configuration::Options)
17
- end
18
-
19
- it "#configure can be called with a block." do
20
- expect( subject.configure() {|c| c.one = 'One'} ).to be_a(SknUtils::Exploring::Configuration::Options)
21
- end
22
-
23
- it "#reset! allows new defaults to be applied." do
24
- subject.option_defaults = {four: 4, five: 5, six: 6}
25
- subject.reset!
26
- expect( subject.config.five ).to eq(5)
27
- subject.option_defaults = nil # remove prior defaults
28
- subject.reset!
29
- expect( subject.config.one ).to eq(1)
30
- end
31
-
32
- end
33
-
34
- context "Runtime Features. " do
35
- before(:each) do
36
- subject.reset!
37
- end
38
-
39
- it "#config returns the selected value." do
40
- subject.config.one = 1
41
- expect( subject.config.one ).to eq(1)
42
- end
43
-
44
- it "#config overrides the selected value." do
45
- subject.config.three = 12
46
- expect( subject.config.three ).to eq(12)
47
- end
48
-
49
- end
50
-
51
-
52
- end
@@ -1,184 +0,0 @@
1
- ##
2
- # spec/lib/skn_utils/circular_linked_list_spec.rb
3
- #
4
-
5
- require "support/shared_examples_for_linked_list"
6
-
7
- RSpec.describe SknUtils::Lists::CircularLinkedList, "Circular LinkedList " do
8
-
9
- it_behaves_like "a linked list", 'circular'
10
-
11
- context "CircularLinkedList Specific" do
12
-
13
- context "Navigation" do
14
- let(:list) { described_class.new(10,20, 30, 40, 50, 60, 70, 80, 90, 100) }
15
-
16
- it "#prev returns the prior value" do
17
- expect(list.prev).to eq(100)
18
- end
19
- it "#nth(6) returns the sixth value" do
20
- expect(list.nth(6)).to eq(60)
21
- expect(list.nth(-2)).to eq(40)
22
- end
23
- it "#at_index(6) returns the sixth value" do
24
- expect(list.at_index(6)).to eq(60)
25
- end
26
- end
27
-
28
- context "Edge cases " do
29
- let(:list) { described_class.new(10,20, 30, 40, 50, 60, 70, 80, 90, 100) }
30
-
31
- it "#at_index(-999) fails and returns the current element. " do
32
- expect(list.at_index(-999)).to eq(10)
33
- end
34
- it "#at_index(0) fails and returns the current element. " do
35
- expect(list.at_index(0)).to eq(10)
36
- end
37
- it "#at_index(999) fails and returns the current element. " do
38
- expect(list.at_index(999)).to eq(10)
39
- end
40
- it "#at_index(n) returns the proper element. " do
41
- expect(list.at_index(1)).to eq(10)
42
- expect(list.at_index(list.size / 2)).to eq(50)
43
- expect(list.at_index(list.size)).to eq(100)
44
- end
45
- it "#at_index(n) returns the proper element for linkedlist with one element. " do
46
- only = described_class.new(55)
47
- expect(only.at_index(1)).to eq(55)
48
- expect(only.at_index(2)).to eq(55)
49
- expect(only.at_index(10)).to eq(55)
50
- end
51
-
52
- it "#nth(-999) fails and returns current value." do
53
- expect(list.nth(-999)).to eq(10)
54
- end
55
- it "#nth(0) fails and returns current value." do
56
- expect(list.nth(0)).to eq(10)
57
- end
58
- it "#nth(999) fails and returns current value." do
59
- expect(list.nth(999)).to eq(10)
60
- end
61
-
62
- it "#current equals first initialization value." do
63
- expect(list.current).to eq(10)
64
- end
65
- it "#next after initialization returns correctly. " do
66
- expect(list.next).to eq(20)
67
- expect(list.next).to eq(30)
68
- expect(list.next).to eq(40)
69
- end
70
- it "#prev after first returns proper sequence of values. " do
71
- expect(list.first).to eq(10)
72
- expect(list.prev).to eq(100)
73
- expect(list.prev).to eq(90)
74
- end
75
-
76
- it "#first, #next, #current, #prev, #nth, and #last return same value when size == 1. " do
77
- only = described_class.new(55)
78
- expect(only.first).to eq(55)
79
- expect(only.next).to eq(55)
80
- expect(only.prev).to eq(55)
81
- expect(only.last).to eq(55)
82
- expect(only.current).to eq(55)
83
- expect(only.nth(2)).to eq(55)
84
- expect(only.at_index(2)).to eq(55)
85
- end
86
- it "#first, #next, #current, #prev, #nth, and #last return nil value when size == 0. " do
87
- only = described_class.new
88
- expect(only.first).to be nil
89
- expect(only.next).to be nil
90
- expect(only.prev).to be nil
91
- expect(only.last).to be nil
92
- expect(only.current).to be nil
93
- expect(only.nth(2)).to be nil
94
- expect(only.at_index(2)).to be nil
95
- end
96
- it "#prepend enables navigation methods normal operations. " do
97
- only = described_class.new
98
- only.prepend(55)
99
- expect(only.first).to eq(55)
100
- expect(only.next).to eq(55)
101
- expect(only.prev).to eq(55)
102
- expect(only.last).to eq(55)
103
- expect(only.current).to eq(55)
104
- expect(only.nth(2)).to eq(55)
105
- expect(only.at_index(2)).to eq(55)
106
- end
107
- it "#append enables navigation methods normal operations. " do
108
- only = described_class.new
109
- only.append(55)
110
- expect(only.first).to eq(55)
111
- expect(only.next).to eq(55)
112
- expect(only.prev).to eq(55)
113
- expect(only.last).to eq(55)
114
- expect(only.current).to eq(55)
115
- expect(only.nth(2)).to eq(55)
116
- expect(only.at_index(2)).to eq(55)
117
- end
118
- it "#insert_before enables navigation methods normal operations. " do
119
- only = described_class.new
120
- only.insert_before(nil, 55)
121
- expect(only.first).to eq(55)
122
- expect(only.next).to eq(55)
123
- expect(only.prev).to eq(55)
124
- expect(only.last).to eq(55)
125
- expect(only.current).to eq(55)
126
- expect(only.nth(2)).to eq(55)
127
- expect(only.at_index(2)).to eq(55)
128
- end
129
- it "#insert_after enables navigation methods normal operations. " do
130
- only = described_class.new
131
- only.insert_after(nil, 55)
132
- expect(only.first).to eq(55)
133
- expect(only.next).to eq(55)
134
- expect(only.prev).to eq(55)
135
- expect(only.last).to eq(55)
136
- expect(only.current).to eq(55)
137
- expect(only.nth(2)).to eq(55)
138
- expect(only.at_index(2)).to eq(55)
139
- end
140
- it "#remove does not make navigation methods unstable when removing 2:2. " do
141
- only = described_class.new(55,60)
142
- only.remove(60)
143
- expect(only.first).to eq(55)
144
- expect(only.next).to eq(55)
145
- expect(only.last).to eq(55)
146
- expect(only.current).to eq(55)
147
- expect(only.nth(2)).to eq(55)
148
- expect(only.at_index(2)).to eq(55)
149
- end
150
- it "#remove does not make navigation methods unstable when removing 1:2. " do
151
- only = described_class.new(55,60)
152
- only.remove(55)
153
- expect(only.first).to eq(60)
154
- expect(only.next).to eq(60)
155
- expect(only.last).to eq(60)
156
- expect(only.current).to eq(60)
157
- expect(only.nth(2)).to eq(60)
158
- expect(only.at_index(2)).to eq(60)
159
- end
160
- it "#remove does not make navigation methods unstable if empty?. " do
161
- only = described_class.new(55)
162
- only.remove(55)
163
- expect(only.first).to be nil
164
- expect(only.next).to be nil
165
- expect(only.last).to be nil
166
- expect(only.current).to be nil
167
- expect(only.nth(2)).to be nil
168
- expect(only.at_index(2)).to be nil
169
- end
170
- it "#remove does not make navigation methods unstable when target not found. " do
171
- only = described_class.new(55)
172
- only.remove(20)
173
- expect(only.to_a).to eq([55])
174
- expect(only.first).to eq(55)
175
- expect(only.next).to eq(55)
176
- expect(only.last).to eq(55)
177
- expect(only.current).to eq(55)
178
- expect(only.nth(2)).to eq(55)
179
- expect(only.at_index(2)).to eq(55)
180
- end
181
- end
182
- end
183
-
184
- end
@@ -1,182 +0,0 @@
1
- ##
2
- # spec/lib/skn_utils/doubly_linked_list_spec.rb
3
- #
4
-
5
- require "support/shared_examples_for_linked_list"
6
-
7
- RSpec.describe SknUtils::Lists::DoublyLinkedList, "Double-Ended LinkedList " do
8
-
9
- it_behaves_like "a linked list", 'double'
10
-
11
- context "DoublyLinkedList Specific" do
12
-
13
- context "Navigation" do
14
- let(:list) { described_class.new(10,20, 30, 40, 50, 60, 70, 80, 90, 100) }
15
-
16
- it "#prev returns the prior value" do
17
- expect(list.prev).to eq(10)
18
- end
19
- it "#nth(6) returns the sixth value" do
20
- expect(list.nth(6)).to eq(60)
21
- expect(list.nth(-2)).to eq(40)
22
- end
23
- it "#at_index(6) returns the sixth value" do
24
- expect(list.at_index(6)).to eq(60)
25
- end
26
- end
27
-
28
- context "Edge cases " do
29
- let(:list) { described_class.new(10,20, 30, 40, 50, 60, 70, 80, 90, 100) }
30
-
31
- it "#at_index(-999) fails and returns the current element. " do
32
- expect(list.at_index(-999)).to eq(10)
33
- end
34
- it "#at_index(0) fails and returns the current element. " do
35
- expect(list.at_index(0)).to eq(10)
36
- end
37
- it "#at_index(999) fails and returns the current element. " do
38
- expect(list.at_index(999)).to eq(10)
39
- end
40
- it "#at_index(n) returns the proper element. " do
41
- expect(list.at_index(1)).to eq(10)
42
- expect(list.at_index(list.size / 2)).to eq(50)
43
- expect(list.at_index(list.size)).to eq(100)
44
- end
45
- it "#at_index(n) returns the proper element for linkedlist with one element. " do
46
- only = described_class.new(55)
47
- expect(only.at_index(1)).to eq(55)
48
- expect(only.at_index(10)).to eq(55)
49
- expect(only.at_index(-10)).to eq(55)
50
- end
51
-
52
- it "#nth(-999) returns first initialization value." do
53
- expect(list.nth(-999)).to eq(10)
54
- end
55
- it "#nth(0) returns current value, or last initialization value." do
56
- expect(list.nth(0)).to eq(10)
57
- end
58
- it "#nth(999) returns last initialization value." do
59
- expect(list.nth(999)).to eq(100)
60
- end
61
- it "#current equals first initialization value." do
62
- expect(list.current).to eq(10)
63
- end
64
- it "#next after initialization equals last initialization value. " do
65
- expect(list.next).to eq(20)
66
- expect(list.next).to eq(30)
67
- expect(list.next).to eq(40)
68
- end
69
- it "#prev after first returns first value repeatably. " do
70
- expect(list.first).to eq(10)
71
- expect(list.prev).to eq(10)
72
- expect(list.prev).to eq(10)
73
- end
74
- it "#first, #next, #current, #prev, #nth, and #last return same value after initialization with one value. " do
75
- only = described_class.new(55)
76
- expect(only.first).to eq(55)
77
- expect(only.next).to eq(55)
78
- expect(only.prev).to eq(55)
79
- expect(only.last).to eq(55)
80
- expect(only.current).to eq(55)
81
- expect(only.nth(1)).to eq(55)
82
- expect(only.nth(11)).to eq(55)
83
- end
84
- it "#first, #next, #current, #prev, #nth, and #last return same value after initialization with no values. " do
85
- only = described_class.new
86
- expect(only.first).to be nil
87
- expect(only.next).to be nil
88
- expect(only.prev).to be nil
89
- expect(only.last).to be nil
90
- expect(only.current).to be nil
91
- expect(only.nth(1)).to be nil
92
- expect(only.nth(-1)).to be nil
93
- end
94
- it "#prepend enables navigation methods normal operations. " do
95
- only = described_class.new
96
- only.prepend(55)
97
- expect(only.first).to eq(55)
98
- expect(only.next).to eq(55)
99
- expect(only.prev).to eq(55)
100
- expect(only.last).to eq(55)
101
- expect(only.current).to eq(55)
102
- expect(only.nth(1)).to eq(55)
103
- expect(only.nth(11)).to eq(55)
104
- end
105
- it "#append enables navigation methods normal operations. " do
106
- only = described_class.new
107
- only.append(55)
108
- expect(only.first).to eq(55)
109
- expect(only.next).to eq(55)
110
- expect(only.prev).to eq(55)
111
- expect(only.last).to eq(55)
112
- expect(only.current).to eq(55)
113
- expect(only.nth(1)).to eq(55)
114
- expect(only.nth(11)).to eq(55)
115
- end
116
- it "#insert_before enables navigation methods normal operations. " do
117
- only = described_class.new
118
- only.insert_before(nil, 55)
119
- expect(only.first).to eq(55)
120
- expect(only.next).to eq(55)
121
- expect(only.prev).to eq(55)
122
- expect(only.last).to eq(55)
123
- expect(only.current).to eq(55)
124
- expect(only.nth(1)).to eq(55)
125
- expect(only.nth(11)).to eq(55)
126
- end
127
- it "#insert_after enables navigation methods normal operations. " do
128
- only = described_class.new
129
- only.insert_after(nil, 55)
130
- expect(only.first).to eq(55)
131
- expect(only.next).to eq(55)
132
- expect(only.prev).to eq(55)
133
- expect(only.last).to eq(55)
134
- expect(only.current).to eq(55)
135
- expect(only.nth(1)).to eq(55)
136
- expect(only.nth(11)).to eq(55)
137
- end
138
- it "#remove does not make navigation methods unstable when removing 2:2. " do
139
- only = described_class.new(55,60)
140
- only.remove(60)
141
- expect(only.to_a).to eq([55])
142
- expect(only.first).to eq(55)
143
- expect(only.next).to eq(55)
144
- expect(only.last).to eq(55)
145
- expect(only.current).to eq(55)
146
- expect(only.nth(2)).to eq(55)
147
- expect(only.at_index(2)).to eq(55)
148
- end
149
- it "#remove does not make navigation methods unstable when removing 1:2. " do
150
- only = described_class.new(55,60)
151
- only.remove(55)
152
- expect(only.first).to eq(60)
153
- expect(only.next).to eq(60)
154
- expect(only.last).to eq(60)
155
- expect(only.current).to eq(60)
156
- expect(only.nth(2)).to eq(60)
157
- expect(only.at_index(2)).to eq(60)
158
- end
159
- it "#remove does not make navigation methods unstable if empty?. " do
160
- only = described_class.new(55)
161
- only.remove(55)
162
- expect(only.first).to be nil
163
- expect(only.next).to be nil
164
- expect(only.last).to be nil
165
- expect(only.current).to be nil
166
- expect(only.nth(2)).to be nil
167
- expect(only.at_index(2)).to be nil
168
- end
169
- it "#remove does not make navigation methods unstable when target not found. " do
170
- only = described_class.new(55)
171
- only.remove(20)
172
- expect(only.first).to eq(55)
173
- expect(only.next).to eq(55)
174
- expect(only.last).to eq(55)
175
- expect(only.current).to eq(55)
176
- expect(only.nth(2)).to eq(55)
177
- expect(only.at_index(2)).to eq(55)
178
- end
179
- end
180
- end
181
-
182
- end
@@ -1,155 +0,0 @@
1
- ##
2
- # spec/lib/skn_utils/linked_list_spec.rb
3
- #
4
-
5
- require "support/shared_examples_for_linked_list"
6
-
7
- RSpec.describe SknUtils::Lists::LinkedList, "Singular LinkedList " do
8
-
9
- it_behaves_like "a linked list", 'single'
10
-
11
- context "LinkedList Specific" do
12
-
13
- context "Edge cases " do
14
- let(:list) { described_class.new(10,20, 30, 40, 50, 60, 70, 80, 90, 100) }
15
-
16
- it "#at_index(-999) fails and returns the current element. " do
17
- expect(list.at_index(-999)).to eq(10)
18
- end
19
- it "#at_index(0) fails and returns the current element. " do
20
- expect(list.at_index(0)).to eq(10)
21
- end
22
- it "#at_index(999) fails and returns the current element. " do
23
- expect(list.at_index(999)).to eq(10)
24
- end
25
- it "#at_index(n) returns the proper element. " do
26
- expect(list.at_index(1)).to eq(10)
27
- expect(list.at_index(list.size / 2)).to eq(50)
28
- expect(list.at_index(list.size)).to eq(100)
29
- end
30
- it "#at_index(n) returns the proper element for linkedlist with one element. " do
31
- only = described_class.new(55)
32
- expect(only.at_index(1)).to eq(55)
33
- expect(only.at_index(10)).to eq(55)
34
- expect(only.at_index(-10)).to eq(55)
35
- end
36
-
37
- it "#nth(-9) returns first value because backward movement is not supported" do
38
- expect(list.nth(-9)).to eq(10)
39
- end
40
- it "#nth(0) returns current value." do
41
- expect(list.nth(0)).to eq(10)
42
- end
43
- it "#nth(999) returns last value." do
44
- expect(list.nth(999)).to eq(100)
45
- end
46
- it "#current equals first value." do
47
- expect(list.current).to eq(10)
48
- end
49
- it "#next after initialization returns proper order. " do
50
- expect(list.next).to eq(20)
51
- expect(list.next).to eq(30)
52
- expect(list.next).to eq(40)
53
- end
54
- it "#first, #next, #current, #nth, and #last return same value when size eq 1. " do
55
- only = described_class.new(55)
56
- expect(only.first).to eq(55)
57
- expect(only.next).to eq(55)
58
- expect(only.last).to eq(55)
59
- expect(only.current).to eq(55)
60
- expect(only.nth(2)).to eq(55)
61
- expect(only.at_index(2)).to eq(55)
62
- end
63
- it "#first, #next, #current, #nth, #at_index, and #last return same value when size eq 0. " do
64
- only = described_class.new
65
- expect(only.first).to be nil
66
- expect(only.next).to be nil
67
- expect(only.last).to be nil
68
- expect(only.current).to be nil
69
- expect(only.nth(2)).to be nil
70
- expect(only.at_index(2)).to be nil
71
- end
72
- it "#prepend enables navigation methods normal operations. " do
73
- only = described_class.new
74
- only.prepend(55)
75
- expect(only.first).to eq(55)
76
- expect(only.next).to eq(55)
77
- expect(only.last).to eq(55)
78
- expect(only.current).to eq(55)
79
- expect(only.nth(2)).to eq(55)
80
- expect(only.at_index(2)).to eq(55)
81
- end
82
- it "#append enables navigation methods normal operations. " do
83
- only = described_class.new
84
- only.append(55)
85
- expect(only.first).to eq(55)
86
- expect(only.next).to eq(55)
87
- expect(only.last).to eq(55)
88
- expect(only.current).to eq(55)
89
- expect(only.nth(2)).to eq(55)
90
- expect(only.at_index(2)).to eq(55)
91
- end
92
- it "#insert_before enables navigation methods normal operations. " do
93
- only = described_class.new
94
- only.insert_before(nil, 55)
95
- expect(only.first).to eq(55)
96
- expect(only.next).to eq(55)
97
- expect(only.last).to eq(55)
98
- expect(only.current).to eq(55)
99
- expect(only.nth(2)).to eq(55)
100
- expect(only.at_index(2)).to eq(55)
101
- end
102
- it "#insert_after enables navigation methods normal operations. " do
103
- only = described_class.new
104
- only.insert_after(nil, 55)
105
- expect(only.first).to eq(55)
106
- expect(only.next).to eq(55)
107
- expect(only.last).to eq(55)
108
- expect(only.current).to eq(55)
109
- expect(only.nth(2)).to eq(55)
110
- expect(only.at_index(2)).to eq(55)
111
- end
112
- it "#remove does not make navigation methods unstable when removing 2:2. " do
113
- only = described_class.new(55,60)
114
- only.remove(60)
115
- expect(only.first).to eq(55)
116
- expect(only.next).to eq(55)
117
- expect(only.last).to eq(55)
118
- expect(only.current).to eq(55)
119
- expect(only.nth(2)).to eq(55)
120
- expect(only.at_index(2)).to eq(55)
121
- end
122
- it "#remove does not make navigation methods unstable when removing 1:2. " do
123
- only = described_class.new(55,60)
124
- only.remove(55)
125
- expect(only.first).to eq(60)
126
- expect(only.next).to eq(60)
127
- expect(only.last).to eq(60)
128
- expect(only.current).to eq(60)
129
- expect(only.nth(2)).to eq(60)
130
- expect(only.at_index(2)).to eq(60)
131
- end
132
- it "#remove does not make navigation methods unstable if empty?. " do
133
- only = described_class.new(55)
134
- only.remove(55)
135
- expect(only.first).to be nil
136
- expect(only.next).to be nil
137
- expect(only.last).to be nil
138
- expect(only.current).to be nil
139
- expect(only.nth(2)).to be nil
140
- expect(only.at_index(2)).to be nil
141
- end
142
- it "#remove does not make navigation methods unstable when target not found. " do
143
- only = described_class.new(55)
144
- only.remove(20)
145
- expect(only.first).to eq(55)
146
- expect(only.next).to eq(55)
147
- expect(only.last).to eq(55)
148
- expect(only.current).to eq(55)
149
- expect(only.nth(2)).to eq(55)
150
- expect(only.at_index(2)).to eq(55)
151
- end
152
- end
153
- end
154
-
155
- end
@@ -1,86 +0,0 @@
1
- ##
2
- # spec/lib/skn_utils/node_based_linked_list_spec.rb
3
- #
4
-
5
- RSpec.describe SknUtils::Lists::DoublyLinkedList, "DoublyLinkedList using node interface " do
6
-
7
- context "Node Interface Edge Cases " do
8
- let(:node) { described_class.call(10, 20, 30, 40, 50, 60, 60, 70, 80, 90, 100) {|a| a} }
9
-
10
- context "Node Retrieval " do
11
-
12
- it "#node_request(:first) returns a LinkedNode object." do
13
- expect(node.send(:node_request,:first)).to be_a SknUtils::Lists::LinkNode
14
- end
15
- it "#first_node returns a LinkedNode object." do
16
- expect(node.first_node).to be_a SknUtils::Lists::LinkNode
17
- end
18
- it "#next_node returns a LinkedNode object." do
19
- expect(node.next_node).to be_a SknUtils::Lists::LinkNode
20
- end
21
- it "#current_node returns a LinkedNode object." do
22
- expect(node.current_node).to be_a SknUtils::Lists::LinkNode
23
- end
24
- it "#prev_node returns a LinkedNode object." do
25
- expect(node.prev_node).to be_a SknUtils::Lists::LinkNode
26
- end
27
- it "#last_node returns a LinkedNode object." do
28
- expect(node.last_node).to be_a SknUtils::Lists::LinkNode
29
- end
30
- end
31
-
32
- context "Node Values " do
33
-
34
- it "#methods with params are supported through #{}node_request() interface. " do
35
- expect(node.first_node.node_value_request(:at_index, 5)).to eq(50)
36
- end
37
- it "First node has the expected value. " do
38
- expect(node.first_node.value).to eq(10)
39
- end
40
- it "Next node has the expected value. " do
41
- expect(node.next_node.value).to eq(20)
42
- end
43
- it "Current node has the expected value. " do
44
- 3.times { node.next_node }
45
- expect(node.current_node.value).to eq(40)
46
- end
47
- it "Last node has the expected value. " do
48
- expect(node.last_node.value).to eq(100)
49
- end
50
- it "#node_value collected match #to_a output. " do
51
- nav_ary = []
52
- node.node_value_request(:size).times do
53
- nav_ary << node.node_value
54
- node.next_node
55
- end
56
-
57
- expect(nav_ary).to eq(node.node_value_request(:to_a))
58
- expect(nav_ary).to eq([10, 20, 30, 40, 50, 60, 60, 70, 80, 90, 100])
59
- end
60
- end
61
-
62
- context "Node Navigation " do
63
-
64
- it "Can navigate to each mode in list, forward. " do
65
- node.node_value_request(:size).times do
66
- expect(node.next_node).to be_a SknUtils::Lists::LinkNode
67
- end
68
- end
69
- it "Can navigate to each mode in list, backward. " do
70
- node.last_node.node_value_request(:size).times do
71
- expect(node.prev_node).to be_a SknUtils::Lists::LinkNode
72
- end
73
- end
74
- it "Values collected match #to_a output. " do
75
- nav_ary = []
76
- node.node_value_request(:size).times do
77
- nav_ary << node.node_value
78
- node.next_node
79
- end
80
-
81
- expect(node.node_value_request(:to_a)).to eq(nav_ary)
82
- end
83
- end
84
- end
85
-
86
- end