random-accessible 0.1.4 → 0.2.0

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.
@@ -171,6 +171,7 @@ module RandomWritable
171
171
  # if the class provides no size-provider.
172
172
  def clear
173
173
  shrink(size)
174
+ return self
174
175
  end
175
176
 
176
177
  # Same as Array's.
@@ -184,6 +185,7 @@ module RandomWritable
184
185
  replace_at(i, el)
185
186
  i += 1
186
187
  end
188
+ return self
187
189
  end
188
190
 
189
191
  # Same as Array's.
@@ -228,6 +230,8 @@ module RandomWritable
228
230
  end
229
231
  end
230
232
  end
233
+
234
+ return self
231
235
  end
232
236
 
233
237
  # Same as Array's.
@@ -241,6 +245,7 @@ module RandomWritable
241
245
  insert_at(nth, el)
242
246
  end
243
247
  end
248
+ return self
244
249
  end
245
250
 
246
251
  # Remove specified number of elements from the last of this object.
@@ -266,6 +271,7 @@ module RandomWritable
266
271
  obj.each do |el|
267
272
  replace_at(size, el)
268
273
  end
274
+ return self
269
275
  end
270
276
 
271
277
  # Same as Array's.
@@ -284,6 +290,7 @@ module RandomWritable
284
290
  # Same as Array's.
285
291
  # This method raises NotImplementedError
286
292
  # if the class provides no delete-accessor.
293
+ # This method ALWAYS RETURNS NULL.
287
294
  def shift(*args)
288
295
  if args.size > 1
289
296
  raise ArgumentError, "wrong number of arguments(#{args.size})"
@@ -91,9 +91,7 @@ class TestRandomAccesible < Test::Unit::TestCase
91
91
  def test_collect!
92
92
  FULL_IMPLS.each do |klass|
93
93
  impl = klass.new([1, 2, 3])
94
- impl.collect! do |el|
95
- el * 3
96
- end
94
+ assert_same(impl, impl.collect! { |el| el * 3 })
97
95
  assert_equal([3, 6, 9], impl)
98
96
  assert_equal(3, impl.size)
99
97
 
@@ -205,31 +203,6 @@ class TestRandomAccesible < Test::Unit::TestCase
205
203
  end
206
204
  end
207
205
 
208
- # TODO: Delete me.
209
- def test_fill_start_length
210
- FULL_IMPLS.each do |klass|
211
- impl = klass.new([0, 1, 2, 3 ,4])
212
- impl.fill(-1, 0, 3)
213
- assert_equal([-1, -1, -1, 3, 4], impl)
214
- assert_equal(5, impl.size)
215
-
216
- impl = klass.new([0, 1, 2, 3 ,4])
217
- impl.fill(-1, 2, 3)
218
- assert_equal([0, 1, -1, -1, -1], impl)
219
- assert_equal(5, impl.size)
220
-
221
- impl = klass.new([0, 1, 2, 3 ,4])
222
- impl.fill(-1, 2, 5)
223
- assert_equal([0, 1, -1, -1, -1, -1, -1], impl)
224
- assert_equal(7, impl.size)
225
-
226
- impl = klass.new([0, 1, 2, 3 ,4])
227
- impl.fill(-1, 7, 3)
228
- assert_equal([0, 1, 2, 3, 4, nil, nil, -1, -1, -1], impl)
229
- assert_equal(10, impl.size)
230
- end
231
- end
232
-
233
206
  def test_flatten!
234
207
  FULL_IMPLS.each do |klass|
235
208
  impl = klass.new([1, [2, 3, [4], 5]])
@@ -211,15 +211,9 @@ class TestRandomWritable < Test::Unit::TestCase
211
211
  end
212
212
 
213
213
  def test_clear
214
- FULL_IMPLS.each do |klass|
215
- impl = klass.new((1..100).to_a)
216
- impl.clear
217
- assert_equal([], impl.to_ary)
218
- assert_equal(0, impl.size)
219
- end
220
- NODELETE_IMPLS.each do |klass|
214
+ (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
221
215
  impl = klass.new((1..100).to_a)
222
- impl.clear
216
+ assert_same(impl, impl.clear)
223
217
  assert_equal([], impl.to_ary)
224
218
  assert_equal(0, impl.size)
225
219
  end
@@ -232,7 +226,7 @@ class TestRandomWritable < Test::Unit::TestCase
232
226
  def test_concat
233
227
  (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
234
228
  impl = klass.new([1, 2, 3])
235
- impl.concat([4, 5])
229
+ assert_same(impl, impl.concat([4, 5]))
236
230
  assert_equal([1, 2, 3, 4, 5], impl.to_ary)
237
231
  assert_equal(5, impl.size)
238
232
  end
@@ -314,11 +308,11 @@ class TestRandomWritable < Test::Unit::TestCase
314
308
  def test_fill_val
315
309
  (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
316
310
  impl = klass.new([1, 2, 3, 4])
317
- impl.fill(10)
311
+ assert_same(impl, impl.fill(10))
318
312
  assert_equal([10, 10, 10, 10], impl.to_ary)
319
313
 
320
314
  impl = klass.new([1, 2, 3])
321
- impl.fill { |i| -i }
315
+ assert_same(impl, impl.fill { |i| -i })
322
316
  assert_equal([0, -1, -2], impl.to_ary)
323
317
  end
324
318
  NOSIZE_IMPLS.each do |klass|
@@ -334,92 +328,92 @@ class TestRandomWritable < Test::Unit::TestCase
334
328
  def test_fill_start_length
335
329
  (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
336
330
  impl = klass.new([1, 2, 3, 4])
337
- impl.fill(10, 0, 2)
331
+ assert_same(impl, impl.fill(10, 0, 2))
338
332
  assert_equal([10, 10, 3, 4], impl.to_ary)
339
333
  assert_equal(4, impl.size)
340
334
 
341
- impl.fill(-1, 1, 2)
335
+ assert_same(impl, impl.fill(-1, 1, 2))
342
336
  assert_equal([10, -1, -1, 4], impl.to_ary)
343
337
  assert_equal(4, impl.size)
344
338
 
345
- impl.fill(0, 2, 2)
339
+ assert_same(impl, impl.fill(0, 2, 2))
346
340
  assert_equal([10, -1, 0, 0], impl.to_ary)
347
341
  assert_equal(4, impl.size)
348
342
 
349
- impl.fill(1, 3, 3)
343
+ assert_equal(impl, impl.fill(1, 3, 3))
350
344
  assert_equal([10, -1, 0, 1, 1, 1], impl.to_ary)
351
345
  assert_equal(6, impl.size)
352
346
 
353
- impl.fill(2, 6, 1)
347
+ assert_same(impl, impl.fill(2, 6, 1))
354
348
  assert_equal([10, -1, 0, 1, 1, 1, 2], impl.to_ary)
355
349
  assert_equal(7, impl.size)
356
350
 
357
- impl.fill(3, 8, 3)
351
+ assert_same(impl, impl.fill(3, 8, 3))
358
352
  assert_equal([10, -1, 0, 1, 1, 1, 2, nil, 3, 3, 3], impl.to_ary)
359
353
  assert_equal(11, impl.size)
360
354
 
361
355
  impl = klass.new([1, 2, 3, 4])
362
- impl.fill(0, 2) { |i| 10 }
356
+ assert_same(impl, impl.fill(0, 2) { |i| 10 })
363
357
  assert_equal([10, 10, 3, 4], impl.to_ary)
364
358
  assert_equal(4, impl.size)
365
359
 
366
- impl.fill(1, 2) { |i| -1 }
360
+ assert_same(impl, impl.fill(1, 2) { |i| -1 })
367
361
  assert_equal([10, -1, -1, 4], impl.to_ary)
368
362
  assert_equal(4, impl.size)
369
363
 
370
- impl.fill(2, 2) { |i| i * 0 }
364
+ assert_same(impl, impl.fill(2, 2) { |i| i * 0 })
371
365
  assert_equal([10, -1, 0, 0], impl.to_ary)
372
366
  assert_equal(4, impl.size)
373
367
 
374
- impl.fill(3, 3) { |i| 1 }
368
+ assert_same(impl, impl.fill(3, 3) { |i| 1 })
375
369
  assert_equal([10, -1, 0, 1, 1, 1], impl.to_ary)
376
370
  assert_equal(6, impl.size)
377
371
 
378
- impl.fill(6, 1) { |i| i - 4 }
372
+ assert_same(impl, impl.fill(6, 1) { |i| i - 4 })
379
373
  assert_equal([10, -1, 0, 1, 1, 1, 2], impl.to_ary)
380
374
  assert_equal(7, impl.size)
381
375
 
382
- impl.fill(8, 3) { |i| i }
376
+ assert_same(impl, impl.fill(8, 3) { |i| i })
383
377
  assert_equal([10, -1, 0, 1, 1, 1, 2, nil, 8, 9, 10], impl.to_ary)
384
378
  assert_equal(11, impl.size)
385
379
  end
386
380
  NOSIZE_IMPLS.each do |klass|
387
381
  impl = klass.new([1, 2, 3, 4])
388
- impl.fill(10, 0, 2)
382
+ assert_same(impl, impl.fill(10, 0, 2))
389
383
  assert_equal([10, 10, 3, 4], impl.to_ary)
390
384
 
391
- impl.fill(-1, 1, 2)
385
+ assert_same(impl, impl.fill(-1, 1, 2))
392
386
  assert_equal([10, -1, -1, 4], impl.to_ary)
393
387
 
394
- impl.fill(0, 2, 2)
388
+ assert_same(impl, impl.fill(0, 2, 2))
395
389
  assert_equal([10, -1, 0, 0], impl.to_ary)
396
390
 
397
- impl.fill(1, 3, 3)
391
+ assert_same(impl, impl.fill(1, 3, 3))
398
392
  assert_equal([10, -1, 0, 1, 1, 1], impl.to_ary)
399
393
 
400
- impl.fill(2, 6, 1)
394
+ assert_same(impl, impl.fill(2, 6, 1))
401
395
  assert_equal([10, -1, 0, 1, 1, 1, 2], impl.to_ary)
402
396
 
403
- impl.fill(3, 8, 3)
397
+ assert_same(impl, impl.fill(3, 8, 3))
404
398
  assert_equal([10, -1, 0, 1, 1, 1, 2, nil, 3, 3, 3], impl.to_ary)
405
399
 
406
400
  impl = klass.new([1, 2, 3, 4])
407
- impl.fill(0, 2) { |i| 10 }
401
+ assert_same(impl, impl.fill(0, 2) { |i| 10 })
408
402
  assert_equal([10, 10, 3, 4], impl.to_ary)
409
403
 
410
- impl.fill(1, 2) { |i| -1 }
404
+ assert_same(impl, impl.fill(1, 2) { |i| -1 })
411
405
  assert_equal([10, -1, -1, 4], impl.to_ary)
412
406
 
413
- impl.fill(2, 2) { |i| i * 0 }
407
+ assert_same(impl, impl.fill(2, 2) { |i| i * 0 })
414
408
  assert_equal([10, -1, 0, 0], impl.to_ary)
415
409
 
416
- impl.fill(3, 3) { |i| 1 }
410
+ assert_same(impl, impl.fill(3, 3) { |i| 1 })
417
411
  assert_equal([10, -1, 0, 1, 1, 1], impl.to_ary)
418
412
 
419
- impl.fill(6, 1) { |i| i - 4 }
413
+ assert_same(impl, impl.fill(6, 1) { |i| i - 4 })
420
414
  assert_equal([10, -1, 0, 1, 1, 1, 2], impl.to_ary)
421
415
 
422
- impl.fill(8, 3) { |i| i }
416
+ assert_same(impl, impl.fill(8, 3) { |i| i })
423
417
  assert_equal([10, -1, 0, 1, 1, 1, 2, nil, 8, 9, 10], impl.to_ary)
424
418
  end
425
419
  end
@@ -428,12 +422,12 @@ class TestRandomWritable < Test::Unit::TestCase
428
422
  FULL_IMPLS.each do |klass|
429
423
  msg = "Error in #{klass.name}"
430
424
  impl = klass.new([1, 2, 3])
431
- impl.insert(2, -1, -2)
425
+ assert_same(impl, impl.insert(2, -1, -2))
432
426
  assert_equal([1, 2, -1, -2, 3], impl.to_ary, msg)
433
427
  assert_equal(5, impl.size, msg)
434
428
 
435
429
  impl = klass.new([1, 2, 3])
436
- impl.insert(-2, -1, -2, -3)
430
+ assert_same(impl, impl.insert(-2, -1, -2, -3))
437
431
  assert_equal([1, 2, -1, -2, -3, 3], impl.to_ary, msg)
438
432
  assert_equal(6, impl.size, msg)
439
433
  end
@@ -446,7 +440,7 @@ class TestRandomWritable < Test::Unit::TestCase
446
440
  NOSIZE_IMPLS.each do |klass|
447
441
  msg = "Error in #{klass.name}"
448
442
  impl = klass.new([1, 2, 3])
449
- impl.insert(2, -1, -2)
443
+ assert_same(impl, impl.insert(2, -1, -2))
450
444
  assert_equal([1, 2, -1, -2, 3], impl.to_ary, msg)
451
445
 
452
446
  impl = klass.new([1, 2, 3])
@@ -490,7 +484,7 @@ class TestRandomWritable < Test::Unit::TestCase
490
484
  def test_push
491
485
  (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
492
486
  impl = klass.new([1])
493
- impl.push(2, 3)
487
+ assert_same(impl, impl.push(2, 3))
494
488
  assert_equal([1, 2, 3], impl.to_ary)
495
489
  assert_equal(3, impl.size)
496
490
  end
@@ -503,17 +497,17 @@ class TestRandomWritable < Test::Unit::TestCase
503
497
  def test_replace
504
498
  (FULL_IMPLS + NODELETE_IMPLS).each do |klass|
505
499
  impl = klass.new([1, 2, 3])
506
- impl.replace([4, 5, 6])
500
+ assert_same(impl, impl.replace([4, 5, 6]))
507
501
  assert_equal([4, 5, 6], impl.to_ary)
508
502
  assert_equal(3, impl.size)
509
503
 
510
504
  impl = klass.new([1, 2, 3])
511
- impl.replace([4, 5])
505
+ assert_same(impl, impl.replace([4, 5]))
512
506
  assert_equal([4, 5], impl.to_ary)
513
507
  assert_equal(2, impl.size)
514
508
 
515
509
  impl = klass.new([1, 2, 3])
516
- impl.replace([4, 5, 6, 7])
510
+ assert_same(impl, impl.replace([4, 5, 6, 7]))
517
511
  assert_equal([4, 5, 6, 7], impl.to_ary)
518
512
  assert_equal(4, impl.size)
519
513
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random-accessible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,13 +9,13 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-16 00:00:00.000000000 Z
12
+ date: 2011-12-21 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'RandomAccessible mixin provides all methods of Array (regard as high-functioning
15
15
  edition of Enumerable).
16
16
 
17
17
  As a class includes Enumerable must provide "each" method, a class includes RandomAccessible
18
- must have some methods. (please see the document for detail).
18
+ must have some methods. Please see the document for detail.
19
19
 
20
20
 
21
21
  '