hamster 0.2.4 → 0.2.5

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.
Files changed (159) hide show
  1. data/History.rdoc +8 -0
  2. data/lib/hamster.rbc +133 -0
  3. data/lib/hamster/core_ext.rbc +69 -0
  4. data/lib/hamster/core_ext/enumerable.rbc +481 -0
  5. data/lib/hamster/core_ext/io.rbc +652 -0
  6. data/lib/hamster/hash.rb +4 -11
  7. data/lib/hamster/hash.rbc +3537 -0
  8. data/lib/hamster/list.rb +15 -5
  9. data/lib/hamster/list.rbc +14428 -0
  10. data/lib/hamster/set.rb +13 -12
  11. data/lib/hamster/set.rbc +5541 -0
  12. data/lib/hamster/stack.rbc +1623 -0
  13. data/lib/hamster/trie.rbc +3449 -0
  14. data/lib/hamster/tuple.rbc +800 -0
  15. data/lib/hamster/version.rb +1 -1
  16. data/lib/hamster/version.rbc +143 -0
  17. data/spec/hamster/core_ext/enumerable_spec.rbc +751 -0
  18. data/spec/hamster/core_ext/io_spec.rbc +413 -0
  19. data/spec/hamster/hash/all_spec.rbc +1312 -0
  20. data/spec/hamster/hash/any_spec.rbc +1501 -0
  21. data/spec/hamster/hash/construction_spec.rbc +750 -0
  22. data/spec/hamster/hash/copying_spec.rbc +524 -0
  23. data/spec/hamster/hash/delete_spec.rbc +1146 -0
  24. data/spec/hamster/hash/each_spec.rbc +997 -0
  25. data/spec/hamster/hash/empty_spec.rbc +597 -0
  26. data/spec/hamster/hash/eql_spec.rbc +1704 -0
  27. data/spec/hamster/hash/filter_spec.rbc +1450 -0
  28. data/spec/hamster/hash/get_spec.rbc +793 -0
  29. data/spec/hamster/hash/has_key_spec.rbc +720 -0
  30. data/spec/hamster/hash/inspect_spec.rbc +658 -0
  31. data/spec/hamster/hash/map_spec.rbc +1471 -0
  32. data/spec/hamster/hash/none_spec.rbc +1404 -0
  33. data/spec/hamster/hash/put_spec.rbc +1346 -0
  34. data/spec/hamster/hash/reduce_spec.rbc +1255 -0
  35. data/spec/hamster/hash/remove_spec.rbc +1467 -0
  36. data/spec/hamster/hash/size_spec.rbc +598 -0
  37. data/spec/hamster/hash/uniq_spec.rbc +529 -0
  38. data/spec/hamster/list/all_spec.rbc +2158 -0
  39. data/spec/hamster/list/any_spec.rbc +1751 -0
  40. data/spec/hamster/list/append_spec.rbc +1193 -0
  41. data/spec/hamster/list/at_spec.rb +49 -0
  42. data/spec/hamster/list/break_spec.rbc +1804 -0
  43. data/spec/hamster/list/cadr_spec.rbc +1065 -0
  44. data/spec/hamster/list/chunk_spec.rbc +920 -0
  45. data/spec/hamster/list/clear_spec.rb +1 -1
  46. data/spec/hamster/list/clear_spec.rbc +635 -0
  47. data/spec/hamster/list/combinations_spec.rbc +1308 -0
  48. data/spec/hamster/list/compact_spec.rbc +987 -0
  49. data/spec/hamster/list/cons_spec.rbc +853 -0
  50. data/spec/hamster/list/construction_spec.rbc +2532 -0
  51. data/spec/hamster/list/copying_spec.rbc +576 -0
  52. data/spec/hamster/list/count_spec.rbc +1216 -0
  53. data/spec/hamster/list/cycle_spec.rbc +1003 -0
  54. data/spec/hamster/list/drop_spec.rbc +949 -0
  55. data/spec/hamster/list/drop_while_spec.rbc +1289 -0
  56. data/spec/hamster/list/each_slice_spec.rbc +1659 -0
  57. data/spec/hamster/list/each_spec.rbc +1403 -0
  58. data/spec/hamster/list/empty_spec.rbc +947 -0
  59. data/spec/hamster/list/eql_spec.rbc +1669 -0
  60. data/spec/hamster/list/filter_spec.rbc +1379 -0
  61. data/spec/hamster/list/find_spec.rbc +1322 -0
  62. data/spec/hamster/list/flatten_spec.rbc +954 -0
  63. data/spec/hamster/list/grep_spec.rbc +1517 -0
  64. data/spec/hamster/list/group_by_spec.rbc +1536 -0
  65. data/spec/hamster/list/head_spec.rbc +948 -0
  66. data/spec/hamster/list/include_spec.rb +4 -0
  67. data/spec/hamster/list/include_spec.rbc +1044 -0
  68. data/spec/hamster/list/init_spec.rbc +877 -0
  69. data/spec/hamster/list/inits_spec.rbc +988 -0
  70. data/spec/hamster/list/inspect_spec.rbc +855 -0
  71. data/spec/hamster/list/intersperse_spec.rbc +912 -0
  72. data/spec/hamster/list/join_spec.rbc +1357 -0
  73. data/spec/hamster/list/last_spec.rbc +856 -0
  74. data/spec/hamster/list/map_spec.rbc +1548 -0
  75. data/spec/hamster/list/maximum_spec.rbc +1498 -0
  76. data/spec/hamster/list/minimum_spec.rbc +1498 -0
  77. data/spec/hamster/list/none_spec.rbc +1647 -0
  78. data/spec/hamster/list/one_spec.rbc +1664 -0
  79. data/spec/hamster/list/partition_spec.rbc +1528 -0
  80. data/spec/hamster/list/product_spec.rbc +844 -0
  81. data/spec/hamster/list/reduce_spec.rbc +1943 -0
  82. data/spec/hamster/list/remove_spec.rbc +1518 -0
  83. data/spec/hamster/list/reverse_spec.rbc +1204 -0
  84. data/spec/hamster/list/size_spec.rbc +920 -0
  85. data/spec/hamster/list/slice_spec.rb +50 -0
  86. data/spec/hamster/list/sorting_spec.rbc +1612 -0
  87. data/spec/hamster/list/span_spec.rbc +1798 -0
  88. data/spec/hamster/list/split_at_spec.rbc +1139 -0
  89. data/spec/hamster/list/sum_spec.rbc +842 -0
  90. data/spec/hamster/list/tail_spec.rbc +994 -0
  91. data/spec/hamster/list/tails_spec.rbc +988 -0
  92. data/spec/hamster/list/take_spec.rbc +943 -0
  93. data/spec/hamster/list/take_while_spec.rbc +1399 -0
  94. data/spec/hamster/list/to_a_spec.rbc +1140 -0
  95. data/spec/hamster/list/to_ary_spec.rbc +1128 -0
  96. data/spec/hamster/list/to_list_spec.rbc +561 -0
  97. data/spec/hamster/list/union_spec.rbc +1147 -0
  98. data/spec/hamster/list/uniq_spec.rbc +1007 -0
  99. data/spec/hamster/list/zip_spec.rbc +1020 -0
  100. data/spec/hamster/set/add_spec.rbc +1051 -0
  101. data/spec/hamster/set/all_spec.rbc +1418 -0
  102. data/spec/hamster/set/any_spec.rbc +1449 -0
  103. data/spec/hamster/set/clear_spec.rb +36 -0
  104. data/spec/hamster/set/compact_spec.rbc +807 -0
  105. data/spec/hamster/set/construction_spec.rbc +426 -0
  106. data/spec/hamster/set/copying_spec.rbc +474 -0
  107. data/spec/hamster/set/count_spec.rbc +953 -0
  108. data/spec/hamster/set/delete_spec.rbc +958 -0
  109. data/spec/hamster/set/each_spec.rbc +909 -0
  110. data/spec/hamster/set/empty_spec.rbc +656 -0
  111. data/spec/hamster/set/eql_spec.rbc +1311 -0
  112. data/spec/hamster/set/filter_spec.rbc +1289 -0
  113. data/spec/hamster/set/find_spec.rbc +1017 -0
  114. data/spec/hamster/set/grep_spec.rbc +1181 -0
  115. data/spec/hamster/set/group_by_spec.rbc +1276 -0
  116. data/spec/hamster/set/head_spec.rbc +659 -0
  117. data/spec/hamster/set/include_spec.rb +6 -2
  118. data/spec/hamster/set/include_spec.rbc +668 -0
  119. data/spec/hamster/set/inspect_spec.rbc +593 -0
  120. data/spec/hamster/set/join_spec.rbc +1075 -0
  121. data/spec/hamster/set/map_spec.rbc +1302 -0
  122. data/spec/hamster/set/maximum_spec.rbc +1334 -0
  123. data/spec/hamster/set/minimum_spec.rbc +1334 -0
  124. data/spec/hamster/set/none_spec.rbc +1348 -0
  125. data/spec/hamster/set/one_spec.rbc +1708 -0
  126. data/spec/hamster/set/partition_spec.rbc +1348 -0
  127. data/spec/hamster/set/product_spec.rbc +581 -0
  128. data/spec/hamster/set/reduce_spec.rbc +1198 -0
  129. data/spec/hamster/set/remove_spec.rbc +1295 -0
  130. data/spec/hamster/set/size_spec.rbc +533 -0
  131. data/spec/hamster/set/sorting_spec.rbc +1228 -0
  132. data/spec/hamster/set/sum_spec.rbc +579 -0
  133. data/spec/hamster/set/to_a_spec.rbc +774 -0
  134. data/spec/hamster/set/to_list_spec.rbc +862 -0
  135. data/spec/hamster/set/to_set_spec.rbc +561 -0
  136. data/spec/hamster/set/uniq_spec.rbc +479 -0
  137. data/spec/hamster/stack/clear_spec.rb +1 -1
  138. data/spec/hamster/stack/clear_spec.rbc +635 -0
  139. data/spec/hamster/stack/construction_spec.rbc +872 -0
  140. data/spec/hamster/stack/copying_spec.rbc +561 -0
  141. data/spec/hamster/stack/empty_spec.rbc +577 -0
  142. data/spec/hamster/stack/eql_spec.rbc +1283 -0
  143. data/spec/hamster/stack/inspect_spec.rbc +592 -0
  144. data/spec/hamster/stack/pop_spec.rbc +1098 -0
  145. data/spec/hamster/stack/push_spec.rbc +853 -0
  146. data/spec/hamster/stack/size_spec.rbc +657 -0
  147. data/spec/hamster/stack/to_a_spec.rbc +801 -0
  148. data/spec/hamster/stack/to_list_spec.rbc +635 -0
  149. data/spec/hamster/stack/top_spec.rbc +683 -0
  150. data/spec/hamster/trie/remove_spec.rbc +40 -0
  151. data/spec/hamster/tuple/copying_spec.rbc +511 -0
  152. data/spec/hamster/tuple/first_spec.rbc +423 -0
  153. data/spec/hamster/tuple/inspect_spec.rbc +423 -0
  154. data/spec/hamster/tuple/last_spec.rbc +423 -0
  155. data/spec/hamster/tuple/to_a_spec.rbc +803 -0
  156. data/spec/hamster/tuple/to_ary_spec.rbc +908 -0
  157. data/spec/spec_helper.rbc +184 -0
  158. data/tasks/spec.rbc +202 -0
  159. metadata +151 -2
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ require 'hamster/list'
4
+
5
+ describe Hamster::List do
6
+
7
+ [:at, :[]].each do |method|
8
+
9
+ describe "##{method}" do
10
+
11
+ describe "on a really big list" do
12
+
13
+ before do
14
+ @list = Hamster.interval(0, STACK_OVERFLOW_DEPTH)
15
+ end
16
+
17
+ it "doesn't run out of stack" do
18
+ lambda { @list.send(method, STACK_OVERFLOW_DEPTH) }.should_not raise_error
19
+ end
20
+
21
+ end
22
+
23
+ [
24
+ [[], 10, nil],
25
+ [["A"], 10, nil],
26
+ [["A", "B", "C"], 0, "A"],
27
+ [["A", "B", "C"], 2, "C"],
28
+ ].each do |values, number, expected|
29
+
30
+ describe "#{values.inspect} with #{number}" do
31
+
32
+ before do
33
+ @original = Hamster.list(*values)
34
+ @result = @original.send(method, number)
35
+ end
36
+
37
+ it "returns #{expected.inspect}" do
38
+ @result.should == expected
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+
45
+ end
46
+
47
+ end
48
+
49
+ end
@@ -0,0 +1,1804 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 59
13
+ 5
14
+ 42
15
+ 0
16
+ 1
17
+ 42
18
+ 0
19
+ 2
20
+ 62
21
+ 45
22
+ 3
23
+ 46
24
+ 4
25
+ 1
26
+ 7
27
+ 5
28
+ 61
29
+ 78
30
+ 6
31
+ 46
32
+ 7
33
+ 1
34
+ 44
35
+ 46
36
+ 8
37
+ 1
38
+ 14
39
+ 5
40
+ 7
41
+ 9
42
+ 61
43
+ 44
44
+ 46
45
+ 8
46
+ 1
47
+ 14
48
+ 5
49
+ 7
50
+ 10
51
+ 61
52
+ 44
53
+ 46
54
+ 8
55
+ 1
56
+ 14
57
+ 5
58
+ 42
59
+ 11
60
+ 12
61
+ 40
62
+ 13
63
+ 53
64
+ 14
65
+ 44
66
+ 47
67
+ 15
68
+ 1
69
+ 14
70
+ 2
71
+ 11
72
+ I
73
+ 4
74
+ I
75
+ 0
76
+ I
77
+ 0
78
+ I
79
+ 0
80
+ n
81
+ p
82
+ 16
83
+ x
84
+ 4
85
+ File
86
+ n
87
+ n
88
+ x
89
+ 11
90
+ active_path
91
+ x
92
+ 7
93
+ dirname
94
+ s
95
+ 18
96
+ /../../spec_helper
97
+ x
98
+ 1
99
+ +
100
+ x
101
+ 11
102
+ expand_path
103
+ x
104
+ 7
105
+ require
106
+ s
107
+ 13
108
+ hamster/tuple
109
+ s
110
+ 12
111
+ hamster/list
112
+ x
113
+ 7
114
+ Hamster
115
+ n
116
+ x
117
+ 4
118
+ List
119
+ M
120
+ 1
121
+ n
122
+ n
123
+ x
124
+ 9
125
+ __block__
126
+ i
127
+ 11
128
+ 5
129
+ 7
130
+ 0
131
+ 61
132
+ 53
133
+ 1
134
+ 44
135
+ 47
136
+ 2
137
+ 1
138
+ 11
139
+ I
140
+ 4
141
+ I
142
+ 0
143
+ I
144
+ 0
145
+ I
146
+ 0
147
+ I
148
+ -2
149
+ p
150
+ 3
151
+ s
152
+ 6
153
+ #break
154
+ M
155
+ 1
156
+ n
157
+ n
158
+ x
159
+ 9
160
+ __block__
161
+ i
162
+ 131
163
+ 5
164
+ 7
165
+ 0
166
+ 61
167
+ 53
168
+ 1
169
+ 44
170
+ 47
171
+ 2
172
+ 1
173
+ 14
174
+ 32
175
+ 0
176
+ 32
177
+ 0
178
+ 32
179
+ 0
180
+ 32
181
+ 3
182
+ 76
183
+ 32
184
+ 1
185
+ 76
186
+ 32
187
+ 1
188
+ 32
189
+ 0
190
+ 32
191
+ 3
192
+ 76
193
+ 77
194
+ 32
195
+ 2
196
+ 76
197
+ 77
198
+ 32
199
+ 2
200
+ 32
201
+ 0
202
+ 32
203
+ 3
204
+ 76
205
+ 77
206
+ 4
207
+ 3
208
+ 32
209
+ 3
210
+ 76
211
+ 77
212
+ 32
213
+ 2
214
+ 4
215
+ 3
216
+ 32
217
+ 1
218
+ 32
219
+ 3
220
+ 76
221
+ 77
222
+ 4
223
+ 3
224
+ 4
225
+ 4
226
+ 32
227
+ 4
228
+ 76
229
+ 77
230
+ 32
231
+ 2
232
+ 4
233
+ 3
234
+ 4
235
+ 4
236
+ 32
237
+ 2
238
+ 32
239
+ 3
240
+ 77
241
+ 4
242
+ 3
243
+ 4
244
+ 4
245
+ 32
246
+ 3
247
+ 77
248
+ 32
249
+ 1
250
+ 4
251
+ 3
252
+ 4
253
+ 4
254
+ 32
255
+ 2
256
+ 32
257
+ 3
258
+ 4
259
+ 3
260
+ 4
261
+ 4
262
+ 32
263
+ 2
264
+ 32
265
+ 0
266
+ 4
267
+ 3
268
+ 4
269
+ 4
270
+ 32
271
+ 2
272
+ 32
273
+ 3
274
+ 4
275
+ 4
276
+ 32
277
+ 1
278
+ 32
279
+ 0
280
+ 4
281
+ 4
282
+ 32
283
+ 1
284
+ 32
285
+ 3
286
+ 32
287
+ 8
288
+ 53
289
+ 3
290
+ 47
291
+ 4
292
+ 0
293
+ 11
294
+ I
295
+ b
296
+ I
297
+ 0
298
+ I
299
+ 0
300
+ I
301
+ 0
302
+ I
303
+ -2
304
+ p
305
+ 5
306
+ s
307
+ 7
308
+ is lazy
309
+ M
310
+ 1
311
+ n
312
+ n
313
+ x
314
+ 9
315
+ __block__
316
+ i
317
+ 15
318
+ 5
319
+ 53
320
+ 0
321
+ 44
322
+ 47
323
+ 1
324
+ 0
325
+ 5
326
+ 44
327
+ 45
328
+ 2
329
+ 46
330
+ 3
331
+ 1
332
+ 11
333
+ I
334
+ 3
335
+ I
336
+ 0
337
+ I
338
+ 0
339
+ I
340
+ 0
341
+ I
342
+ -2
343
+ p
344
+ 4
345
+ M
346
+ 1
347
+ n
348
+ n
349
+ x
350
+ 9
351
+ __block__
352
+ i
353
+ 14
354
+ 42
355
+ 0
356
+ 1
357
+ 53
358
+ 2
359
+ 47
360
+ 3
361
+ 0
362
+ 53
363
+ 4
364
+ 47
365
+ 5
366
+ 0
367
+ 11
368
+ I
369
+ 3
370
+ I
371
+ 0
372
+ I
373
+ 0
374
+ I
375
+ 0
376
+ I
377
+ -2
378
+ p
379
+ 6
380
+ x
381
+ 7
382
+ Hamster
383
+ n
384
+ M
385
+ 1
386
+ n
387
+ n
388
+ x
389
+ 9
390
+ __block__
391
+ i
392
+ 5
393
+ 5
394
+ 44
395
+ 45
396
+ 0
397
+ 11
398
+ I
399
+ 2
400
+ I
401
+ 0
402
+ I
403
+ 0
404
+ I
405
+ 0
406
+ I
407
+ -2
408
+ p
409
+ 1
410
+ x
411
+ 4
412
+ fail
413
+ p
414
+ 3
415
+ I
416
+ 0
417
+ I
418
+ b
419
+ I
420
+ 5
421
+ x
422
+ 33
423
+ ./spec/hamster/list/break_spec.rb
424
+ p
425
+ 0
426
+ x
427
+ 6
428
+ stream
429
+ M
430
+ 1
431
+ n
432
+ n
433
+ x
434
+ 9
435
+ __block__
436
+ i
437
+ 6
438
+ 54
439
+ 17
440
+ 0
441
+ 14
442
+ 3
443
+ 11
444
+ I
445
+ 3
446
+ I
447
+ 1
448
+ I
449
+ 1
450
+ I
451
+ 1
452
+ I
453
+ -1
454
+ p
455
+ 0
456
+ p
457
+ 3
458
+ I
459
+ 0
460
+ I
461
+ b
462
+ I
463
+ 6
464
+ x
465
+ 33
466
+ ./spec/hamster/list/break_spec.rb
467
+ p
468
+ 1
469
+ x
470
+ 4
471
+ item
472
+ x
473
+ 5
474
+ break
475
+ p
476
+ 3
477
+ I
478
+ 0
479
+ I
480
+ b
481
+ I
482
+ e
483
+ x
484
+ 33
485
+ ./spec/hamster/list/break_spec.rb
486
+ p
487
+ 0
488
+ x
489
+ 6
490
+ lambda
491
+ x
492
+ 11
493
+ raise_error
494
+ x
495
+ 10
496
+ should_not
497
+ p
498
+ 5
499
+ I
500
+ 0
501
+ I
502
+ a
503
+ I
504
+ 0
505
+ I
506
+ b
507
+ I
508
+ f
509
+ x
510
+ 33
511
+ ./spec/hamster/list/break_spec.rb
512
+ p
513
+ 0
514
+ x
515
+ 2
516
+ it
517
+ M
518
+ 1
519
+ n
520
+ n
521
+ x
522
+ 9
523
+ __block__
524
+ i
525
+ 34
526
+ 55
527
+ 33
528
+ 34
529
+ 17
530
+ 0
531
+ 14
532
+ 34
533
+ 17
534
+ 1
535
+ 14
536
+ 34
537
+ 17
538
+ 2
539
+ 14
540
+ 14
541
+ 5
542
+ 7
543
+ 0
544
+ 18
545
+ 0
546
+ 45
547
+ 1
548
+ 44
549
+ 45
550
+ 2
551
+ 60
552
+ 2
553
+ 53
554
+ 3
555
+ 44
556
+ 47
557
+ 4
558
+ 1
559
+ 11
560
+ I
561
+ 7
562
+ I
563
+ 3
564
+ I
565
+ 3
566
+ I
567
+ 3
568
+ I
569
+ -1
570
+ p
571
+ 5
572
+ s
573
+ 3
574
+ on
575
+ x
576
+ 7
577
+ inspect
578
+ x
579
+ 4
580
+ to_s
581
+ M
582
+ 1
583
+ n
584
+ n
585
+ x
586
+ 9
587
+ __block__
588
+ i
589
+ 30
590
+ 5
591
+ 53
592
+ 0
593
+ 44
594
+ 47
595
+ 1
596
+ 0
597
+ 14
598
+ 5
599
+ 7
600
+ 2
601
+ 61
602
+ 53
603
+ 3
604
+ 44
605
+ 47
606
+ 4
607
+ 1
608
+ 14
609
+ 5
610
+ 7
611
+ 5
612
+ 61
613
+ 53
614
+ 6
615
+ 44
616
+ 47
617
+ 4
618
+ 1
619
+ 11
620
+ I
621
+ 4
622
+ I
623
+ 0
624
+ I
625
+ 0
626
+ I
627
+ 0
628
+ I
629
+ -2
630
+ p
631
+ 7
632
+ M
633
+ 1
634
+ n
635
+ n
636
+ x
637
+ 9
638
+ __block__
639
+ i
640
+ 14
641
+ 42
642
+ 0
643
+ 1
644
+ 19
645
+ 2
646
+ 0
647
+ 33
648
+ 1
649
+ 48
650
+ 2
651
+ 0
652
+ 35
653
+ 3
654
+ 11
655
+ I
656
+ 4
657
+ I
658
+ 0
659
+ I
660
+ 0
661
+ I
662
+ 0
663
+ I
664
+ -2
665
+ p
666
+ 4
667
+ x
668
+ 7
669
+ Hamster
670
+ n
671
+ x
672
+ 4
673
+ list
674
+ x
675
+ 9
676
+ @original
677
+ p
678
+ 5
679
+ I
680
+ 0
681
+ I
682
+ 1b
683
+ I
684
+ 0
685
+ I
686
+ 1c
687
+ I
688
+ e
689
+ x
690
+ 33
691
+ ./spec/hamster/list/break_spec.rb
692
+ p
693
+ 0
694
+ x
695
+ 6
696
+ before
697
+ s
698
+ 12
699
+ with a block
700
+ M
701
+ 1
702
+ n
703
+ n
704
+ x
705
+ 9
706
+ __block__
707
+ i
708
+ 52
709
+ 5
710
+ 53
711
+ 0
712
+ 44
713
+ 47
714
+ 1
715
+ 0
716
+ 14
717
+ 5
718
+ 7
719
+ 2
720
+ 61
721
+ 53
722
+ 3
723
+ 44
724
+ 47
725
+ 4
726
+ 1
727
+ 14
728
+ 5
729
+ 7
730
+ 5
731
+ 61
732
+ 53
733
+ 6
734
+ 44
735
+ 47
736
+ 4
737
+ 1
738
+ 14
739
+ 5
740
+ 7
741
+ 7
742
+ 61
743
+ 53
744
+ 8
745
+ 44
746
+ 47
747
+ 4
748
+ 1
749
+ 14
750
+ 5
751
+ 7
752
+ 9
753
+ 61
754
+ 53
755
+ 10
756
+ 44
757
+ 47
758
+ 4
759
+ 1
760
+ 11
761
+ I
762
+ 4
763
+ I
764
+ 0
765
+ I
766
+ 0
767
+ I
768
+ 0
769
+ I
770
+ -2
771
+ p
772
+ 11
773
+ M
774
+ 1
775
+ n
776
+ n
777
+ x
778
+ 9
779
+ __block__
780
+ i
781
+ 24
782
+ 36
783
+ 0
784
+ 53
785
+ 1
786
+ 47
787
+ 2
788
+ 0
789
+ 35
790
+ 3
791
+ 14
792
+ 36
793
+ 3
794
+ 45
795
+ 4
796
+ 35
797
+ 5
798
+ 14
799
+ 36
800
+ 3
801
+ 45
802
+ 6
803
+ 35
804
+ 7
805
+ 11
806
+ I
807
+ 3
808
+ I
809
+ 0
810
+ I
811
+ 0
812
+ I
813
+ 0
814
+ I
815
+ -2
816
+ p
817
+ 8
818
+ x
819
+ 9
820
+ @original
821
+ M
822
+ 1
823
+ n
824
+ n
825
+ x
826
+ 9
827
+ __block__
828
+ i
829
+ 10
830
+ 54
831
+ 17
832
+ 0
833
+ 14
834
+ 18
835
+ 0
836
+ 77
837
+ 82
838
+ 0
839
+ 11
840
+ I
841
+ 4
842
+ I
843
+ 1
844
+ I
845
+ 1
846
+ I
847
+ 1
848
+ I
849
+ -1
850
+ p
851
+ 1
852
+ x
853
+ 1
854
+ >
855
+ p
856
+ 3
857
+ I
858
+ 0
859
+ I
860
+ 22
861
+ I
862
+ a
863
+ x
864
+ 33
865
+ ./spec/hamster/list/break_spec.rb
866
+ p
867
+ 1
868
+ x
869
+ 4
870
+ item
871
+ x
872
+ 5
873
+ break
874
+ x
875
+ 7
876
+ @result
877
+ x
878
+ 5
879
+ first
880
+ x
881
+ 7
882
+ @prefix
883
+ x
884
+ 4
885
+ last
886
+ x
887
+ 10
888
+ @remainder
889
+ p
890
+ 9
891
+ I
892
+ 0
893
+ I
894
+ 21
895
+ I
896
+ 0
897
+ I
898
+ 22
899
+ I
900
+ a
901
+ I
902
+ 23
903
+ I
904
+ 11
905
+ I
906
+ 24
907
+ I
908
+ 18
909
+ x
910
+ 33
911
+ ./spec/hamster/list/break_spec.rb
912
+ p
913
+ 0
914
+ x
915
+ 6
916
+ before
917
+ s
918
+ 22
919
+ preserves the original
920
+ M
921
+ 1
922
+ n
923
+ n
924
+ x
925
+ 9
926
+ __block__
927
+ i
928
+ 18
929
+ 36
930
+ 0
931
+ 45
932
+ 1
933
+ 42
934
+ 2
935
+ 3
936
+ 19
937
+ 3
938
+ 0
939
+ 33
940
+ 1
941
+ 48
942
+ 4
943
+ 0
944
+ 80
945
+ 5
946
+ 11
947
+ I
948
+ 5
949
+ I
950
+ 0
951
+ I
952
+ 0
953
+ I
954
+ 0
955
+ I
956
+ -2
957
+ p
958
+ 6
959
+ x
960
+ 9
961
+ @original
962
+ x
963
+ 6
964
+ should
965
+ x
966
+ 7
967
+ Hamster
968
+ n
969
+ x
970
+ 4
971
+ list
972
+ x
973
+ 2
974
+ ==
975
+ p
976
+ 5
977
+ I
978
+ 0
979
+ I
980
+ 27
981
+ I
982
+ 0
983
+ I
984
+ 28
985
+ I
986
+ 12
987
+ x
988
+ 33
989
+ ./spec/hamster/list/break_spec.rb
990
+ p
991
+ 0
992
+ x
993
+ 2
994
+ it
995
+ s
996
+ 30
997
+ returns a tuple with two items
998
+ M
999
+ 1
1000
+ n
1001
+ n
1002
+ x
1003
+ 9
1004
+ __block__
1005
+ i
1006
+ 16
1007
+ 36
1008
+ 0
1009
+ 42
1010
+ 1
1011
+ 2
1012
+ 40
1013
+ 3
1014
+ 46
1015
+ 4
1016
+ 1
1017
+ 45
1018
+ 5
1019
+ 2
1020
+ 80
1021
+ 6
1022
+ 11
1023
+ I
1024
+ 3
1025
+ I
1026
+ 0
1027
+ I
1028
+ 0
1029
+ I
1030
+ 0
1031
+ I
1032
+ -2
1033
+ p
1034
+ 7
1035
+ x
1036
+ 7
1037
+ @result
1038
+ x
1039
+ 7
1040
+ Hamster
1041
+ n
1042
+ x
1043
+ 5
1044
+ Tuple
1045
+ x
1046
+ 5
1047
+ is_a?
1048
+ x
1049
+ 6
1050
+ should
1051
+ x
1052
+ 2
1053
+ ==
1054
+ p
1055
+ 5
1056
+ I
1057
+ 0
1058
+ I
1059
+ 2b
1060
+ I
1061
+ 0
1062
+ I
1063
+ 2c
1064
+ I
1065
+ 10
1066
+ x
1067
+ 33
1068
+ ./spec/hamster/list/break_spec.rb
1069
+ p
1070
+ 0
1071
+ s
1072
+ 31
1073
+ correctly identifies the prefix
1074
+ M
1075
+ 1
1076
+ n
1077
+ n
1078
+ x
1079
+ 9
1080
+ __block__
1081
+ i
1082
+ 18
1083
+ 36
1084
+ 0
1085
+ 45
1086
+ 1
1087
+ 42
1088
+ 2
1089
+ 3
1090
+ 19
1091
+ 3
1092
+ 1
1093
+ 33
1094
+ 1
1095
+ 48
1096
+ 4
1097
+ 0
1098
+ 80
1099
+ 5
1100
+ 11
1101
+ I
1102
+ 5
1103
+ I
1104
+ 0
1105
+ I
1106
+ 0
1107
+ I
1108
+ 0
1109
+ I
1110
+ -2
1111
+ p
1112
+ 6
1113
+ x
1114
+ 7
1115
+ @prefix
1116
+ x
1117
+ 6
1118
+ should
1119
+ x
1120
+ 7
1121
+ Hamster
1122
+ n
1123
+ x
1124
+ 4
1125
+ list
1126
+ x
1127
+ 2
1128
+ ==
1129
+ p
1130
+ 5
1131
+ I
1132
+ 0
1133
+ I
1134
+ 2f
1135
+ I
1136
+ 0
1137
+ I
1138
+ 30
1139
+ I
1140
+ 12
1141
+ x
1142
+ 33
1143
+ ./spec/hamster/list/break_spec.rb
1144
+ p
1145
+ 0
1146
+ s
1147
+ 34
1148
+ correctly identifies the remainder
1149
+ M
1150
+ 1
1151
+ n
1152
+ n
1153
+ x
1154
+ 9
1155
+ __block__
1156
+ i
1157
+ 18
1158
+ 36
1159
+ 0
1160
+ 45
1161
+ 1
1162
+ 42
1163
+ 2
1164
+ 3
1165
+ 19
1166
+ 3
1167
+ 2
1168
+ 33
1169
+ 1
1170
+ 48
1171
+ 4
1172
+ 0
1173
+ 80
1174
+ 5
1175
+ 11
1176
+ I
1177
+ 5
1178
+ I
1179
+ 0
1180
+ I
1181
+ 0
1182
+ I
1183
+ 0
1184
+ I
1185
+ -2
1186
+ p
1187
+ 6
1188
+ x
1189
+ 10
1190
+ @remainder
1191
+ x
1192
+ 6
1193
+ should
1194
+ x
1195
+ 7
1196
+ Hamster
1197
+ n
1198
+ x
1199
+ 4
1200
+ list
1201
+ x
1202
+ 2
1203
+ ==
1204
+ p
1205
+ 5
1206
+ I
1207
+ 0
1208
+ I
1209
+ 33
1210
+ I
1211
+ 0
1212
+ I
1213
+ 34
1214
+ I
1215
+ 12
1216
+ x
1217
+ 33
1218
+ ./spec/hamster/list/break_spec.rb
1219
+ p
1220
+ 0
1221
+ p
1222
+ 13
1223
+ I
1224
+ 0
1225
+ I
1226
+ 1f
1227
+ I
1228
+ 0
1229
+ I
1230
+ 21
1231
+ I
1232
+ 8
1233
+ I
1234
+ 27
1235
+ I
1236
+ 13
1237
+ I
1238
+ 2b
1239
+ I
1240
+ 1e
1241
+ I
1242
+ 2f
1243
+ I
1244
+ 29
1245
+ I
1246
+ 33
1247
+ I
1248
+ 34
1249
+ x
1250
+ 33
1251
+ ./spec/hamster/list/break_spec.rb
1252
+ p
1253
+ 0
1254
+ x
1255
+ 8
1256
+ describe
1257
+ s
1258
+ 15
1259
+ without a block
1260
+ M
1261
+ 1
1262
+ n
1263
+ n
1264
+ x
1265
+ 9
1266
+ __block__
1267
+ i
1268
+ 41
1269
+ 5
1270
+ 53
1271
+ 0
1272
+ 44
1273
+ 47
1274
+ 1
1275
+ 0
1276
+ 14
1277
+ 5
1278
+ 7
1279
+ 2
1280
+ 61
1281
+ 53
1282
+ 3
1283
+ 44
1284
+ 47
1285
+ 4
1286
+ 1
1287
+ 14
1288
+ 5
1289
+ 7
1290
+ 5
1291
+ 61
1292
+ 53
1293
+ 6
1294
+ 44
1295
+ 47
1296
+ 4
1297
+ 1
1298
+ 14
1299
+ 5
1300
+ 7
1301
+ 7
1302
+ 61
1303
+ 53
1304
+ 8
1305
+ 44
1306
+ 47
1307
+ 4
1308
+ 1
1309
+ 11
1310
+ I
1311
+ 4
1312
+ I
1313
+ 0
1314
+ I
1315
+ 0
1316
+ I
1317
+ 0
1318
+ I
1319
+ -2
1320
+ p
1321
+ 9
1322
+ M
1323
+ 1
1324
+ n
1325
+ n
1326
+ x
1327
+ 9
1328
+ __block__
1329
+ i
1330
+ 21
1331
+ 36
1332
+ 0
1333
+ 45
1334
+ 1
1335
+ 35
1336
+ 2
1337
+ 14
1338
+ 36
1339
+ 2
1340
+ 45
1341
+ 3
1342
+ 35
1343
+ 4
1344
+ 14
1345
+ 36
1346
+ 2
1347
+ 45
1348
+ 5
1349
+ 35
1350
+ 6
1351
+ 11
1352
+ I
1353
+ 2
1354
+ I
1355
+ 0
1356
+ I
1357
+ 0
1358
+ I
1359
+ 0
1360
+ I
1361
+ -2
1362
+ p
1363
+ 7
1364
+ x
1365
+ 9
1366
+ @original
1367
+ x
1368
+ 5
1369
+ break
1370
+ x
1371
+ 7
1372
+ @result
1373
+ x
1374
+ 5
1375
+ first
1376
+ x
1377
+ 7
1378
+ @prefix
1379
+ x
1380
+ 4
1381
+ last
1382
+ x
1383
+ 10
1384
+ @remainder
1385
+ p
1386
+ 9
1387
+ I
1388
+ 0
1389
+ I
1390
+ 3b
1391
+ I
1392
+ 0
1393
+ I
1394
+ 3c
1395
+ I
1396
+ 7
1397
+ I
1398
+ 3d
1399
+ I
1400
+ e
1401
+ I
1402
+ 3e
1403
+ I
1404
+ 15
1405
+ x
1406
+ 33
1407
+ ./spec/hamster/list/break_spec.rb
1408
+ p
1409
+ 0
1410
+ x
1411
+ 6
1412
+ before
1413
+ s
1414
+ 30
1415
+ returns a tuple with two items
1416
+ M
1417
+ 1
1418
+ n
1419
+ n
1420
+ x
1421
+ 9
1422
+ __block__
1423
+ i
1424
+ 16
1425
+ 36
1426
+ 0
1427
+ 42
1428
+ 1
1429
+ 2
1430
+ 40
1431
+ 3
1432
+ 46
1433
+ 4
1434
+ 1
1435
+ 45
1436
+ 5
1437
+ 2
1438
+ 80
1439
+ 6
1440
+ 11
1441
+ I
1442
+ 3
1443
+ I
1444
+ 0
1445
+ I
1446
+ 0
1447
+ I
1448
+ 0
1449
+ I
1450
+ -2
1451
+ p
1452
+ 7
1453
+ x
1454
+ 7
1455
+ @result
1456
+ x
1457
+ 7
1458
+ Hamster
1459
+ n
1460
+ x
1461
+ 5
1462
+ Tuple
1463
+ x
1464
+ 5
1465
+ is_a?
1466
+ x
1467
+ 6
1468
+ should
1469
+ x
1470
+ 2
1471
+ ==
1472
+ p
1473
+ 5
1474
+ I
1475
+ 0
1476
+ I
1477
+ 41
1478
+ I
1479
+ 0
1480
+ I
1481
+ 42
1482
+ I
1483
+ 10
1484
+ x
1485
+ 33
1486
+ ./spec/hamster/list/break_spec.rb
1487
+ p
1488
+ 0
1489
+ x
1490
+ 2
1491
+ it
1492
+ s
1493
+ 26
1494
+ returns self as the prefix
1495
+ M
1496
+ 1
1497
+ n
1498
+ n
1499
+ x
1500
+ 9
1501
+ __block__
1502
+ i
1503
+ 13
1504
+ 36
1505
+ 0
1506
+ 5
1507
+ 36
1508
+ 1
1509
+ 44
1510
+ 46
1511
+ 2
1512
+ 1
1513
+ 46
1514
+ 3
1515
+ 1
1516
+ 11
1517
+ I
1518
+ 4
1519
+ I
1520
+ 0
1521
+ I
1522
+ 0
1523
+ I
1524
+ 0
1525
+ I
1526
+ -2
1527
+ p
1528
+ 4
1529
+ x
1530
+ 7
1531
+ @prefix
1532
+ x
1533
+ 9
1534
+ @original
1535
+ x
1536
+ 5
1537
+ equal
1538
+ x
1539
+ 6
1540
+ should
1541
+ p
1542
+ 5
1543
+ I
1544
+ 0
1545
+ I
1546
+ 45
1547
+ I
1548
+ 0
1549
+ I
1550
+ 46
1551
+ I
1552
+ d
1553
+ x
1554
+ 33
1555
+ ./spec/hamster/list/break_spec.rb
1556
+ p
1557
+ 0
1558
+ s
1559
+ 26
1560
+ leaves the remainder empty
1561
+ M
1562
+ 1
1563
+ n
1564
+ n
1565
+ x
1566
+ 9
1567
+ __block__
1568
+ i
1569
+ 10
1570
+ 36
1571
+ 0
1572
+ 5
1573
+ 44
1574
+ 45
1575
+ 1
1576
+ 46
1577
+ 2
1578
+ 1
1579
+ 11
1580
+ I
1581
+ 3
1582
+ I
1583
+ 0
1584
+ I
1585
+ 0
1586
+ I
1587
+ 0
1588
+ I
1589
+ -2
1590
+ p
1591
+ 3
1592
+ x
1593
+ 10
1594
+ @remainder
1595
+ x
1596
+ 8
1597
+ be_empty
1598
+ x
1599
+ 6
1600
+ should
1601
+ p
1602
+ 5
1603
+ I
1604
+ 0
1605
+ I
1606
+ 49
1607
+ I
1608
+ 0
1609
+ I
1610
+ 4a
1611
+ I
1612
+ a
1613
+ x
1614
+ 33
1615
+ ./spec/hamster/list/break_spec.rb
1616
+ p
1617
+ 0
1618
+ p
1619
+ 11
1620
+ I
1621
+ 0
1622
+ I
1623
+ 39
1624
+ I
1625
+ 0
1626
+ I
1627
+ 3b
1628
+ I
1629
+ 8
1630
+ I
1631
+ 41
1632
+ I
1633
+ 13
1634
+ I
1635
+ 45
1636
+ I
1637
+ 1e
1638
+ I
1639
+ 49
1640
+ I
1641
+ 29
1642
+ x
1643
+ 33
1644
+ ./spec/hamster/list/break_spec.rb
1645
+ p
1646
+ 0
1647
+ p
1648
+ 9
1649
+ I
1650
+ 0
1651
+ I
1652
+ 19
1653
+ I
1654
+ 0
1655
+ I
1656
+ 1b
1657
+ I
1658
+ 8
1659
+ I
1660
+ 1f
1661
+ I
1662
+ 13
1663
+ I
1664
+ 39
1665
+ I
1666
+ 1e
1667
+ x
1668
+ 33
1669
+ ./spec/hamster/list/break_spec.rb
1670
+ p
1671
+ 0
1672
+ x
1673
+ 8
1674
+ describe
1675
+ p
1676
+ 7
1677
+ I
1678
+ 0
1679
+ I
1680
+ f
1681
+ I
1682
+ 3
1683
+ I
1684
+ 17
1685
+ I
1686
+ f
1687
+ I
1688
+ 19
1689
+ I
1690
+ 22
1691
+ x
1692
+ 33
1693
+ ./spec/hamster/list/break_spec.rb
1694
+ p
1695
+ 3
1696
+ x
1697
+ 6
1698
+ values
1699
+ x
1700
+ 15
1701
+ expected_prefix
1702
+ x
1703
+ 18
1704
+ expected_remainder
1705
+ x
1706
+ 4
1707
+ each
1708
+ p
1709
+ 21
1710
+ I
1711
+ 0
1712
+ I
1713
+ 8
1714
+ I
1715
+ 0
1716
+ I
1717
+ a
1718
+ I
1719
+ b
1720
+ I
1721
+ f
1722
+ I
1723
+ 13
1724
+ I
1725
+ 10
1726
+ I
1727
+ 1d
1728
+ I
1729
+ 11
1730
+ I
1731
+ 29
1732
+ I
1733
+ 12
1734
+ I
1735
+ 39
1736
+ I
1737
+ 13
1738
+ I
1739
+ 4d
1740
+ I
1741
+ 14
1742
+ I
1743
+ 5f
1744
+ I
1745
+ 15
1746
+ I
1747
+ 6f
1748
+ I
1749
+ 16
1750
+ I
1751
+ 83
1752
+ x
1753
+ 33
1754
+ ./spec/hamster/list/break_spec.rb
1755
+ p
1756
+ 0
1757
+ x
1758
+ 8
1759
+ describe
1760
+ p
1761
+ 5
1762
+ I
1763
+ 0
1764
+ I
1765
+ 6
1766
+ I
1767
+ 0
1768
+ I
1769
+ 8
1770
+ I
1771
+ b
1772
+ x
1773
+ 33
1774
+ ./spec/hamster/list/break_spec.rb
1775
+ p
1776
+ 0
1777
+ x
1778
+ 8
1779
+ describe
1780
+ p
1781
+ 9
1782
+ I
1783
+ 0
1784
+ I
1785
+ 1
1786
+ I
1787
+ 1a
1788
+ I
1789
+ 3
1790
+ I
1791
+ 23
1792
+ I
1793
+ 4
1794
+ I
1795
+ 2c
1796
+ I
1797
+ 6
1798
+ I
1799
+ 3b
1800
+ x
1801
+ 33
1802
+ ./spec/hamster/list/break_spec.rb
1803
+ p
1804
+ 0