random-accessible 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  '