pio 0.8.0 → 0.8.1

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.
@@ -9,91 +9,296 @@ describe Pio::IPv4Address do
9
9
  context 'with 10.1.1.1' do
10
10
  let(:ip_address) { '10.1.1.1' }
11
11
 
12
- its(:to_s) { should eq '10.1.1.1' }
13
- its(:to_i) { should eq(((10 * 256 + 1) * 256 + 1) * 256 + 1) }
14
- its(:prefixlen) { should eq 32 }
15
- its(:to_ary) { should eq [0x0a, 0x01, 0x01, 0x01] }
16
- its(:class_a?) { should be_true }
17
- its(:class_b?) { should be_false }
18
- its(:class_c?) { should be_false }
19
- its(:class_d?) { should be_false }
20
- its(:class_e?) { should be_false }
21
- its(:unicast?) { should be_true }
22
- its(:multicast?) { should be_false }
12
+ describe '#to_s' do
13
+ subject { super().to_s }
14
+ it { is_expected.to eq '10.1.1.1' }
15
+ end
16
+
17
+ describe '#to_i' do
18
+ subject { super().to_i }
19
+ it { is_expected.to eq(((10 * 256 + 1) * 256 + 1) * 256 + 1) }
20
+ end
21
+
22
+ describe '#prefixlen' do
23
+ subject { super().prefixlen }
24
+ it { is_expected.to eq 32 }
25
+ end
26
+
27
+ describe '#to_ary' do
28
+ subject { super().to_ary }
29
+ it { is_expected.to eq [0x0a, 0x01, 0x01, 0x01] }
30
+ end
31
+
32
+ describe '#class_a?' do
33
+ subject { super().class_a? }
34
+ it { is_expected.to be_truthy }
35
+ end
36
+
37
+ describe '#class_b?' do
38
+ subject { super().class_b? }
39
+ it { is_expected.to be_falsey }
40
+ end
41
+
42
+ describe '#class_c?' do
43
+ subject { super().class_c? }
44
+ it { is_expected.to be_falsey }
45
+ end
46
+
47
+ describe '#class_d?' do
48
+ subject { super().class_d? }
49
+ it { is_expected.to be_falsey }
50
+ end
51
+
52
+ describe '#class_e?' do
53
+ subject { super().class_e? }
54
+ it { is_expected.to be_falsey }
55
+ end
56
+
57
+ describe '#unicast?' do
58
+ subject { super().unicast? }
59
+ it { is_expected.to be_truthy }
60
+ end
61
+
62
+ describe '#multicast?' do
63
+ subject { super().multicast? }
64
+ it { is_expected.to be_falsey }
65
+ end
23
66
 
24
67
  context '.mask!' do
25
68
  subject { ipv4.mask!(mask) }
26
69
 
27
70
  let(:mask) { 8 }
28
71
 
29
- its(:to_s) { should eq '10.0.0.0' }
30
- its(:to_i) { should eq 10 * 256 * 256 * 256 }
31
- its(:to_ary) { should eq [0x0a, 0x00, 0x00, 0x00] }
32
- its(:class_a?) { should be_true }
33
- its(:class_b?) { should be_false }
34
- its(:class_c?) { should be_false }
35
- its(:class_d?) { should be_false }
36
- its(:class_e?) { should be_false }
37
- its(:unicast?) { should be_true }
38
- its(:multicast?) { should be_false }
72
+ describe '#to_s' do
73
+ subject { super().to_s }
74
+ it { is_expected.to eq '10.0.0.0' }
75
+ end
76
+
77
+ describe '#to_i' do
78
+ subject { super().to_i }
79
+ it { is_expected.to eq 10 * 256 * 256 * 256 }
80
+ end
81
+
82
+ describe '#to_ary' do
83
+ subject { super().to_ary }
84
+ it { is_expected.to eq [0x0a, 0x00, 0x00, 0x00] }
85
+ end
86
+
87
+ describe '#class_a?' do
88
+ subject { super().class_a? }
89
+ it { is_expected.to be_truthy }
90
+ end
91
+
92
+ describe '#class_b?' do
93
+ subject { super().class_b? }
94
+ it { is_expected.to be_falsey }
95
+ end
96
+
97
+ describe '#class_c?' do
98
+ subject { super().class_c? }
99
+ it { is_expected.to be_falsey }
100
+ end
101
+
102
+ describe '#class_d?' do
103
+ subject { super().class_d? }
104
+ it { is_expected.to be_falsey }
105
+ end
106
+
107
+ describe '#class_e?' do
108
+ subject { super().class_e? }
109
+ it { is_expected.to be_falsey }
110
+ end
111
+
112
+ describe '#unicast?' do
113
+ subject { super().unicast? }
114
+ it { is_expected.to be_truthy }
115
+ end
116
+
117
+ describe '#multicast?' do
118
+ subject { super().multicast? }
119
+ it { is_expected.to be_falsey }
120
+ end
39
121
  end
40
122
  end
41
123
 
42
124
  context 'with 172.20.1.1' do
43
125
  let(:ip_address) { '172.20.1.1' }
44
126
 
45
- its(:to_s) { should eq '172.20.1.1' }
46
- its(:to_i) { should eq(((172 * 256 + 20) * 256 + 1) * 256 + 1) }
47
- its(:to_ary) { should eq [0xac, 0x14, 0x01, 0x01] }
48
- its(:class_a?) { should be_false }
49
- its(:class_b?) { should be_true }
50
- its(:class_c?) { should be_false }
51
- its(:class_d?) { should be_false }
52
- its(:class_e?) { should be_false }
53
- its(:unicast?) { should be_true }
54
- its(:multicast?) { should be_false }
127
+ describe '#to_s' do
128
+ subject { super().to_s }
129
+ it { is_expected.to eq '172.20.1.1' }
130
+ end
131
+
132
+ describe '#to_i' do
133
+ subject { super().to_i }
134
+ it { is_expected.to eq(((172 * 256 + 20) * 256 + 1) * 256 + 1) }
135
+ end
136
+
137
+ describe '#to_ary' do
138
+ subject { super().to_ary }
139
+ it { is_expected.to eq [0xac, 0x14, 0x01, 0x01] }
140
+ end
141
+
142
+ describe '#class_a?' do
143
+ subject { super().class_a? }
144
+ it { is_expected.to be_falsey }
145
+ end
146
+
147
+ describe '#class_b?' do
148
+ subject { super().class_b? }
149
+ it { is_expected.to be_truthy }
150
+ end
151
+
152
+ describe '#class_c?' do
153
+ subject { super().class_c? }
154
+ it { is_expected.to be_falsey }
155
+ end
156
+
157
+ describe '#class_d?' do
158
+ subject { super().class_d? }
159
+ it { is_expected.to be_falsey }
160
+ end
161
+
162
+ describe '#class_e?' do
163
+ subject { super().class_e? }
164
+ it { is_expected.to be_falsey }
165
+ end
166
+
167
+ describe '#unicast?' do
168
+ subject { super().unicast? }
169
+ it { is_expected.to be_truthy }
170
+ end
171
+
172
+ describe '#multicast?' do
173
+ subject { super().multicast? }
174
+ it { is_expected.to be_falsey }
175
+ end
55
176
  end
56
177
 
57
178
  context 'with 192.168.1.1' do
58
179
  let(:ip_address) { '192.168.1.1' }
59
180
 
60
- its(:to_s) { should eq '192.168.1.1' }
61
- its(:to_i) { should eq 3_232_235_777 }
62
- its(:to_ary) { should eq [0xc0, 0xa8, 0x01, 0x01] }
63
- its(:class_a?) { should be_false }
64
- its(:class_b?) { should be_false }
65
- its(:class_c?) { should be_true }
66
- its(:class_d?) { should be_false }
67
- its(:class_e?) { should be_false }
68
- its(:unicast?) { should be_true }
69
- its(:multicast?) { should be_false }
181
+ describe '#to_s' do
182
+ subject { super().to_s }
183
+ it { is_expected.to eq '192.168.1.1' }
184
+ end
185
+
186
+ describe '#to_i' do
187
+ subject { super().to_i }
188
+ it { is_expected.to eq 3_232_235_777 }
189
+ end
190
+
191
+ describe '#to_ary' do
192
+ subject { super().to_ary }
193
+ it { is_expected.to eq [0xc0, 0xa8, 0x01, 0x01] }
194
+ end
195
+
196
+ describe '#class_a?' do
197
+ subject { super().class_a? }
198
+ it { is_expected.to be_falsey }
199
+ end
200
+
201
+ describe '#class_b?' do
202
+ subject { super().class_b? }
203
+ it { is_expected.to be_falsey }
204
+ end
205
+
206
+ describe '#class_c?' do
207
+ subject { super().class_c? }
208
+ it { is_expected.to be_truthy }
209
+ end
210
+
211
+ describe '#class_d?' do
212
+ subject { super().class_d? }
213
+ it { is_expected.to be_falsey }
214
+ end
215
+
216
+ describe '#class_e?' do
217
+ subject { super().class_e? }
218
+ it { is_expected.to be_falsey }
219
+ end
220
+
221
+ describe '#unicast?' do
222
+ subject { super().unicast? }
223
+ it { is_expected.to be_truthy }
224
+ end
225
+
226
+ describe '#multicast?' do
227
+ subject { super().multicast? }
228
+ it { is_expected.to be_falsey }
229
+ end
70
230
  end
71
231
 
72
232
  context 'with 234.1.1.1' do
73
233
  let(:ip_address) { '234.1.1.1' }
74
234
 
75
- its(:to_s) { should eq '234.1.1.1' }
76
- its(:to_i) { should eq(((234 * 256 + 1) * 256 + 1) * 256 + 1) }
77
- its(:to_ary) { should eq [0xea, 0x01, 0x01, 0x01] }
78
- its(:class_a?) { should be_false }
79
- its(:class_b?) { should be_false }
80
- its(:class_c?) { should be_false }
81
- its(:class_d?) { should be_true }
82
- its(:class_e?) { should be_false }
83
- its(:unicast?) { should be_false }
84
- its(:multicast?) { should be_true }
235
+ describe '#to_s' do
236
+ subject { super().to_s }
237
+ it { is_expected.to eq '234.1.1.1' }
238
+ end
239
+
240
+ describe '#to_i' do
241
+ subject { super().to_i }
242
+ it { is_expected.to eq(((234 * 256 + 1) * 256 + 1) * 256 + 1) }
243
+ end
244
+
245
+ describe '#to_ary' do
246
+ subject { super().to_ary }
247
+ it { is_expected.to eq [0xea, 0x01, 0x01, 0x01] }
248
+ end
249
+
250
+ describe '#class_a?' do
251
+ subject { super().class_a? }
252
+ it { is_expected.to be_falsey }
253
+ end
254
+
255
+ describe '#class_b?' do
256
+ subject { super().class_b? }
257
+ it { is_expected.to be_falsey }
258
+ end
259
+
260
+ describe '#class_c?' do
261
+ subject { super().class_c? }
262
+ it { is_expected.to be_falsey }
263
+ end
264
+
265
+ describe '#class_d?' do
266
+ subject { super().class_d? }
267
+ it { is_expected.to be_truthy }
268
+ end
269
+
270
+ describe '#class_e?' do
271
+ subject { super().class_e? }
272
+ it { is_expected.to be_falsey }
273
+ end
274
+
275
+ describe '#unicast?' do
276
+ subject { super().unicast? }
277
+ it { is_expected.to be_falsey }
278
+ end
279
+
280
+ describe '#multicast?' do
281
+ subject { super().multicast? }
282
+ it { is_expected.to be_truthy }
283
+ end
85
284
  end
86
285
 
87
286
  context 'with 192.168.0.1/16' do
88
287
  let(:ip_address) { '192.168.0.1/16' }
89
288
 
90
- its(:prefixlen) { should eq 16 }
289
+ describe '#prefixlen' do
290
+ subject { super().prefixlen }
291
+ it { is_expected.to eq 16 }
292
+ end
91
293
  end
92
294
 
93
295
  context 'with 192.168.0.1/255.255.255.0' do
94
296
  let(:ip_address) { '192.168.0.1/255.255.255.0' }
95
297
 
96
- its(:prefixlen) { should eq 24 }
298
+ describe '#prefixlen' do
299
+ subject { super().prefixlen }
300
+ it { is_expected.to eq 24 }
301
+ end
97
302
  end
98
303
  end
99
304
  end
@@ -9,13 +9,13 @@ describe Pio::Mac do
9
9
  let(:value) { '11:22:33:44:55:66' }
10
10
 
11
11
  describe '#==' do
12
- it { should eq Pio::Mac.new('11:22:33:44:55:66') }
13
- it { should eq '11:22:33:44:55:66' }
14
- it { should_not eq Pio::Mac.new('66:55:44:33:22:11') }
15
- it { should_not eq '66:55:44:33:22:11' }
16
- it { should eq 0x112233445566 }
17
- it { should_not eq 42 }
18
- it { should_not eq 'INVALID_MAC_ADDRESS' }
12
+ it { is_expected.to eq Pio::Mac.new('11:22:33:44:55:66') }
13
+ it { is_expected.to eq '11:22:33:44:55:66' }
14
+ it { is_expected.not_to eq Pio::Mac.new('66:55:44:33:22:11') }
15
+ it { is_expected.not_to eq '66:55:44:33:22:11' }
16
+ it { is_expected.to eq 0x112233445566 }
17
+ it { is_expected.not_to eq 42 }
18
+ it { is_expected.not_to eq 'INVALID_MAC_ADDRESS' }
19
19
  end
20
20
 
21
21
  describe '#eql?' do
@@ -28,20 +28,45 @@ describe Pio::Mac do
28
28
  it { expect(subject).not_to eql 'INVALID_MAC_ADDRESS' }
29
29
  end
30
30
 
31
- its(:hash) { should eq Pio::Mac.new('11:22:33:44:55:66').hash }
31
+ describe '#hash' do
32
+ subject { super().hash }
33
+ it { is_expected.to eq Pio::Mac.new('11:22:33:44:55:66').hash }
34
+ end
35
+
36
+ describe '#to_i' do
37
+ subject { super().to_i }
38
+ it { is_expected.to eq 0x112233445566 }
39
+ end
40
+
41
+ describe '#to_a' do
42
+ subject { super().to_a }
43
+ it { is_expected.to eq [0x11, 0x22, 0x33, 0x44, 0x55, 0x66] }
44
+ end
32
45
 
33
- its(:to_i) { should eq 0x112233445566 }
34
- its(:to_a) { should eq [0x11, 0x22, 0x33, 0x44, 0x55, 0x66] }
35
- its(:to_s) { should eq '11:22:33:44:55:66' }
46
+ describe '#to_s' do
47
+ subject { super().to_s }
48
+ it { is_expected.to eq '11:22:33:44:55:66' }
49
+ end
36
50
  describe '#to_str' do
37
51
  context 'when "MAC = " + subject' do
38
52
  it { expect('MAC = ' + subject).to eq 'MAC = 11:22:33:44:55:66' }
39
53
  end
40
54
  end
41
55
 
42
- its(:multicast?) { should be_true }
43
- its(:broadcast?) { should be_false }
44
- its(:reserved?) { should be_false }
56
+ describe '#multicast?' do
57
+ subject { super().multicast? }
58
+ it { is_expected.to be_truthy }
59
+ end
60
+
61
+ describe '#broadcast?' do
62
+ subject { super().broadcast? }
63
+ it { is_expected.to be_falsey }
64
+ end
65
+
66
+ describe '#reserved?' do
67
+ subject { super().reserved? }
68
+ it { is_expected.to be_falsey }
69
+ end
45
70
  end
46
71
 
47
72
  context 'with reserved address' do
@@ -51,7 +76,11 @@ describe Pio::Mac do
51
76
 
52
77
  context "when #{ reserved_address }" do
53
78
  let(:value) { reserved_address }
54
- its(:reserved?) { should be_true }
79
+
80
+ describe '#reserved?' do
81
+ subject { super().reserved? }
82
+ it { is_expected.to be_truthy }
83
+ end
55
84
  end
56
85
  end
57
86
  end
@@ -59,25 +88,73 @@ describe Pio::Mac do
59
88
  context 'with 0' do
60
89
  let(:value) { 0 }
61
90
 
62
- it { should eq Pio::Mac.new(0) }
63
- its(:to_i) { should eq 0 }
64
- its(:to_a) { should eq [0x00, 0x00, 0x00, 0x00, 0x00, 0x00] }
65
- its(:to_s) { should eq '00:00:00:00:00:00' }
66
- its(:multicast?) { should be_false }
67
- its(:broadcast?) { should be_false }
68
- its(:reserved?) { should be_false }
91
+ it { is_expected.to eq Pio::Mac.new(0) }
92
+
93
+ describe '#to_i' do
94
+ subject { super().to_i }
95
+ it { is_expected.to eq 0 }
96
+ end
97
+
98
+ describe '#to_a' do
99
+ subject { super().to_a }
100
+ it { is_expected.to eq [0x00, 0x00, 0x00, 0x00, 0x00, 0x00] }
101
+ end
102
+
103
+ describe '#to_s' do
104
+ subject { super().to_s }
105
+ it { is_expected.to eq '00:00:00:00:00:00' }
106
+ end
107
+
108
+ describe '#multicast?' do
109
+ subject { super().multicast? }
110
+ it { is_expected.to be_falsey }
111
+ end
112
+
113
+ describe '#broadcast?' do
114
+ subject { super().broadcast? }
115
+ it { is_expected.to be_falsey }
116
+ end
117
+
118
+ describe '#reserved?' do
119
+ subject { super().reserved? }
120
+ it { is_expected.to be_falsey }
121
+ end
69
122
  end
70
123
 
71
124
  context 'with 0xffffffffffff' do
72
125
  let(:value) { 0xffffffffffff }
73
126
 
74
- it { should eq Pio::Mac.new(0xffffffffffff) }
75
- its(:to_i) { should eq 0xffffffffffff }
76
- its(:to_a) { should eq [0xff, 0xff, 0xff, 0xff, 0xff, 0xff] }
77
- its(:to_s) { should eq 'ff:ff:ff:ff:ff:ff' }
78
- its(:multicast?) { should be_true }
79
- its(:broadcast?) { should be_true }
80
- its(:reserved?) { should be_false }
127
+ it { is_expected.to eq Pio::Mac.new(0xffffffffffff) }
128
+
129
+ describe '#to_i' do
130
+ subject { super().to_i }
131
+ it { is_expected.to eq 0xffffffffffff }
132
+ end
133
+
134
+ describe '#to_a' do
135
+ subject { super().to_a }
136
+ it { is_expected.to eq [0xff, 0xff, 0xff, 0xff, 0xff, 0xff] }
137
+ end
138
+
139
+ describe '#to_s' do
140
+ subject { super().to_s }
141
+ it { is_expected.to eq 'ff:ff:ff:ff:ff:ff' }
142
+ end
143
+
144
+ describe '#multicast?' do
145
+ subject { super().multicast? }
146
+ it { is_expected.to be_truthy }
147
+ end
148
+
149
+ describe '#broadcast?' do
150
+ subject { super().broadcast? }
151
+ it { is_expected.to be_truthy }
152
+ end
153
+
154
+ describe '#reserved?' do
155
+ subject { super().reserved? }
156
+ it { is_expected.to be_falsey }
157
+ end
81
158
  end
82
159
 
83
160
  context 'with "INVALID MAC ADDRESS"' do