0s autopkgtest [07:09:46]: starting date and time: 2026-02-10 07:09:46+0000 0s autopkgtest [07:09:46]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [07:09:46]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.tk9bbnhc/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruby-concurrent --apt-upgrade ruby-hamster --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruby-concurrent/1.3.6-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-arm64-7.secgroup --name adt-resolute-arm64-ruby-hamster-20260210-070946-juju-7f2275-prod-proposed-migration-environment-15-528ce315-5404-467f-82c6-fcba6eedb90f --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-arm64-ruby-hamster-20260210-070946-juju-7f2275-prod-proposed-migration-environment-15-528ce315-5404-467f-82c6-fcba6eedb90f from image adt/ubuntu-resolute-arm64-server-20260209.img (UUID 793037ca-75af-461b-82de-f8081300b2e3)... 93s autopkgtest [07:11:19]: testbed dpkg architecture: arm64 93s autopkgtest [07:11:19]: testbed apt version: 3.1.15 93s autopkgtest [07:11:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 93s autopkgtest [07:11:19]: testbed release detected to be: None 94s autopkgtest [07:11:20]: updating testbed package index (apt update) 94s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 94s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 94s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 94s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 94s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 97s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 97s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 97s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [263 kB] 97s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6288 B] 97s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 97s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1769 kB] 99s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [31.3 kB] 99s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [23.0 kB] 99s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [688 B] 101s Fetched 4153 kB in 5s (821 kB/s) 101s Reading package lists... 102s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 102s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 102s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 102s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 103s Reading package lists... 103s Reading package lists... 104s Building dependency tree... 104s Reading state information... 104s Calculating upgrade... 104s The following NEW packages will be installed: 104s gcc-16-base 104s The following packages will be upgraded: 104s cryptsetup-bin dracut-install iproute2 iptables libatomic1 libbrotli1 104s libcryptsetup12 libgcc-s1 libip4tc2 libip6tc2 libstdc++6 libxtables12 wget 104s 13 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 104s Need to get 3779 kB of archives. 104s After this operation, 218 kB of additional disk space will be used. 104s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-16-base arm64 16-20260208-1ubuntu1 [59.7 kB] 104s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-s1 arm64 16-20260208-1ubuntu1 [60.9 kB] 104s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 iptables arm64 1.8.11-2ubuntu3 [386 kB] 104s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libip4tc2 arm64 1.8.11-2ubuntu3 [24.3 kB] 104s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libip6tc2 arm64 1.8.11-2ubuntu3 [24.7 kB] 104s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libxtables12 arm64 1.8.11-2ubuntu3 [36.7 kB] 104s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 iproute2 arm64 6.18.0-1ubuntu1 [1171 kB] 106s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libatomic1 arm64 16-20260208-1ubuntu1 [11.1 kB] 106s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libcryptsetup12 arm64 2:2.8.0-1ubuntu3 [274 kB] 106s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++6 arm64 16-20260208-1ubuntu1 [768 kB] 107s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 wget arm64 1.25.0-2ubuntu4 [344 kB] 107s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cryptsetup-bin arm64 2:2.8.0-1ubuntu3 [227 kB] 107s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 dracut-install arm64 109-11ubuntu1 [45.3 kB] 107s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 libbrotli1 arm64 1.2.0-3 [346 kB] 107s dpkg-preconfigure: unable to re-open stdin: No such file or directory 107s Fetched 3779 kB in 2s (1563 kB/s) 107s Selecting previously unselected package gcc-16-base:arm64. 107s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 136597 files and directories currently installed.) 107s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_arm64.deb ... 107s Unpacking gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 107s Setting up gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 107s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 136602 files and directories currently installed.) 107s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_arm64.deb ... 107s Unpacking libgcc-s1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 107s Setting up libgcc-s1:arm64 (16-20260208-1ubuntu1) ... 108s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 136602 files and directories currently installed.) 108s Preparing to unpack .../00-iptables_1.8.11-2ubuntu3_arm64.deb ... 108s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 108s Preparing to unpack .../01-libip4tc2_1.8.11-2ubuntu3_arm64.deb ... 108s Unpacking libip4tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 108s Preparing to unpack .../02-libip6tc2_1.8.11-2ubuntu3_arm64.deb ... 108s Unpacking libip6tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 108s Preparing to unpack .../03-libxtables12_1.8.11-2ubuntu3_arm64.deb ... 108s Unpacking libxtables12:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 108s Preparing to unpack .../04-iproute2_6.18.0-1ubuntu1_arm64.deb ... 108s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 108s Preparing to unpack .../05-libatomic1_16-20260208-1ubuntu1_arm64.deb ... 108s Unpacking libatomic1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 109s Preparing to unpack .../06-libcryptsetup12_2%3a2.8.0-1ubuntu3_arm64.deb ... 109s Unpacking libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 109s Preparing to unpack .../07-libstdc++6_16-20260208-1ubuntu1_arm64.deb ... 109s Unpacking libstdc++6:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 109s Preparing to unpack .../08-wget_1.25.0-2ubuntu4_arm64.deb ... 109s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 109s Preparing to unpack .../09-cryptsetup-bin_2%3a2.8.0-1ubuntu3_arm64.deb ... 109s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 109s Preparing to unpack .../10-dracut-install_109-11ubuntu1_arm64.deb ... 109s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 109s Preparing to unpack .../11-libbrotli1_1.2.0-3_arm64.deb ... 109s Unpacking libbrotli1:arm64 (1.2.0-3) over (1.1.0-2build6) ... 109s Setting up libip4tc2:arm64 (1.8.11-2ubuntu3) ... 109s Setting up wget (1.25.0-2ubuntu4) ... 109s Setting up libip6tc2:arm64 (1.8.11-2ubuntu3) ... 109s Setting up libbrotli1:arm64 (1.2.0-3) ... 109s Setting up libatomic1:arm64 (16-20260208-1ubuntu1) ... 109s Setting up libxtables12:arm64 (1.8.11-2ubuntu3) ... 109s Setting up dracut-install (109-11ubuntu1) ... 109s Setting up libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) ... 109s Setting up libstdc++6:arm64 (16-20260208-1ubuntu1) ... 109s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 109s Setting up iptables (1.8.11-2ubuntu3) ... 109s Setting up iproute2 (6.18.0-1ubuntu1) ... 110s Processing triggers for man-db (2.13.1-1build1) ... 111s Processing triggers for install-info (7.2-5) ... 111s Processing triggers for libc-bin (2.42-2ubuntu4) ... 111s autopkgtest [07:11:37]: upgrading testbed (apt dist-upgrade and autopurge) 111s Reading package lists... 111s Building dependency tree... 111s Reading state information... 112s Calculating upgrade... 112s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 112s Reading package lists... 112s Building dependency tree... 112s Reading state information... 113s Solving dependencies... 113s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 115s autopkgtest [07:11:41]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 19:46:27 UTC 2026 116s autopkgtest [07:11:42]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-hamster 117s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-hamster 3.0.0-4 (dsc) [1465 B] 117s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-hamster 3.0.0-4 (tar) [129 kB] 117s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-hamster 3.0.0-4 (diff) [4880 B] 117s gpgv: Signature made Wed Jan 26 11:16:04 2022 UTC 117s gpgv: using EDDSA key 84CFFDC21520F88306EC29D152699AB63F9F2BC3 117s gpgv: Can't check signature: No public key 117s dpkg-source: warning: cannot verify inline signature for ./ruby-hamster_3.0.0-4.dsc: no acceptable signature found 117s autopkgtest [07:11:43]: testing package ruby-hamster version 3.0.0-4 118s autopkgtest [07:11:44]: build not needed 118s autopkgtest [07:11:44]: test gem2deb-test-runner: preparing testbed 118s Reading package lists... 118s Building dependency tree... 118s Reading state information... 119s Solving dependencies... 119s The following NEW packages will be installed: 119s gem2deb-test-runner libruby libruby3.3 pry rake ruby ruby-coderay 119s ruby-concurrent ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-hamster 119s ruby-method-source ruby-minitest ruby-net-telnet ruby-power-assert 119s ruby-rbtree ruby-rspec ruby-rspec-core ruby-rspec-expectations 119s ruby-rspec-mocks ruby-rspec-support ruby-ruby2-keywords ruby-rubygems 119s ruby-sorted-set ruby-test-unit ruby-webrick ruby-xmlrpc ruby3.3 119s rubygems-integration 119s 0 upgraded, 30 newly installed, 0 to remove and 0 not upgraded. 119s Need to get 7685 kB of archives. 119s After this operation, 42.8 MB of additional disk space will be used. 119s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 119s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 119s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 119s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 119s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 119s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 119s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 119s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby3.3 arm64 3.3.8-2ubuntu2 [5971 kB] 125s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby3.3 arm64 3.3.8-2ubuntu2 [59.1 kB] 125s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 125s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 125s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 125s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 125s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-minitest all 5.26.1-1 [49.3 kB] 125s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-power-assert all 3.0.1-1 [11.4 kB] 125s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-test-unit all 3.6.2-1 [67.0 kB] 125s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 gem2deb-test-runner arm64 2.2.5 [18.3 kB] 125s Get:18 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-coderay all 1.1.3-8build1 [78.4 kB] 125s Get:19 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-method-source all 1.1.0-1 [8502 B] 125s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 pry all 0.15.2-1 [122 kB] 125s Get:21 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent all 1.3.6-1 [284 kB] 125s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 126s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-hamster all 3.0.0-4 [43.0 kB] 126s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rbtree arm64 0.4.6-1build3 [23.6 kB] 126s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 126s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 126s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 126s Get:28 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 126s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 126s Get:30 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-sorted-set all 1.0.3-3 [4258 B] 126s Fetched 7685 kB in 7s (1150 kB/s) 126s Selecting previously unselected package rubygems-integration. 126s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 136605 files and directories currently installed.) 126s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 126s Unpacking rubygems-integration (1.19build1) ... 126s Selecting previously unselected package ruby-csv. 126s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 126s Unpacking ruby-csv (3.3.4-1) ... 126s Selecting previously unselected package ruby-did-you-mean. 126s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 126s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 126s Selecting previously unselected package ruby-net-telnet. 126s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 126s Unpacking ruby-net-telnet (0.2.0-1build1) ... 126s Selecting previously unselected package ruby-ruby2-keywords. 126s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 126s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 126s Selecting previously unselected package ruby-webrick. 126s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 126s Unpacking ruby-webrick (1.9.1-1build1) ... 126s Selecting previously unselected package ruby-xmlrpc. 126s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 126s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 126s Selecting previously unselected package libruby3.3:arm64. 126s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu2_arm64.deb ... 126s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu2) ... 127s Selecting previously unselected package ruby3.3. 127s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu2_arm64.deb ... 127s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 127s Selecting previously unselected package libruby:arm64. 127s Preparing to unpack .../09-libruby_1%3a3.3_arm64.deb ... 127s Unpacking libruby:arm64 (1:3.3) ... 127s Selecting previously unselected package ruby-rubygems. 127s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 127s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 127s Selecting previously unselected package ruby. 127s Preparing to unpack .../11-ruby_1%3a3.3_arm64.deb ... 127s Unpacking ruby (1:3.3) ... 127s Selecting previously unselected package rake. 127s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 127s Unpacking rake (13.2.1-1build1) ... 127s Selecting previously unselected package ruby-minitest. 127s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 127s Unpacking ruby-minitest (5.26.1-1) ... 127s Selecting previously unselected package ruby-power-assert. 127s Preparing to unpack .../14-ruby-power-assert_3.0.1-1_all.deb ... 127s Unpacking ruby-power-assert (3.0.1-1) ... 127s Selecting previously unselected package ruby-test-unit. 127s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 127s Unpacking ruby-test-unit (3.6.2-1) ... 127s Selecting previously unselected package gem2deb-test-runner. 127s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_arm64.deb ... 127s Unpacking gem2deb-test-runner (2.2.5) ... 127s Selecting previously unselected package ruby-coderay. 127s Preparing to unpack .../17-ruby-coderay_1.1.3-8build1_all.deb ... 127s Unpacking ruby-coderay (1.1.3-8build1) ... 127s Selecting previously unselected package ruby-method-source. 127s Preparing to unpack .../18-ruby-method-source_1.1.0-1_all.deb ... 127s Unpacking ruby-method-source (1.1.0-1) ... 127s Selecting previously unselected package pry. 127s Preparing to unpack .../19-pry_0.15.2-1_all.deb ... 127s Unpacking pry (0.15.2-1) ... 127s Selecting previously unselected package ruby-concurrent. 127s Preparing to unpack .../20-ruby-concurrent_1.3.6-1_all.deb ... 127s Unpacking ruby-concurrent (1.3.6-1) ... 127s Selecting previously unselected package ruby-diff-lcs. 127s Preparing to unpack .../21-ruby-diff-lcs_1.5.1-1_all.deb ... 127s Unpacking ruby-diff-lcs (1.5.1-1) ... 127s Selecting previously unselected package ruby-hamster. 127s Preparing to unpack .../22-ruby-hamster_3.0.0-4_all.deb ... 127s Unpacking ruby-hamster (3.0.0-4) ... 127s Selecting previously unselected package ruby-rbtree. 127s Preparing to unpack .../23-ruby-rbtree_0.4.6-1build3_arm64.deb ... 127s Unpacking ruby-rbtree (0.4.6-1build3) ... 127s Selecting previously unselected package ruby-rspec-support. 127s Preparing to unpack .../24-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 127s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 127s Selecting previously unselected package ruby-rspec-core. 127s Preparing to unpack .../25-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 127s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 127s Selecting previously unselected package ruby-rspec-expectations. 127s Preparing to unpack .../26-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 127s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 128s Selecting previously unselected package ruby-rspec-mocks. 128s Preparing to unpack .../27-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 128s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 128s Selecting previously unselected package ruby-rspec. 128s Preparing to unpack .../28-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 128s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 128s Selecting previously unselected package ruby-sorted-set. 128s Preparing to unpack .../29-ruby-sorted-set_1.0.3-3_all.deb ... 128s Unpacking ruby-sorted-set (1.0.3-3) ... 128s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 128s Setting up ruby-power-assert (3.0.1-1) ... 128s Setting up rubygems-integration (1.19build1) ... 128s Setting up ruby-concurrent (1.3.6-1) ... 128s Setting up ruby-minitest (5.26.1-1) ... 128s Setting up ruby-method-source (1.1.0-1) ... 128s Setting up ruby-hamster (3.0.0-4) ... 128s Setting up ruby-test-unit (3.6.2-1) ... 128s Setting up ruby-net-telnet (0.2.0-1build1) ... 128s Setting up ruby-csv (3.3.4-1) ... 128s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 128s Setting up ruby-webrick (1.9.1-1build1) ... 128s Setting up ruby-did-you-mean (1.6.3-2build1) ... 128s Setting up ruby-xmlrpc (0.3.3-2build1) ... 128s Setting up rake (13.2.1-1build1) ... 128s Setting up libruby3.3:arm64 (3.3.8-2ubuntu2) ... 128s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 128s Setting up libruby:arm64 (1:3.3) ... 128s Setting up ruby (1:3.3) ... 128s Setting up ruby-rbtree (0.4.6-1build3) ... 128s Setting up ruby-coderay (1.1.3-8build1) ... 128s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 128s Setting up pry (0.15.2-1) ... 128s Setting up ruby-diff-lcs (1.5.1-1) ... 128s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 128s Setting up ruby-sorted-set (1.0.3-3) ... 128s Setting up gem2deb-test-runner (2.2.5) ... 128s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 128s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 128s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 128s Processing triggers for libc-bin (2.42-2ubuntu4) ... 128s Processing triggers for man-db (2.13.1-1build1) ... 129s autopkgtest [07:11:55]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 129s autopkgtest [07:11:55]: test gem2deb-test-runner: [----------------------- 129s 129s ┌──────────────────────────────────────────────────────────────────────────────┐ 129s │ Checking Rubygems dependency resolution on ruby3.3 │ 129s └──────────────────────────────────────────────────────────────────────────────┘ 129s 129s RUBYLIB=. GEM_PATH= ruby3.3 -e gem\ \"hamster\" 129s mv lib ./.gem2deb.lib 129s mv ./.gem2deb.lib lib 129s 129s ┌──────────────────────────────────────────────────────────────────────────────┐ 129s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 129s └──────────────────────────────────────────────────────────────────────────────┘ 129s 129s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 129s mv lib ./.gem2deb.lib 129s /usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation 131s 131s Hamster::Associable 131s #update_in 131s with one level on existing key 131s Hash passes the value to the block 131s Vector passes the value to the block 131s Hash replaces the value with the result of the block 131s Vector replaces the value with the result of the block 131s Hash should preserve the original 131s Vector should preserve the original 131s with multi-level on existing keys 131s Hash passes the value to the block 131s Vector passes the value to the block 131s Hash replaces the value with the result of the block 131s Vector replaces the value with the result of the block 131s Hash should preserve the original 131s Vector should preserve the original 131s with multi-level creating sub-hashes when keys don't exist 131s Hash passes nil to the block 131s Vector passes nil to the block 131s Hash creates subhashes on the way to set the value 131s Vector creates subhashes on the way to set the value 131s Hash with multi-level including Vector with existing keys 131s passes the value to the block 131s replaces the value with the result of the block 131s should preserve the original 131s Vector with multi-level including Hash with existing keys 131s passes the value to the block 131s replaces the value with the result of the block 131s should preserve the original 131s with empty key_path 131s Hash raises ArguemntError 131s Vector raises ArguemntError 131s 131s Array 131s #to_list 131s returns an equivalent hamster list 131s 131s Enumerable 131s #to_list 131s returns an equivalent list 131s works on Ranges 131s 131s IO 131s #to_list 131s with a File 131s returns an equivalent list 131s with a StringIO 131s returns an equivalent list 131s 131s Hamster::Deque 131s #clear 131s on [] 131s preserves the original 131s returns an empty deque 131s on ["A"] 131s preserves the original 131s returns an empty deque 131s on ["A", "B", "C"] 131s preserves the original 131s returns an empty deque 131s from a subclass 131s returns an instance of the subclass 131s 131s Hamster::Deque 131s .[] 131s with no arguments 131s always returns the same instance 131s returns an empty, frozen deque 131s with a number of items 131s always returns a different instance 131s is the same as repeatedly using #endeque 131s 131s Hamster::Deque 131s on [] 131s returns self 131s on ["A"] 131s returns self 131s on ["A", "B", "C"] 131s returns self 131s on [] 131s returns self 131s on ["A"] 131s returns self 131s on ["A", "B", "C"] 131s returns self 131s 131s Hamster::Deque 131s #dequeue 131s on [] 131s preserves the original 131s returns [] 131s on ["A"] 131s preserves the original 131s returns [] 131s on ["A", "B", "C"] 131s preserves the original 131s returns ["B", "C"] 131s on empty subclass 131s returns emtpy object of same class 131s #shift 131s on [] 131s preserves the original 131s returns [] 131s on ["A"] 131s preserves the original 131s returns [] 131s on ["A", "B", "C"] 131s preserves the original 131s returns ["B", "C"] 131s on empty subclass 131s returns emtpy object of same class 131s 131s Hamster::Deque 131s #empty? 131s on [] 131s returns true 131s on ["A"] 131s returns false 131s on ["A", "B", "C"] 131s returns false 131s after dedequeing an item from ["A", "B", "C"] 131s returns false 131s .empty 131s returns the canonical empty deque 131s from a subclass 131s returns an empty instance of the subclass 131s 131s Hamster::Deque 131s #enqueue 131s on [] with "A" 131s preserves the original 131s returns ["A"] 131s on ["A"] with "B" 131s preserves the original 131s returns ["A", "B"] 131s on ["A"] with "A" 131s preserves the original 131s returns ["A", "A"] 131s on ["A", "B", "C"] with "D" 131s preserves the original 131s returns ["A", "B", "C", "D"] 131s #push 131s on [] with "A" 131s preserves the original 131s returns ["A"] 131s on ["A"] with "B" 131s preserves the original 131s returns ["A", "B"] 131s on ["A"] with "A" 131s preserves the original 131s returns ["A", "A"] 131s on ["A", "B", "C"] with "D" 131s preserves the original 131s returns ["A", "B", "C", "D"] 131s 131s Hamster::Deque 131s #first 131s on [] 131s returns nil 131s on ["A"] 131s returns "A" 131s on ["A", "B", "C"] 131s returns "A" 131s 131s Hamster::Deque 131s #inspect 131s on [] 131s returns "Hamster::Deque[]" 131s returns a string which can be eval'd to get an equivalent object 131s on ["A"] 131s returns "Hamster::Deque[\"A\"]" 131s returns a string which can be eval'd to get an equivalent object 131s on ["A", "B", "C"] 131s returns "Hamster::Deque[\"A\", \"B\", \"C\"]" 131s returns a string which can be eval'd to get an equivalent object 131s 131s Hamster::Deque 131s #last 131s on [] 131s returns nil 131s on ["A"] 131s returns "A" 131s on ["A", "B", "C"] 131s returns "C" 131s 131s Hamster::Deque 131s #marshal_dump/#marshal_load 131s can survive dumping and loading into a new process 131s is still possible to push and pop items after loading 131s 131s Hamster::Deque 131s .new 131s accepts a single enumerable argument and creates a new deque 131s is amenable to overriding of #initialize 131s from a subclass 131s returns a frozen instance of the subclass 131s .[] 131s accepts a variable number of items and creates a new deque 131s 131s Hamster::Deque 131s #pop 131s on [] 131s preserves the original 131s returns [] 131s returns a frozen instance 131s on ["A"] 131s preserves the original 131s returns [] 131s returns a frozen instance 131s on ["A", "B", "C"] 131s preserves the original 131s returns ["A", "B"] 131s returns a frozen instance 131s on empty subclass 131s returns emtpy object of same class 131s 131s Hamster::Deque 131s #pretty_print 131s prints the whole Deque on one line if it fits 131s prints each item on its own line, if not 131s 131s Hamster::Deque 131s #push 131s pushing "A" into [] 131s preserves the original 131s returns ["A"] 131s returns a frozen instance 131s pushing "B" into ["A"] 131s preserves the original 131s returns ["A", "B"] 131s returns a frozen instance 131s pushing "D" into ["A", "B", "C"] 131s preserves the original 131s returns ["A", "B", "C", "D"] 131s returns a frozen instance 131s on a subclass 131s returns an object of same class 131s 131s Hamster::Deque 131s modification (using #push, #pop, #shift, and #unshift) 131s works when applied in many random combinations 131s 131s Hamster::Deque 131s #shift 131s on [] 131s preserves the original 131s returns [] 131s returns a frozen instance 131s on ["A"] 131s preserves the original 131s returns [] 131s returns a frozen instance 131s on ["A", "B", "C"] 131s preserves the original 131s returns ["B", "C"] 131s returns a frozen instance 131s 131s Hamster::Deque 131s #size 131s on [] 131s returns 0 131s on ["A"] 131s returns 1 131s on ["A", "B", "C"] 131s returns 3 131s #length 131s on [] 131s returns 0 131s on ["A"] 131s returns 1 131s on ["A", "B", "C"] 131s returns 3 131s 131s Hamster::Deque 131s #to_a 131s on [] 131s returns [] 131s returns a mutable array 131s on ["A"] 131s returns ["A"] 131s returns a mutable array 131s on ["A", "B", "C"] 131s returns ["A", "B", "C"] 131s returns a mutable array 131s #entries 131s on [] 131s returns [] 131s returns a mutable array 131s on ["A"] 131s returns ["A"] 131s returns a mutable array 131s on ["A", "B", "C"] 131s returns ["A", "B", "C"] 131s returns a mutable array 131s 131s Hamster::Deque 131s #to_ary 131s enables implicit conversion to 131s block parameters 131s method arguments 131s works with splat 131s 131s Hamster::Deque 131s #to_list 131s on [] 131s returns a list containing [] 131s on ["A"] 131s returns a list containing ["A"] 131s on ["A", "B", "C"] 131s returns a list containing ["A", "B", "C"] 131s after dedequeing an item from ["A", "B", "C"] 131s returns a list containing ["B", "C"] 131s 131s Hamster::Deque 131s #unshift 131s on [] with "A" 131s preserves the original 131s returns ["A"] 131s returns a frozen instance 131s on ["A"] with "B" 131s preserves the original 131s returns ["B", "A"] 131s returns a frozen instance 131s on ["A"] with "A" 131s preserves the original 131s returns ["A", "A"] 131s returns a frozen instance 131s on ["A", "B", "C"] with "D" 131s preserves the original 131s returns ["D", "A", "B", "C"] 131s returns a frozen instance 131s 131s Hamster::MutableSet 131s #add? 131s with a unique value 131s returns true 131s modifies the set to include the new value 131s with a duplicate value 131s returns false 131s preserves the original values 131s 131s Hamster::MutableSet 131s #add 131s with a unique value 131s returns self 131s modifies the original set to include new value 131s with a duplicate value 131s returns self 131s preserves the original values 131s 131s Hamster::MutableSet 131s #delete? 131s with an existing value 131s returns true 131s modifies the set to remove the value 131s with a non-existing value 131s returns false 131s preserves the original values 131s 131s Hamster::MutableSet 131s #delete 131s with an existing value 131s returns self 131s modifies the set to remove the value 131s with a non-existing value 131s returns self 131s preserves the original values 131s 131s Hamster::Hash 131s #all? 131s when empty 131s without a block 131s returns true 131s with a block 131s returns true 131s when not empty 131s without a block 131s returns true 131s with a block 131s returns true if the block always returns true 131s returns false if the block ever returns false 131s propagates an exception from the block 131s stops iterating as soon as the block returns false 131s 131s Hamster::Hash 131s #any? 131s when empty 131s with a block returns false 131s with no block returns false 131s when not empty 131s with a block 131s returns true if the block ever returns true (["A", "aye"]) 131s returns false if the block always returns false 131s returns true if the block ever returns true (["B", "bee"]) 131s returns false if the block always returns false 131s returns true if the block ever returns true (["C", "see"]) 131s returns false if the block always returns false 131s returns true if the block ever returns true ([nil, "NIL"]) 131s returns false if the block always returns false 131s propagates exceptions raised in the block 131s stops iterating as soon as the block returns true 131s with no block 131s returns true 131s 131s Hamster::Hash 131s #assoc 131s searches for a key/val pair with a given key 131s returns nil if a matching key is not found 131s returns nil even if there is a default 131s uses #== to compare keys with provided object 131s #rassoc 131s searches for a key/val pair with a given value 131s returns nil if a matching value is not found 131s returns nil even if there is a default 131s uses #== to compare values with provided object 131s 131s Hamster::Hash 131s #clear 131s maintains the default Proc, if there is one 131s on [] 131s preserves the original 131s returns an empty hash 131s on [{"A"=>"aye"}] 131s preserves the original 131s returns an empty hash 131s on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 131s preserves the original 131s returns an empty hash 131s on a subclass 131s returns an empty instance of the subclass 131s 131s Hamster::Hash 131s .hash 131s with nothing 131s returns the canonical empty hash 131s with an implicit hash 131s is equivalent to repeatedly using #put 131s with an array of pairs 131s initializes a new Hash 131s with a Hamster::Hash 131s initializes an equivalent Hash 131s 131s Hamster::Hash 131s #dup 131s returns self 131s #clone 131s returns self 131s 131s Hamster::Hash 131s #default_proc 131s returns the default block given when the Hash was created 131s returns nil if no default block was given 131s after a key/val pair are inserted 131s doesn't change 131s after all key/val pairs are filtered out 131s doesn't change 131s after Hash is inverted 131s doesn't change 131s when a slice is taken 131s doesn't change 131s when keys are removed with #except 131s doesn't change 131s when Hash is mapped 131s doesn't change 131s when another Hash is merged in 131s doesn't change 131s 131s Hamster::Hash 131s #delete 131s with an existing key 131s preserves the original 131s returns a copy with the remaining key/value pairs 131s with a non-existing key 131s preserves the original values 131s returns self 131s when removing the last key 131s from a Hash with no default block 131s returns the canonical empty Hash 131s 131s Hamster::Hash 131s #dig 131s returns the value with one argument to dig 131s returns the value in nested hashes 131s returns nil if the key is not present 131s returns nil if you dig out the end of the hash 131s returns nil if a value does not support dig 131s returns the correct value when there is a default proc 131s 131s Hamster::Hash 131s #each 131s with a block (internal iteration) 131s returns self 131s yields all key/value pairs 131s yields key/value pairs in the same order as #each_key and #each_value 131s yields both of a pair of colliding keys 131s yields only the key to a block expecting |key,| 131s with no block 131s returns an Enumerator 131s #each_pair 131s with a block (internal iteration) 131s returns self 131s yields all key/value pairs 131s yields key/value pairs in the same order as #each_key and #each_value 131s yields both of a pair of colliding keys 131s yields only the key to a block expecting |key,| 131s with no block 131s returns an Enumerator 131s #each_key 131s yields all keys 131s with no block 131s returns an Enumerator 131s #each_value 131s yields all values 131s with no block 131s returns an Enumerator 131s 131s Hamster::Hash 131s #each_with_index 131s with a block (internal iteration) 131s returns self 131s yields all key/value pairs with numeric indexes 131s with no block 131s returns an Enumerator 131s 131s Hamster::Hash 131s #empty? 131s returns true for [] 131s returns false for [{"A"=>"aye"}] 131s returns false for [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 131s returns true for empty hashes which have a default block 131s .empty 131s returns the canonical empty Hash 131s from a subclass 131s returns an empty instance of the subclass 131s calls overridden #initialize when creating empty Hash 131s 131s Hamster::Hash 131s returns true on a large hash which is modified and then modified back again 131s #eql? 131s returns false when comparing with a standard hash 131s returns false when comparing with an arbitrary object 131s returns false when comparing with a subclass of Hamster::Hash 131s #== 131s returns true when comparing with a standard hash 131s returns false when comparing with an arbitrary object 131s returns true when comparing with a subclass of Hamster::Hash 131s #eql? 131s returns true 131s for {} and {} 131s for {} and {} 131s returns false 131s for {"A"=>"aye"} and {} 131s for {} and {"A"=>"aye"} 131s returns false 131s for {} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {} 131s returns true 131s for {"A"=>"aye"} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {"A"=>"aye"} 131s returns false 131s for {"A"=>"aye"} and {"B"=>"bee"} 131s for {"B"=>"bee"} and {"A"=>"aye"} 131s returns false 131s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 131s returns false 131s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 131s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 131s returns true 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s returns true 131s for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} 131s #== 131s returns true 131s for {} and {} 131s for {} and {} 131s returns false 131s for {"A"=>"aye"} and {} 131s for {} and {"A"=>"aye"} 131s returns false 131s for {} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {} 131s returns true 131s for {"A"=>"aye"} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {"A"=>"aye"} 131s returns false 131s for {"A"=>"aye"} and {"B"=>"bee"} 131s for {"B"=>"bee"} and {"A"=>"aye"} 131s returns false 131s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 131s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 131s returns false 131s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 131s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 131s returns true 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s returns true 131s for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 131s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} 131s 131s Hamster::Hash 131s #except 132s works on a large Hash, with many combinations of input 132s with only keys that the Hash has 132s returns a Hash without those values 132s doesn't change the original Hash 132s with keys that the Hash doesn't have 132s returns a Hash without the values that it had keys for 132s doesn't change the original Hash 132s 132s Hamster::Hash 132s #fetch 132s gives precedence to default block over default argument if passed both 132s raises an ArgumentError when not passed one or 2 arguments 132s with no default provided 132s when the key exists 132s returns the value associated with the key 132s when the key does not exist 132s raises a KeyError 132s with a default value 132s when the key exists 132s returns the value associated with the key 132s when the key does not exist 132s returns the default value 132s with a default block 132s when the key exists 132s returns the value associated with the key 132s when the key does not exist 132s invokes the default block with the missing key as paramter 132s 132s Hamster::Hash 132s #fetch_values 132s when the all the requests keys exist 132s returns a vector of values for the given keys 132s when the key does not exist 132s raises a KeyError 132s 132s Hamster::Hash 132s #find 132s stops iterating when the block returns true 132s on [] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns ["A", "aye"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns ["A", "aye"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns ["B", "bee"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns [nil, "NIL"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s #detect 132s stops iterating when the block returns true 132s on [] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns ["A", "aye"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns ["A", "aye"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns ["B", "bee"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns [nil, "NIL"] 132s without a block 132s returns an Enumerator 132s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 132s with a block 132s returns nil 132s without a block 132s returns an Enumerator 132s 132s Hamster::Hash 132s #flat_map 132s yields each key/val pair 132s returns the concatenation of block return values 132s doesn't change the receiver 132s returns an empty array if only empty arrays are returned by block 132s with no block 132s returns an Enumerator 132s 132s Hamster::Hash 132s #flatten 132s with flatten depth of zero 132s returns a vector of keys/value 132s without array keys or values 132s returns a vector of keys and values 132s doesn't modify the receiver 132s on an empty Hash 132s returns an empty Vector 132s with array keys 132s flattens array keys into returned vector if flatten depth is sufficient 132s doesn't modify the receiver (or its contents) 132s with array values 132s flattens array values into returned vector if flatten depth is sufficient 132s doesn't modify the receiver (or its contents) 132s with vector keys 132s flattens vector keys into returned vector if flatten depth is sufficient 132s with vector values 132s flattens vector values into returned vector if flatten depth is sufficient 132s 132s Hamster::Hash 132s #get 132s uses #hash to look up keys 132s uses #eql? to compare keys with the same hash code 132s does not use #eql? to compare keys with different hash codes 132s with a default block 132s when the key exists 132s returns the value associated with the key 132s does not call the default block even if the key is 'nil' 132s when the key does not exist 132s returns the value from the default block 132s with no default block 132s returns the value ("aye") for an existing key ("A") 132s returns the value ("bee") for an existing key ("B") 132s returns the value ("see") for an existing key ("C") 132s returns the value ("NIL") for an existing key (nil) 132s returns nil for a non-existing key 132s #[] 132s uses #hash to look up keys 132s uses #eql? to compare keys with the same hash code 132s does not use #eql? to compare keys with different hash codes 132s with a default block 132s when the key exists 132s returns the value associated with the key 132s does not call the default block even if the key is 'nil' 132s when the key does not exist 132s returns the value from the default block 132s with no default block 132s returns the value ("aye") for an existing key ("A") 132s returns the value ("bee") for an existing key ("B") 132s returns the value ("see") for an existing key ("C") 132s returns the value ("NIL") for an existing key (nil) 132s returns nil for a non-existing key 132s 132s Hamster::Hash 132s #key? 132s returns true for an existing key ("A") 132s returns true for an existing key ("B") 132s returns true for an existing key ("C") 132s returns true for an existing key (nil) 132s returns true for an existing key (2.0) 132s returns false for a non-existing key 132s uses #eql? for equality 132s returns true if the key is found and maps to nil 132s returns true if the key is found and maps to false 132s #has_key? 132s returns true for an existing key ("A") 132s returns true for an existing key ("B") 132s returns true for an existing key ("C") 132s returns true for an existing key (nil) 132s returns true for an existing key (2.0) 132s returns false for a non-existing key 132s uses #eql? for equality 132s returns true if the key is found and maps to nil 132s returns true if the key is found and maps to false 132s #include? 132s returns true for an existing key ("A") 132s returns true for an existing key ("B") 132s returns true for an existing key ("C") 132s returns true for an existing key (nil) 132s returns true for an existing key (2.0) 132s returns false for a non-existing key 132s uses #eql? for equality 132s returns true if the key is found and maps to nil 132s returns true if the key is found and maps to false 132s #member? 132s returns true for an existing key ("A") 132s returns true for an existing key ("B") 132s returns true for an existing key ("C") 132s returns true for an existing key (nil) 132s returns true for an existing key (2.0) 132s returns false for a non-existing key 132s uses #eql? for equality 132s returns true if the key is found and maps to nil 132s returns true if the key is found and maps to false 132s 132s Hamster::Hash 132s #value? 132s returns true if any key/val pair in Hash has the same value 132s returns false if no key/val pair in Hash has the same value 132s uses #== to check equality 132s works on a large hash 132s #has_value? 132s returns true if any key/val pair in Hash has the same value 132s returns false if no key/val pair in Hash has the same value 132s uses #== to check equality 132s works on a large hash 132s 132s Hamster::Hash 132s #hash 132s values are sufficiently distributed 132s differs given the same keys and different values 132s differs given the same values and different keys 132s generates the same hash value for a hash regardless of the order things were added to it 132s on an empty hash 132s returns 0 132s 132s Hamster::Hash 132s includes Immutable 132s 132s Hamster::Hash 132s #inspect 132s on [] 132s returns "Hamster::Hash[]" 132s on [{"A"=>"aye"}] 132s returns "Hamster::Hash[\"A\" => \"aye\"]" 132s on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 132s returns "Hamster::Hash[\"A\" => \"aye\", \"B\" => \"bee\", \"C\" => \"see\"]" 132s on {} 132s returns a string which can be eval'd to get an equivalent object 132s on {"A"=>"aye"} 132s returns a string which can be eval'd to get an equivalent object 132s on {:a=>"aye", :b=>"bee", :c=>"see"} 132s returns a string which can be eval'd to get an equivalent object 132s 132s Hamster::Hash 132s #invert 132s uses the existing keys as values and values as keys 132s will select one key/value pair among multiple which have same value 132s doesn't change the original Hash 132s from a subclass of Hash 132s returns an instance of the subclass 132s 132s Hamster::Hash 132s #key 132s returns a key associated with the given value, if there is one 132s returns nil if there is no key associated with the given value 132s uses #== to compare values for equality 132s doesn't use default block if value is not found 132s 132s Hamster::Hash 132s #keys 132s returns the keys as a set 132s returns frozen String keys 132s 132s Hamster::Hash 132s #map 132s when empty 132s returns self 132s when not empty 132s with a block 132s preserves the original values 132s returns a new hash with the mapped values 132s with no block 132s returns an Enumerator 132s from a subclass 132s returns an instance of the subclass 132s #collect 132s when empty 132s returns self 132s when not empty 132s with a block 132s preserves the original values 132s returns a new hash with the mapped values 132s with no block 132s returns an Enumerator 132s from a subclass 132s returns an instance of the subclass 132s 132s Hamster::Hash 132s #marshal_dump/#marshal_load 132s can survive dumping and loading into a new process 132s is still possible to find items by key after loading 132s 132s Hamster::Hash 132s #merge 132s sets any duplicate key to the value of block if passed a block 132s yields key/value pairs in the same order as #each 132s for {} and {} 132s returns {} when passed a Hamster::Hash 132s returns {} when passed a Ruby Hash 132s doesn't change the original Hashes 132s for {"A"=>"aye"} and {} 132s returns {"A"=>"aye"} when passed a Hamster::Hash 132s returns {"A"=>"aye"} when passed a Ruby Hash 132s doesn't change the original Hashes 132s for {"A"=>"aye"} and {"A"=>"bee"} 132s returns {"A"=>"bee"} when passed a Hamster::Hash 132s returns {"A"=>"bee"} when passed a Ruby Hash 132s doesn't change the original Hashes 132s for {"A"=>"aye"} and {"B"=>"bee"} 132s returns {"A"=>"aye", "B"=>"bee"} when passed a Hamster::Hash 132s returns {"A"=>"aye", "B"=>"bee"} when passed a Ruby Hash 132s doesn't change the original Hashes 132s for [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300]] and [[150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] 132s returns [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] when passed a Hamster::Hash 132s returns [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25], [26, 26], [27, 27], [28, 28], [29, 29], [30, 30], [31, 31], [32, 32], [33, 33], [34, 34], [35, 35], [36, 36], [37, 37], [38, 38], [39, 39], [40, 40], [41, 41], [42, 42], [43, 43], [44, 44], [45, 45], [46, 46], [47, 47], [48, 48], [49, 49], [50, 50], [51, 51], [52, 52], [53, 53], [54, 54], [55, 55], [56, 56], [57, 57], [58, 58], [59, 59], [60, 60], [61, 61], [62, 62], [63, 63], [64, 64], [65, 65], [66, 66], [67, 67], [68, 68], [69, 69], [70, 70], [71, 71], [72, 72], [73, 73], [74, 74], [75, 75], [76, 76], [77, 77], [78, 78], [79, 79], [80, 80], [81, 81], [82, 82], [83, 83], [84, 84], [85, 85], [86, 86], [87, 87], [88, 88], [89, 89], [90, 90], [91, 91], [92, 92], [93, 93], [94, 94], [95, 95], [96, 96], [97, 97], [98, 98], [99, 99], [100, 100], [101, 101], [102, 102], [103, 103], [104, 104], [105, 105], [106, 106], [107, 107], [108, 108], [109, 109], [110, 110], [111, 111], [112, 112], [113, 113], [114, 114], [115, 115], [116, 116], [117, 117], [118, 118], [119, 119], [120, 120], [121, 121], [122, 122], [123, 123], [124, 124], [125, 125], [126, 126], [127, 127], [128, 128], [129, 129], [130, 130], [131, 131], [132, 132], [133, 133], [134, 134], [135, 135], [136, 136], [137, 137], [138, 138], [139, 139], [140, 140], [141, 141], [142, 142], [143, 143], [144, 144], [145, 145], [146, 146], [147, 147], [148, 148], [149, 149], [150, 150], [151, 151], [152, 152], [153, 153], [154, 154], [155, 155], [156, 156], [157, 157], [158, 158], [159, 159], [160, 160], [161, 161], [162, 162], [163, 163], [164, 164], [165, 165], [166, 166], [167, 167], [168, 168], [169, 169], [170, 170], [171, 171], [172, 172], [173, 173], [174, 174], [175, 175], [176, 176], [177, 177], [178, 178], [179, 179], [180, 180], [181, 181], [182, 182], [183, 183], [184, 184], [185, 185], [186, 186], [187, 187], [188, 188], [189, 189], [190, 190], [191, 191], [192, 192], [193, 193], [194, 194], [195, 195], [196, 196], [197, 197], [198, 198], [199, 199], [200, 200], [201, 201], [202, 202], [203, 203], [204, 204], [205, 205], [206, 206], [207, 207], [208, 208], [209, 209], [210, 210], [211, 211], [212, 212], [213, 213], [214, 214], [215, 215], [216, 216], [217, 217], [218, 218], [219, 219], [220, 220], [221, 221], [222, 222], [223, 223], [224, 224], [225, 225], [226, 226], [227, 227], [228, 228], [229, 229], [230, 230], [231, 231], [232, 232], [233, 233], [234, 234], [235, 235], [236, 236], [237, 237], [238, 238], [239, 239], [240, 240], [241, 241], [242, 242], [243, 243], [244, 244], [245, 245], [246, 246], [247, 247], [248, 248], [249, 249], [250, 250], [251, 251], [252, 252], [253, 253], [254, 254], [255, 255], [256, 256], [257, 257], [258, 258], [259, 259], [260, 260], [261, 261], [262, 262], [263, 263], [264, 264], [265, 265], [266, 266], [267, 267], [268, 268], [269, 269], [270, 270], [271, 271], [272, 272], [273, 273], [274, 274], [275, 275], [276, 276], [277, 277], [278, 278], [279, 279], [280, 280], [281, 281], [282, 282], [283, 283], [284, 284], [285, 285], [286, 286], [287, 287], [288, 288], [289, 289], [290, 290], [291, 291], [292, 292], [293, 293], [294, 294], [295, 295], [296, 296], [297, 297], [298, 298], [299, 299], [300, 300], [301, 301], [302, 302], [303, 303], [304, 304], [305, 305], [306, 306], [307, 307], [308, 308], [309, 309], [310, 310], [311, 311], [312, 312], [313, 313], [314, 314], [315, 315], [316, 316], [317, 317], [318, 318], [319, 319], [320, 320], [321, 321], [322, 322], [323, 323], [324, 324], [325, 325], [326, 326], [327, 327], [328, 328], [329, 329], [330, 330], [331, 331], [332, 332], [333, 333], [334, 334], [335, 335], [336, 336], [337, 337], [338, 338], [339, 339], [340, 340], [341, 341], [342, 342], [343, 343], [344, 344], [345, 345], [346, 346], [347, 347], [348, 348], [349, 349], [350, 350], [351, 351], [352, 352], [353, 353], [354, 354], [355, 355], [356, 356], [357, 357], [358, 358], [359, 359], [360, 360], [361, 361], [362, 362], [363, 363], [364, 364], [365, 365], [366, 366], [367, 367], [368, 368], [369, 369], [370, 370], [371, 371], [372, 372], [373, 373], [374, 374], [375, 375], [376, 376], [377, 377], [378, 378], [379, 379], [380, 380], [381, 381], [382, 382], [383, 383], [384, 384], [385, 385], [386, 386], [387, 387], [388, 388], [389, 389], [390, 390], [391, 391], [392, 392], [393, 393], [394, 394], [395, 395], [396, 396], [397, 397], [398, 398], [399, 399], [400, 400], [401, 401], [402, 402], [403, 403], [404, 404], [405, 405], [406, 406], [407, 407], [408, 408], [409, 409], [410, 410], [411, 411], [412, 412], [413, 413], [414, 414], [415, 415], [416, 416], [417, 417], [418, 418], [419, 419], [420, 420], [421, 421], [422, 422], [423, 423], [424, 424], [425, 425], [426, 426], [427, 427], [428, 428], [429, 429], [430, 430], [431, 431], [432, 432], [433, 433], [434, 434], [435, 435], [436, 436], [437, 437], [438, 438], [439, 439], [440, 440], [441, 441], [442, 442], [443, 443], [444, 444], [445, 445], [446, 446], [447, 447], [448, 448], [449, 449], [450, 450]] when passed a Ruby Hash 132s doesn't change the original Hashes 132s when merging with an empty Hash 132s returns self 132s when merging with subset Hash 132s returns self 132s when called on a subclass 132s returns an instance of the subclass 132s 132s Hamster::Hash 132s #min 132s returns the smallest key/val pair 132s #max 132s returns the largest key/val pair 132s #min_by 132s returns the smallest key/val pair (after passing it through a key function) 132s returns the first key/val pair yielded by #each in case of a tie 132s returns nil if the hash is empty 132s #max_by 132s returns the largest key/val pair (after passing it through a key function) 132s returns the first key/val pair yielded by #each in case of a tie 132s returns nil if the hash is empty 132s 132s Hamster::Hash 132s .new 132s is amenable to overriding of #initialize 132s accepts an array as initializer 132s returns a Hash which doesn't change even if initializer is mutated 132s from a subclass 132s returns a frozen instance of the subclass 132s .[] 132s accepts a Ruby Hash as initializer 132s accepts a Hamster::Hash as initializer 132s accepts an array as initializer 132s can be used with a subclass of Hamster::Hash 132s 132s Hamster::Hash 132s #none? 132s when empty 132s with a block returns true 132s with no block returns true 132s when not empty 132s with a block 132s returns false if the block ever returns true (["A", "aye"]) 132s returns true if the block always returns false 132s stops iterating as soon as the block returns true 132s returns false if the block ever returns true (["B", "bee"]) 132s returns true if the block always returns false 132s stops iterating as soon as the block returns true 132s returns false if the block ever returns true (["C", "see"]) 132s returns true if the block always returns false 132s stops iterating as soon as the block returns true 132s returns false if the block ever returns true ([nil, "NIL"]) 132s returns true if the block always returns false 132s stops iterating as soon as the block returns true 132s with no block 132s returns false 132s 132s Hamster::Hash 132s #partition 132s returns a pair of Hamster::Hashes 132s returns key/val pairs for which predicate is true in first Hash 132s returns key/val pairs for which predicate is false in second Hash 132s doesn't modify the original Hash 132s from a subclass 132s should return instances of the subclass 132s 132s Hamster::Hash 132s #pretty_print 132s prints the whole Hash on one line if it fits 132s prints each key/val pair on its own line, if not 132s prints keys and vals on separate lines, if space is very tight 132s 132s Hamster::Hash 132s #put 132s with a block 132s passes the value to the block 132s replaces the value with the result of the block 132s supports to_proc methods 132s if there is no existing association 132s passes nil to the block 132s stores the result of the block as the new value 132s with a unique key 132s preserves the original 132s returns a copy with the superset of key/value pairs 132s with a duplicate key 132s preserves the original 132s returns a copy with the superset of key/value pairs 132s with duplicate key and identical value 132s returns the original hash unmodified 132s with big hash (force nested tries) 132s returns the original hash unmodified for all changes 132s with unequal keys which hash to the same value 132s stores and can retrieve both 132s when a String is inserted as key and then mutated 132s is not affected 132s 132s Hamster::Hash 132s #reduce 132s when empty 132s returns the memo 132s when not empty 132s with a block 132s returns the final memo 132s with no block 132s uses a passed string as the name of a method to use instead 132s uses a passed symbol as the name of a method to use instead 132s #inject 132s when empty 132s returns the memo 132s when not empty 132s with a block 132s returns the final memo 132s with no block 132s uses a passed string as the name of a method to use instead 132s uses a passed symbol as the name of a method to use instead 132s 132s Hamster::Hash 132s #reject 132s when nothing matches 132s returns self 132s when only some things match 132s with a block 132s preserves the original 132s returns a set with the matching values 132s yields entries in the same order as #each 132s with no block 132s returns an Enumerator 132s on a large hash, with many combinations of input 132s still works 132s #delete_if 132s when nothing matches 132s returns self 132s when only some things match 132s with a block 132s preserves the original 132s returns a set with the matching values 132s yields entries in the same order as #each 132s with no block 132s returns an Enumerator 132s on a large hash, with many combinations of input 132s still works 132s 132s Hamster::Hash 132s #reverse_each 132s with a block 132s returns self 132s yields all key/value pairs in the opposite order as #each 132s with no block 132s returns an Enumerator 132s 132s Hamster::Hash 132s #sample 132s returns a randomly chosen item 132s 132s Hamster::Hash 132s #select 132s works on a large hash, with many combinations of input 132s when everything matches 132s returns self 132s when only some things match 132s yields entries as [key, value] pairs 132s with a block 132s preserves the original 132s returns a set with the matching values 132s with no block 132s returns an Enumerator 132s #find_all 132s works on a large hash, with many combinations of input 132s when everything matches 132s returns self 132s when only some things match 132s yields entries as [key, value] pairs 132s with a block 132s preserves the original 132s returns a set with the matching values 132s with no block 132s returns an Enumerator 132s #keep_if 133s works on a large hash, with many combinations of input 133s when everything matches 133s returns self 133s when only some things match 133s yields entries as [key, value] pairs 133s with a block 133s preserves the original 133s returns a set with the matching values 133s with no block 133s returns an Enumerator 133s 133s Hamster::Hash 133s #size 133s returns 0 for [] 133s returns 1 for [{"A"=>"aye"}] 133s returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] 133s has the correct size after adding lots of things with colliding keys and such 133s has the correct size after lots of addings and removings 133s #length 133s returns 0 for [] 133s returns 1 for [{"A"=>"aye"}] 133s returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] 133s has the correct size after adding lots of things with colliding keys and such 133s has the correct size after lots of addings and removings 133s 133s Hamster::Hash 133s #slice 133s with all keys present in the Hash 133s returns the sliced values 133s doesn't modify the original Hash 133s with keys aren't present in the Hash 133s returns the sliced values of the matching keys 133s doesn't modify the original Hash 133s on a Hash with a default block 133s maintains the default block 133s 133s Hamster::Hash 133s #sort 133s returns a Vector of sorted key/val pairs 133s works on large hashes 133s uses block as comparator to sort if passed a block 133s #sort_by 133s returns a Vector of key/val pairs, sorted using the block as a key function 133s 133s Hamster::Hash 133s #store 133s with a unique key 133s preserves the original 133s returns a copy with the superset of key/value pairs 133s with a duplicate key 133s preserves the original 133s returns a copy with the superset of key/value pairs 133s with duplicate key and identical value 133s returns the original hash unmodified 133s with big hash (force nested tries) 133s returns the original hash unmodified for all changes 133s with unequal keys which hash to the same value 133s stores and can retrieve both 133s when a String is inserted as key and then mutated 133s is not affected 133s 133s Hamster::Hash 133s #<= 133s for {} and {} 133s returns true 133s for {"A"=>1} and {} 133s returns false 133s for {} and {"A"=>1} 133s returns true 133s for {"A"=>1} and {"A"=>1} 133s returns true 133s for {"A"=>1} and {"A"=>2} 133s returns false 133s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 133s returns true 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 133s returns false 133s for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} 133s returns false 133s #< 133s for {} and {} 133s returns false 133s for {"A"=>1} and {} 133s returns false 133s for {} and {"A"=>1} 133s returns true 133s for {"A"=>1} and {"A"=>1} 133s returns false 133s for {"A"=>1} and {"A"=>2} 133s returns false 133s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 133s returns true 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 133s returns false 133s for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} 133s returns false 133s 133s Hamster::Hash 133s #>= 133s for {} and {} 133s returns true 133s for {"A"=>1} and {} 133s returns true 133s for {} and {"A"=>1} 133s returns false 133s for {"A"=>1} and {"A"=>1} 133s returns true 133s for {"A"=>1} and {"A"=>2} 133s returns false 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 133s returns true 133s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 133s returns false 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} 133s returns false 133s #> 133s for {} and {} 133s returns false 133s for {"A"=>1} and {} 133s returns true 133s for {} and {"A"=>1} 133s returns false 133s for {"A"=>1} and {"A"=>1} 133s returns false 133s for {"A"=>1} and {"A"=>2} 133s returns false 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 133s returns true 133s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 133s returns false 133s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} 133s returns false 133s 133s Hamster::Hash 133s #take 133s returns the first N key/val pairs from hash 133s #take_while 133s passes elements to the block until the block returns nil/false 133s returns an array of all elements before the one which returned nil/false 133s passes all elements if the block never returns nil/false 133s 133s Hamster::Hash 133s #to_a 133s returns an Array of [key, value] pairs in same order as #each 133s 133s Hamster::Hash 133s #to_hash 133s converts an empty Hamster::Hash to an empty Ruby Hash 133s converts a non-empty Hamster::Hash to a Hash with the same keys and values 133s doesn't modify the receiver 133s #to_h 133s converts an empty Hamster::Hash to an empty Ruby Hash 133s converts a non-empty Hamster::Hash to a Hash with the same keys and values 133s doesn't modify the receiver 133s 133s Hamster::Hash 133s #to_proc 133s on Hash without default proc 133s returns a Proc instance 133s returns a Proc that returns the value of an existing key 133s returns a Proc that returns nil for a missing key 133s on Hash with a default proc 133s returns a Proc instance 133s returns a Proc that returns the value of an existing key 133s returns a Proc that returns the result of the hash's default proc for a missing key 133s 133s Hamster::Hash 133s #values_at 133s on Hash without default proc 133s returns an empty vector when no keys are given 133s returns a vector of values for the given keys 133s fills nil when keys are missing 133s on Hash with default proc 133s fills the result of the default proc when keys are missing 133s 133s Hamster::Hash 133s #values 133s returns the keys as a Vector 133s with duplicates 133s returns the keys as a Vector 133s 133s Hamster::Immutable 133s #dup 133s returns self 133s #clone 133s returns self 133s 133s Hamster::Immutable 133s #immutable? 133s object constructed after its class becomes Immutable 133s returns true 133s object constructed before its class becomes Immutable 133s that are not frozen 133s returns false 133s that are frozen 133s returns true 133s 133s Hamster::Immutable 133s #memoize 133s keeps the receiver frozen and immutable 133s when called multiple times 133s doesn't evaluate the memoized method more than once 133s when making a copy 133s clears all memory 133s 133s Hamster::Immutable 133s freezes the instance 133s subclass hides all public methods 133s freezes the instance 133s 133s Hamster::Immutable 133s #transform 133s preserves the original 133s returns a new instance with the updated values 133s 133s Hamster::Immutable 133s #transform_unless 133s when the condition is false 133s preserves the original 133s returns a new instance with the updated values 133s when the condition is true 133s preserves the original 133s returns the original 133s 133s Hamster::List 133s #add 133s on [] with "A" 133s preserves the original 133s returns ["A"] 133s on ["A"] with "B" 133s preserves the original 133s returns ["B", "A"] 133s on ["A"] with "A" 133s preserves the original 133s returns ["A", "A"] 133s on ["A", "B", "C"] with "D" 133s preserves the original 133s returns ["D", "A", "B", "C"] 133s 133s Hamster::List 133s #all? 133s on a really big list 133s doesn't run out of stack 133s when empty 133s with a block returns true 133s with no block returns true 133s when not empty 133s with a block 133s if the block always returns true 133s returns true 133s if the block ever returns false 133s returns false 133s with no block 133s if all values are truthy 133s returns true 133s if any value is nil 133s returns false 133s if any value is false 133s returns false 133s 133s Hamster::List 133s #any? 133s on a really big list 133s doesn't run out of stack 133s when empty 133s with a block returns false 133s with no block returns false 133s when not empty 133s with a block 133s returns true if the block ever returns true ("A") 133s returns true if the block ever returns true ("B") 133s returns true if the block ever returns true ("C") 133s returns true if the block ever returns true (nil) 133s returns false if the block always returns false 133s with no block 133s returns true if any value is truthy 133s returns false if all values are falsey 133s 133s Hamster::List 133s #append 133s is lazy 133s on [] and [] 133s preserves the left 133s preserves the right 133s returns [] 133s on ["A"] and [] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on [] and ["A"] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on ["A", "B"] and ["C", "D"] 133s preserves the left 133s preserves the right 133s returns ["A", "B", "C", "D"] 133s #concat 133s is lazy 133s on [] and [] 133s preserves the left 133s preserves the right 133s returns [] 133s on ["A"] and [] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on [] and ["A"] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on ["A", "B"] and ["C", "D"] 133s preserves the left 133s preserves the right 133s returns ["A", "B", "C", "D"] 133s #+ 133s is lazy 133s on [] and [] 133s preserves the left 133s preserves the right 133s returns [] 133s on ["A"] and [] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on [] and ["A"] 133s preserves the left 133s preserves the right 133s returns ["A"] 133s on ["A", "B"] and ["C", "D"] 133s preserves the left 133s preserves the right 133s returns ["A", "B", "C", "D"] 133s 133s Hamster::List 133s #at 133s on a really big list 133s doesn't run out of stack 133s [] with 10 133s returns nil 133s ["A"] with 10 133s returns nil 133s ["A", "B", "C"] with 0 133s returns "A" 133s ["A", "B", "C"] with 2 133s returns "C" 133s ["A", "B", "C"] with -1 133s returns "C" 133s ["A", "B", "C"] with -2 133s returns "B" 133s ["A", "B", "C"] with -4 133s returns nil 133s 133s Hamster::List 133s #break 133s is lazy 133s on [] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [1] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [1, 2] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [1, 2, 3] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [1, 2, 3, 4] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [2, 3, 4] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [3, 4] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s on [4] 133s with a block 133s preserves the original 133s returns a frozen array with two items 133s correctly identifies the prefix 133s correctly identifies the remainder 133s without a block 133s returns a frozen array with two items 133s returns self as the prefix 133s leaves the remainder empty 133s 133s Hamster::List 133s #car 133s is responded to 133s on [] 133s preserves the original 133s returns nil 133s #car 133s is responded to 133s on ["A"] 133s preserves the original 133s returns "A" 133s #car 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns "A" 133s #cadr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns "B" 133s #caddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns "C" 133s #cadddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns nil 133s #caddddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns nil 133s #cdr 133s is responded to 133s on [] 133s preserves the original 133s returns Hamster::List[] 133s #cdr 133s is responded to 133s on ["A"] 133s preserves the original 133s returns Hamster::List[] 133s #cdr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns Hamster::List["B", "C"] 133s #cddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns Hamster::List["C"] 133s #cdddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns Hamster::List[] 133s #cddddr 133s is responded to 133s on ["A", "B", "C"] 133s preserves the original 133s returns Hamster::List[] 133s 133s Hamster::List 133s #chunk 133s is lazy 133s on [] 133s preserves the original 133s returns [] 133s on ["A"] 133s preserves the original 133s returns [Hamster::List["A"]] 133s on ["A", "B", "C"] 133s preserves the original 133s returns [Hamster::List["A", "B"], Hamster::List["C"]] 133s 133s Hamster::List 133s #clear 133s on [] 133s preserves the original 133s returns an empty list 133s on ["A"] 133s preserves the original 133s returns an empty list 133s on ["A", "B", "C"] 133s preserves the original 133s returns an empty list 133s 133s Hamster::List 133s #combination 133s is lazy 133s on ["A", "B", "C", "D"] in groups of 1 133s preserves the original 133s returns [Hamster::List["A"], Hamster::List["B"], Hamster::List["C"], Hamster::List["D"]] 133s on ["A", "B", "C", "D"] in groups of 2 133s preserves the original 133s returns [Hamster::List["A", "B"], Hamster::List["A", "C"], Hamster::List["A", "D"], Hamster::List["B", "C"], Hamster::List["B", "D"], Hamster::List["C", "D"]] 133s on ["A", "B", "C", "D"] in groups of 3 133s preserves the original 133s returns [Hamster::List["A", "B", "C"], Hamster::List["A", "B", "D"], Hamster::List["A", "C", "D"], Hamster::List["B", "C", "D"]] 133s on ["A", "B", "C", "D"] in groups of 4 133s preserves the original 133s returns [Hamster::List["A", "B", "C", "D"]] 133s on ["A", "B", "C", "D"] in groups of 0 133s preserves the original 133s returns [Hamster::List[]] 133s on ["A", "B", "C", "D"] in groups of 5 133s preserves the original 133s returns [] 133s on [] in groups of 0 133s preserves the original 133s returns [Hamster::List[]] 133s on [] in groups of 1 133s preserves the original 133s returns [] 133s 133s Hamster::List 133s #compact 133s is lazy 133s on [] 133s preserves the original 133s returns [] 133s on ["A"] 133s preserves the original 133s returns ["A"] 133s on ["A", "B", "C"] 133s preserves the original 133s returns ["A", "B", "C"] 133s on [nil] 133s preserves the original 133s returns [] 133s on [nil, "B"] 133s preserves the original 133s returns ["B"] 133s on ["A", nil] 133s preserves the original 133s returns ["A"] 133s on [nil, nil] 133s preserves the original 133s returns [] 133s on ["A", nil, "C"] 133s preserves the original 133s returns ["A", "C"] 133s on [nil, "B", nil] 133s preserves the original 133s returns ["B"] 133s 133s Hamster::List 133s #<=> 133s with [] and [1] 133s returns -1 133s with [1] and [] 133s returns 1 133s with [] and [] 133s returns 0 133s with [1] and [2] 133s returns -1 133s with [2] and [1] 133s returns 1 133s with [1] and [1] 133s returns 0 133s with [1] and [1, 2] 133s returns -1 133s with [1, 2] and [1] 133s returns 1 133s with [1] and [1] 133s returns 0 133s with [2, 3, 4] and [3, 4, 5] 133s returns -1 133s with [3, 4, 5] and [2, 3, 4] 133s returns 1 133s with [2, 3, 4] and [2, 3, 4] 133s returns 0 133s 133s Hamster::List 133s #cons 133s on [] with "A" 133s preserves the original 133s returns ["A"] 133s on ["A"] with "B" 133s preserves the original 133s returns ["B", "A"] 133s on ["A"] with "A" 133s preserves the original 133s returns ["A", "A"] 133s on ["A", "B", "C"] with "D" 133s preserves the original 133s returns ["D", "A", "B", "C"] 133s 133s Hamster 133s .list 133s with no arguments 133s always returns the same instance 133s returns an empty list 133s with a number of items 133s always returns a different instance 133s is the same as repeatedly using #cons 133s .stream 133s with no block 133s returns an empty list 133s with a block 133s repeatedly calls the block 133s .interval 133s for numbers 133s is equivalent to a list with explicit values 133s for strings 133s is equivalent to a list with explicit values 133s .repeat 133s returns an infinite list with specified value for each element 133s .replicate 133s returns a list with the specified value repeated the specified number of times 133s .iterate 133s returns an infinite list where the first item is calculated by applying the block on the initial argument, the second item by applying the function on the previous result and so on 133s .enumerate 133s returns a list based on the values yielded from the enumerator 133s WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /tmp/autopkgtest.dBBCSJ/build.TV7/src/spec/lib/hamster/list/construction_spec.rb:94:in `block (3 levels) in '. 133s realizes values as they are needed 133s [] 133s takes a variable number of items and returns a list 133s returns an empty list when called without arguments 133s 133s Hamster::List 133s on [] 133s returns self 133s on ["A"] 133s returns self 133s on ["A", "B", "C"] 133s returns self 133s on [] 133s returns self 133s on ["A"] 133s returns self 133s on ["A", "B", "C"] 133s returns self 133s 133s Hamster::List 133s #count 133s on a really big list 133s doesn't run out of stack 133s on [] 133s with a block 133s returns 0 133s without a block 133s returns length 133s on [1] 133s with a block 133s returns 1 133s without a block 133s returns length 133s on [1, 2] 133s with a block 133s returns 1 133s without a block 133s returns length 133s on [1, 2, 3] 133s with a block 133s returns 2 133s without a block 133s returns length 133s on [1, 2, 3, 4] 133s with a block 133s returns 2 133s without a block 133s returns length 133s on [1, 2, 3, 4, 5] 133s with a block 133s returns 3 133s without a block 133s returns length 133s 133s Hamster 133s #cycle 133s is lazy 133s with an empty list 133s returns an empty list 133s with a non-empty list 133s preserves the original 133s infinitely cycles through all values 133s 133s Hamster::List 133s #delete_at 133s removes the element at the specified index 133s makes no modification if the index is out of range 133s 133s Hamster::List 133s #delete 133s removes elements that are #== to the argument 133s 133s Hamster::List 133s #drop 133s is lazy 133s with 10 from [] 133s preserves the original 133s returns [] 133s with 10 from ["A"] 133s preserves the original 133s returns [] 133s with -1 from ["A"] 133s preserves the original 133s returns ["A"] 133s with 0 from ["A", "B", "C"] 133s preserves the original 133s returns ["A", "B", "C"] 133s with 2 from ["A", "B", "C"] 133s preserves the original 133s returns ["C"] 133s 133s Hamster::List 133s #drop_while 133s is lazy 133s on [] 133s with a block 133s preserves the original 133s returns [] 133s without a block 133s returns an Enumerator 133s on ["A"] 133s with a block 133s preserves the original 133s returns [] 133s without a block 133s returns an Enumerator 133s on ["A", "B", "C"] 133s with a block 133s preserves the original 133s returns ["C"] 133s without a block 133s returns an Enumerator 133s 133s Hamster::List 133s #each_chunk 133s on a really big list 134s doesn't run out of stack 134s on [] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s on ["A"] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s on ["A", "B", "C"] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s #each_slice 134s on a really big list 134s doesn't run out of stack 134s on [] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s on ["A"] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s on ["A", "B", "C"] 134s with a block 134s preserves the original 134s iterates over the items in order 134s returns self 134s without a block 134s preserves the original 134s returns an Enumerator 134s 134s Hamster::List 134s #each 134s on a really big list 134s doesn't run out of stack 134s on [] 134s with a block 134s iterates over the items in order 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s iterates over the items in order 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A", "B", "C"] 134s with a block 134s iterates over the items in order 134s returns nil 134s without a block 134s returns an Enumerator 134s 134s Hamster::List 134s #each_with_index 134s with no block 134s returns an Enumerator 134s with a block 134s returns self 134s iterates over the items in order, yielding item and index 134s 134s Hamster::List 134s #empty? 134s on a really big list 134s doesn't run out of stack 134s on [] 134s returns true 134s on ["A"] 134s returns false 134s on ["A", "B", "C"] 134s returns false 134s 134s Hamster::List 134s Hamster::List["A", "B", "C"] should == ["A", "B", "C"] 134s Hamster::List["A", "B", "C"] should not eql? ["A", "B", "C"] 134s Hamster::List["A", "B", "C"] should not == # 134s Hamster::List["A", "B", "C"] should not eql? # 134s Hamster::List[] should == [] 134s Hamster::List[] should not eql? [] 134s Hamster::List[] should eql? Hamster::List[] 134s Hamster::List[] should == Hamster::List[] 134s Hamster::List[] should not eql? Hamster::List[nil] 134s Hamster::List["A"] should not eql? Hamster::List[] 134s Hamster::List["A"] should eql? Hamster::List["A"] 134s Hamster::List["A"] should == Hamster::List["A"] 134s Hamster::List["A"] should not eql? Hamster::List["B"] 134s Hamster::List["A", "B"] should not eql? Hamster::List["A"] 134s Hamster::List["A", "B", "C"] should eql? Hamster::List["A", "B", "C"] 134s Hamster::List["A", "B", "C"] should == Hamster::List["A", "B", "C"] 134s Hamster::List["C", "A", "B"] should not eql? Hamster::List["A", "B", "C"] 134s Hamster::List["A"] should == ["A"] 134s ["A"] should == Hamster::List["A"] 134s Hamster::List["A"] should not eql? ["A"] 134s ["A"] should not eql? Hamster::List["A"] 134s #eql? 134s on a really big list 134s doesn't run out of stack 134s 134s Hamster::List 134s #fill 134s can replace a range of items at the beginning of a list 134s can replace a range of items in the middle of a list 134s can replace a range of items at the end of a list 134s can replace all the items in a list 134s can fill past the end of the list 134s is lazy 134s with 1 argument 134s replaces all the items in the list by default 134s with 2 arguments 134s replaces up to the end of the list by default 134s when index and length are 0 134s leaves the list unmodified 134s 134s Hamster::List 134s #find_all 134s is lazy 134s with an empty array 134s with a block 134s preserves the original 134s returns the found list 134s without a block 134s returns an Enumerator 134s with a single item array 134s with a block 134s preserves the original 134s returns the found list 134s without a block 134s returns an Enumerator 134s with a multi-item array 134s with a block 134s preserves the original 134s returns the found list 134s without a block 134s returns an Enumerator 134s with a multi-item single find_allable array 134s with a block 134s preserves the original 134s returns the found list 134s without a block 134s returns an Enumerator 134s with a multi-item multi-find_allable array 134s with a block 134s preserves the original 134s returns the found list 134s without a block 134s returns an Enumerator 134s 134s Hamster::List 134s #find_index 134s on a really big list 134s doesn't run out of stack 134s looking for "A" in [] 134s returns nil 134s looking for nil in [] 134s returns nil 134s looking for "A" in ["A"] 134s returns 0 134s looking for "B" in ["A"] 134s returns nil 134s looking for nil in ["A"] 134s returns nil 134s looking for "A" in ["A", "B", nil] 134s returns 0 134s looking for "B" in ["A", "B", nil] 134s returns 1 134s looking for nil in ["A", "B", nil] 134s returns 2 134s looking for "C" in ["A", "B", nil] 134s returns nil 134s looking for 2 in [2] 134s returns 0 134s looking for 2.0 in [2] 134s returns 0 134s looking for 2.0 in [2.0] 134s returns 0 134s looking for 2 in [2.0] 134s returns 0 134s #index 134s on a really big list 134s doesn't run out of stack 134s looking for "A" in [] 134s returns nil 134s looking for nil in [] 134s returns nil 134s looking for "A" in ["A"] 134s returns 0 134s looking for "B" in ["A"] 134s returns nil 134s looking for nil in ["A"] 134s returns nil 134s looking for "A" in ["A", "B", nil] 134s returns 0 134s looking for "B" in ["A", "B", nil] 134s returns 1 134s looking for nil in ["A", "B", nil] 134s returns 2 134s looking for "C" in ["A", "B", nil] 134s returns nil 134s looking for 2 in [2] 134s returns 0 134s looking for 2.0 in [2] 134s returns 0 134s looking for 2.0 in [2.0] 134s returns 0 134s looking for 2 in [2.0] 134s returns 0 134s 134s Hamster::List 134s #find 134s on a really big list 134s doesn't run out of stack 134s on [] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on [] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns "A" 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns "A" 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns "B" 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s #detect 134s on a really big list 134s doesn't run out of stack 134s on [] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on [] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns "A" 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A"] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns "A" 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns "B" 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s on ["A", "B", nil] 134s with a block 134s returns nil 134s without a block 134s returns an Enumerator 134s 134s Hamster::List 134s #flat_map 134s with an empty list 134s returns the flattened values as a Hamster::List 134s returns a Hamster::List 134s with a block that returns an empty list 134s returns the flattened values as a Hamster::List 134s returns a Hamster::List 134s with a list of one item 134s returns the flattened values as a Hamster::List 134s returns a Hamster::List 134s with a list of multiple items 134s returns the flattened values as a Hamster::List 134s returns a Hamster::List 134s 134s Hamster 134s #flatten 134s is lazy 134s on [] 134s preserves the original 134s returns an empty list 134s on ["A"] 134s preserves the original 134s returns an empty list 134s on ["A", "B", "C"] 134s preserves the original 134s returns an empty list 134s on ["A", Hamster::List["B"], "C"] 134s preserves the original 134s returns an empty list 134s on [Hamster::List["A"], Hamster::List["B"], Hamster::List["C"]] 134s preserves the original 134s returns an empty list 134s 134s Hamster::List 134s #grep 134s is lazy 134s without a block 134s on [] 134s returns [] 134s on ["A"] 134s returns ["A"] 134s on [1] 134s returns [] 134s on ["A", 2, "C"] 134s returns ["A", "C"] 134s with a block 134s on [] 134s preserves the original 134s returns [] 134s on ["A"] 134s preserves the original 134s returns ["a"] 134s on [1] 134s preserves the original 134s returns [] 134s on ["A", 2, "C"] 134s preserves the original 134s returns ["a", "c"] 134s 134s Hamster::List 134s #group_by 134s on a really big list 134s doesn't run out of stack 134s with a block 134s on [] 134s returns [] 134s on [1] 134s returns [{true=>Hamster::List[1]}] 134s on [1, 2, 3, 4] 134s returns [{true=>Hamster::List[3, 1], false=>Hamster::List[4, 2]}] 134s without a block 134s on [] 134s returns [] 134s on [1] 134s returns [{1=>Hamster::List[1]}] 134s on [1, 2, 3, 4] 134s returns [{1=>Hamster::List[1], 2=>Hamster::List[2], 3=>Hamster::List[3], 4=>Hamster::List[4]}] 134s #group 134s on a really big list 135s doesn't run out of stack 135s with a block 135s on [] 135s returns [] 135s on [1] 135s returns [{true=>Hamster::List[1]}] 135s on [1, 2, 3, 4] 135s returns [{true=>Hamster::List[3, 1], false=>Hamster::List[4, 2]}] 135s without a block 135s on [] 135s returns [] 135s on [1] 135s returns [{1=>Hamster::List[1]}] 135s on [1, 2, 3, 4] 135s returns [{1=>Hamster::List[1], 2=>Hamster::List[2], 3=>Hamster::List[3], 4=>Hamster::List[4]}] 135s 135s Hamster::List 135s #hash 135s values are sufficiently distributed 135s on a really big list 135s doesn't run out of stack 135s on an empty list 135s returns 0 135s 135s Hamster::List 135s #head 135s on [] 135s returns nil 135s on ["A"] 135s returns "A" 135s on ["A", "B", "C"] 135s returns "A" 135s #first 135s on [] 135s returns nil 135s on ["A"] 135s returns "A" 135s on ["A", "B", "C"] 135s returns "A" 135s 135s Hamster::List 135s #include? 135s on a really big list 135s doesn't run out of stack 135s on [] 135s returns false 135s on [] 135s returns false 135s on ["A"] 135s returns true 135s on ["A"] 135s returns false 135s on ["A"] 135s returns false 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns false 135s on [2] 135s returns true 135s on [2] 135s returns true 135s on [2.0] 135s returns true 135s on [2.0] 135s returns true 135s #member? 135s on a really big list 135s doesn't run out of stack 135s on [] 135s returns false 135s on [] 135s returns false 135s on ["A"] 135s returns true 135s on ["A"] 135s returns false 135s on ["A"] 135s returns false 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns true 135s on ["A", "B", nil] 135s returns false 135s on [2] 135s returns true 135s on [2] 135s returns true 135s on [2.0] 135s returns true 135s on [2.0] 135s returns true 135s 135s Hamster::List 135s #index 135s on a really big list 135s doesn't run out of stack 135s looking for "A" in [] 135s returns nil 135s looking for nil in [] 135s returns nil 135s looking for "A" in ["A"] 135s returns 0 135s looking for "B" in ["A"] 135s returns nil 135s looking for nil in ["A"] 135s returns nil 135s looking for "A" in ["A", "B", nil] 135s returns 0 135s looking for "B" in ["A", "B", nil] 135s returns 1 135s looking for nil in ["A", "B", nil] 135s returns 2 135s looking for "C" in ["A", "B", nil] 135s returns nil 135s looking for 2 in [2] 135s returns 0 135s looking for 2.0 in [2] 135s returns 0 135s looking for 2.0 in [2.0] 135s returns 0 135s looking for 2 in [2.0] 135s returns 0 135s 135s Hamster::List 135s #indices 135s when called with a block 135s is lazy 135s on a large list which doesn't contain desired item 135s doesn't blow the stack 135s looking for "A" in [] 135s returns [] 135s looking for "B" in ["A"] 135s returns [] 135s looking for "B" in ["A", "B", "A"] 135s returns [1] 135s looking for "A" in ["A", "B", "A"] 135s returns [0, 2] 135s looking for 2 in [2] 135s returns [0] 135s looking for 2.0 in [2] 135s returns [0] 135s looking for 2.0 in [2.0] 135s returns [0] 135s looking for 2 in [2.0] 135s returns [0] 135s when called with a single argument 135s is lazy 135s looking for "A" in [] 135s returns [] 135s looking for "B" in ["A"] 135s returns [] 135s looking for "B" in ["A", "B", "A"] 135s returns [1] 135s looking for "A" in ["A", "B", "A"] 135s returns [0, 2] 135s looking for 2 in [2] 135s returns [0] 135s looking for 2.0 in [2] 135s returns [0] 135s looking for 2.0 in [2.0] 135s returns [0] 135s looking for 2 in [2.0] 135s returns [0] 135s 135s Hamster::List 135s #init 135s is lazy 135s on [] 135s preserves the original 135s returns the list without the last element: [] 135s on ["A"] 135s preserves the original 135s returns the list without the last element: [] 135s on ["A", "B", "C"] 135s preserves the original 135s returns the list without the last element: ["A", "B"] 135s 135s Hamster::List 135s #inits 135s is lazy 135s on [] 135s preserves the original 135s returns [] 135s on ["A"] 135s preserves the original 135s returns [Hamster::List["A"]] 135s on ["A", "B", "C"] 135s preserves the original 135s returns [Hamster::List["A"], Hamster::List["A", "B"], Hamster::List["A", "B", "C"]] 135s 135s Hamster::List 135s #insert 135s can add items at the beginning of a list 135s can add items in the middle of a list 135s can add items at the end of a list 135s can add items past the end of a list 135s accepts a negative index, which counts back from the end of the list 135s raises IndexError if a negative index is too great 135s is lazy 135s 135s Hamster::List 135s #inspect 135s on a really big list 135s doesn't run out of stack 135s on [] 135s returns "Hamster::List[]" 135s returns a string which can be eval'd to get an equivalent object 135s on ["A"] 135s returns "Hamster::List[\"A\"]" 135s returns a string which can be eval'd to get an equivalent object 135s on ["A", "B", "C"] 135s returns "Hamster::List[\"A\", \"B\", \"C\"]" 135s returns a string which can be eval'd to get an equivalent object 135s 135s Hamster::List 135s #intersperse 135s is lazy 135s on [] 135s preserves the original 135s returns [] 135s on ["A"] 135s preserves the original 135s returns ["A"] 135s on ["A", "B", "C"] 135s preserves the original 135s returns ["A", "|", "B", "|", "C"] 135s 135s Hamster::List 135s #join 135s on a really big list 135s doesn't run out of stack 135s with a separator 135s on [] 135s preserves the original 135s returns "" 135s on ["A"] 135s preserves the original 135s returns "A" 135s on ["A", "B", "C"] 135s preserves the original 135s returns "A|B|C" 135s without a separator 135s on [] 135s preserves the original 135s returns "" 135s on ["A"] 135s preserves the original 135s returns "A" 135s on ["A", "B", "C"] 135s preserves the original 135s returns "ABC" 135s without a separator (with global default separator set) 135s uses the default global separator 135s 135s Hamster::List 135s #last 135s on a really big list 135s doesn't run out of stack 135s on [] 135s returns nil 135s on ["A"] 135s returns "A" 135s on ["A", "B", "C"] 135s returns "C" 135s 135s Hamster::List 135s #<< 135s adds an item onto the end of a list 135s on an empty list 135s returns a list with one item 135s 135s Hamster::List 135s #map 135s is lazy 135s on [] 135s with a block 135s preserves the original 135s returns [] 135s is lazy 135s without a block 135s returns an Enumerator 135s on ["A"] 135s with a block 135s preserves the original 135s returns ["a"] 135s is lazy 135s without a block 135s returns an Enumerator 135s on ["A", "B", "C"] 135s with a block 135s preserves the original 135s returns ["a", "b", "c"] 135s is lazy 135s without a block 135s returns an Enumerator 135s #collect 135s is lazy 135s on [] 135s with a block 135s preserves the original 135s returns [] 135s is lazy 135s without a block 135s returns an Enumerator 135s on ["A"] 135s with a block 135s preserves the original 135s returns ["a"] 135s is lazy 135s without a block 135s returns an Enumerator 135s on ["A", "B", "C"] 135s with a block 135s preserves the original 135s returns ["a", "b", "c"] 135s is lazy 135s without a block 135s returns an Enumerator 135s 135s Hamster::List 135s #max 135s on a really big list 135s doesn't run out of stack 135s with a block 135s on [] 135s returns nil 135s on ["A"] 135s returns "A" 135s on ["Ichi", "Ni", "San"] 135s returns "Ichi" 135s without a block 135s on [] 135s returns nil 135s on ["A"] 135s returns "A" 135s on ["Ichi", "Ni", "San"] 135s returns "San" 135s 135s Hamster::List 135s without a comparator 135s on an empty list 135s returns an empty list 135s on a single list 135s returns the list 135s with multiple lists 135s merges the lists based on natural sort order 135s with a comparator 135s on an empty list 135s returns an empty list 135s on a single list 135s returns the list 135s with multiple lists 135s merges the lists based on the specified transformer 135s 135s Hamster::List 135s without a comparator 135s on an empty list 135s returns an empty list 135s on a single list 135s returns the list 135s with multiple lists 135s merges the lists based on natural sort order 135s with a comparator 135s on an empty list 135s returns an empty list 135s on a single list 135s returns the list 135s with multiple lists 135s merges the lists based on the specified comparator 135s 135s Hamster::List 135s #min 135s on a really big list 136s doesn't run out of stack 136s with a block 136s on [] 136s returns nil 136s on ["A"] 136s returns "A" 136s on ["Ichi", "Ni", "San"] 136s returns "Ni" 136s without a block 136s on [] 136s returns nil 136s on ["A"] 136s returns "A" 136s on ["Ichi", "Ni", "San"] 136s returns "Ichi" 136s 136s Hamster::List 136s ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads 136s doesn't go into an infinite loop if lazy list block raises an exception 136s doesn't give horrendously bad performance if thread realizing the list sleeps (PENDING: Temporarily skipped with xit) 136s 136s Hamster::List 136s #none? 136s on a really big list 136s doesn't run out of stack 136s when empty 136s with a block returns true 136s with no block returns true 136s when not empty 136s with a block 136s returns false if the block ever returns true ("A") 136s returns false if the block ever returns true ("B") 136s returns false if the block ever returns true ("C") 136s returns false if the block ever returns true (nil) 136s returns true if the block always returns false 136s with no block 136s returns false if any value is truthy 136s returns true if all values are falsey 136s 136s Hamster::List 136s #one? 136s on a really big list 136s doesn't run out of stack 136s when empty 136s with a block returns false 136s with no block returns false 136s when not empty 136s with a block 136s returns false if the block returns true more than once 136s returns false if the block never returns true 136s returns true if the block only returns true once 136s with no block 136s returns false if more than one value is truthy 136s returns true if only one value is truthy 136s 136s Hamster::List 136s #partition 136s is lazy 136s calls the passed block only once for each item 136s returns a lazy list of items for which predicate is true 136s returns a lazy list of items for which predicate is false 136s calls the passed block only once for each item, even with multiple threads 136s on [] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [1] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [1, 2] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [1, 2, 3] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [1, 2, 3, 4] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [2, 3, 4] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [3, 4] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s on [4] 136s with a block 136s preserves the original 136s returns a frozen array with two items 136s correctly identifies the matches 136s correctly identifies the remainder 136s without a block 136s returns an Enumerator 136s 136s Hamster::List 136s #permutation 136s with no block 136s returns an Enumerator 136s with no argument 136s yields all permutations of the list 136s with a length argument 136s yields all N-size permutations of the list 136s with a length argument greater than length of list 136s yields nothing 136s with a length argument of 0 136s yields an empty list 136s with a block 136s returns the original list 136s 136s Hamster::List 136s #pop 136s with an empty list 136s returns an empty list 136s with a list with a few items 136s removes the last item 136s 136s Hamster::List 136s #product 136s on a really big list 136s doesn't run out of stack 136s on [] 136s returns 1 136s on [2] 136s returns 2 136s on [1, 3, 5, 7, 11] 136s returns 1155 136s 136s Hamster::List 136s #reduce 136s on a really big list 136s doesn't run out of stack 136s on [] 136s with an initial value of 10 and a block 136s returns 10 136s on [1] 136s with an initial value of 10 and a block 136s returns 9 136s on [1, 2, 3] 136s with an initial value of 10 and a block 136s returns 4 136s on [] 136s with no initial value and a block 136s returns nil 136s on [1] 136s with no initial value and a block 136s returns 1 136s on [1, 2, 3] 136s with no initial value and a block 136s returns -4 136s with no block and a symbol argument 136s uses the symbol as the name of a method to reduce with 136s with no block and a string argument 136s uses the string as the name of a method to reduce with 136s #inject 136s on a really big list 136s doesn't run out of stack 136s on [] 136s with an initial value of 10 and a block 136s returns 10 136s on [1] 136s with an initial value of 10 and a block 136s returns 9 136s on [1, 2, 3] 136s with an initial value of 10 and a block 136s returns 4 136s on [] 136s with no initial value and a block 136s returns nil 136s on [1] 136s with no initial value and a block 136s returns 1 136s on [1, 2, 3] 136s with no initial value and a block 136s returns -4 136s with no block and a symbol argument 136s uses the symbol as the name of a method to reduce with 136s with no block and a string argument 136s uses the string as the name of a method to reduce with 136s 136s Hamster::List 136s #reject 136s is lazy 136s on [] 136s with a block 136s returns [] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A"] 136s with a block 136s returns ["A"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A", "B", "C"] 136s with a block 136s returns ["A", "B", "C"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A", "b", "C"] 136s with a block 136s returns ["A", "C"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["a", "b", "c"] 136s with a block 136s returns [] 136s is lazy 136s without a block 136s returns an Enumerator 136s #delete_if 136s is lazy 136s on [] 136s with a block 136s returns [] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A"] 136s with a block 136s returns ["A"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A", "B", "C"] 136s with a block 136s returns ["A", "B", "C"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["A", "b", "C"] 136s with a block 136s returns ["A", "C"] 136s is lazy 136s without a block 136s returns an Enumerator 136s on ["a", "b", "c"] 136s with a block 136s returns [] 136s is lazy 136s without a block 136s returns an Enumerator 136s 136s Hamster::List 136s #reverse 136s is lazy 136s on a really big list 136s doesn't run out of stack 136s on [] 136s preserves the original 136s returns [] 136s on ["A"] 136s preserves the original 136s returns ["A"] 136s on ["A", "B", "C"] 136s preserves the original 136s returns ["C", "B", "A"] 136s 136s Hamster::List 136s #rotate 136s when passed no argument 136s returns a new list with the first element moved to the end 136s with an integral argument n 136s returns a new list with the first (n % size) elements moved to the end 136s with a non-numeric argument 136s raises a TypeError 136s with an argument of zero (or one evenly divisible by list length) 136s it returns self 136s 136s Hamster::List 136s #sample 136s returns a randomly chosen item 136s 136s Hamster::List 136s #select 136s is lazy 136s with an empty array 136s with a block 136s preserves the original 136s returns the selected list 136s without a block 136s returns an Enumerator 136s with a single item array 136s with a block 136s preserves the original 136s returns the selected list 136s without a block 136s returns an Enumerator 136s with a multi-item array 136s with a block 136s preserves the original 136s returns the selected list 136s without a block 136s returns an Enumerator 136s with a multi-item single selectable array 136s with a block 136s preserves the original 136s returns the selected list 136s without a block 136s returns an Enumerator 136s with a multi-item multi-selectable array 136s with a block 136s preserves the original 136s returns the selected list 136s without a block 136s returns an Enumerator 136s 136s Hamster::List 136s #size 136s on a really big list 137s doesn't run out of stack 137s on [] 137s returns 0 137s on ["A"] 137s returns 1 137s on ["A", "B", "C"] 137s returns 3 137s #length 137s on a really big list 137s doesn't run out of stack 137s on [] 137s returns 0 137s on ["A"] 137s returns 1 137s on ["A", "B", "C"] 137s returns 3 137s 137s Hamster::List 137s #slice 137s when passed a positive integral index 137s returns the element at that index 137s leaves the original unchanged 137s when passed a negative integral index 137s returns the element which is number (index.abs) counting from the end of the list 137s when passed a positive integral index and count 137s returns 'count' elements starting from 'index' 137s leaves the original unchanged 137s when passed a negative integral index and count 137s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 137s when passed a Range 137s returns the elements whose indexes are within the given Range 137s leaves the original unchanged 137s when passed a subclass of Range 137s works the same as with a Range 137s #[] 137s when passed a positive integral index 137s returns the element at that index 137s leaves the original unchanged 137s when passed a negative integral index 137s returns the element which is number (index.abs) counting from the end of the list 137s when passed a positive integral index and count 137s returns 'count' elements starting from 'index' 137s leaves the original unchanged 137s when passed a negative integral index and count 137s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 137s when passed a Range 137s returns the elements whose indexes are within the given Range 137s leaves the original unchanged 137s when passed a subclass of Range 137s works the same as with a Range 137s 137s Hamster::List 137s #sort 137s is lazy 137s on [] 137s with a block 137s preserves the original 137s returns [] 137s without a block 137s preserves the original 137s returns [] 137s on ["A"] 137s with a block 137s preserves the original 137s returns ["A"] 137s without a block 137s preserves the original 137s returns ["A"] 137s on ["Ichi", "Ni", "San"] 137s with a block 137s preserves the original 137s returns ["Ni", "San", "Ichi"] 137s without a block 137s preserves the original 137s returns ["Ichi", "Ni", "San"] 137s #sort_by 137s is lazy 137s on [] 137s with a block 137s preserves the original 137s returns [] 137s without a block 137s preserves the original 137s returns [] 137s on ["A"] 137s with a block 137s preserves the original 137s returns ["A"] 137s without a block 137s preserves the original 137s returns ["A"] 137s on ["Ichi", "Ni", "San"] 137s with a block 137s preserves the original 137s returns ["Ni", "San", "Ichi"] 137s without a block 137s preserves the original 137s returns ["Ichi", "Ni", "San"] 137s 137s Hamster::list#span 137s is lazy 137s given a predicate (in the form of a block), splits the list into two lists 137s (returned as an array) such that elements in the first list (the prefix) are 137s taken from the head of the list while the predicate is satisfied, and elements 137s in the second list (the remainder) are the remaining elements from the list 137s once the predicate is not satisfied. For example: 137s given the list [] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [] 137s returns the remainder as [] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [1] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [1] 137s returns the remainder as [] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [1, 2] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [1, 2] 137s returns the remainder as [] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [1, 2, 3] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [1, 2] 137s returns the remainder as [3] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [1, 2, 3, 4] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [1, 2] 137s returns the remainder as [3, 4] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [2, 3, 4] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [2] 137s returns the remainder as [3, 4] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [3, 4] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [] 137s returns the remainder as [3, 4] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s given the list [4] 137s and a predicate that returns true for values <= 2 137s preserves the original 137s returns the prefix as [] 137s returns the remainder as [4] 137s calls the block only once for each element 137s without a predicate 137s returns a frozen array 137s returns self as the prefix 137s returns an empty list as the remainder 137s 137s Hamster::List 137s #split_at 137s is lazy 137s on [] 137s preserves the original 137s returns a frozen array with two items 137s correctly identifies the matches 137s correctly identifies the remainder 137s on [1] 137s preserves the original 137s returns a frozen array with two items 137s correctly identifies the matches 137s correctly identifies the remainder 137s on [1, 2] 137s preserves the original 137s returns a frozen array with two items 137s correctly identifies the matches 137s correctly identifies the remainder 137s on [1, 2, 3] 137s preserves the original 137s returns a frozen array with two items 137s correctly identifies the matches 137s correctly identifies the remainder 137s on [1, 2, 3, 4] 137s preserves the original 137s returns a frozen array with two items 137s correctly identifies the matches 137s correctly identifies the remainder 137s 137s Hamster::List 137s #subsequences 137s yields all sublists with 1 or more consecutive items 137s with no block 137s returns an Enumerator 137s 137s Hamster::List 137s #sum 137s on a really big list 137s doesn't run out of stack 137s on [] 137s returns 0 137s on [2] 137s returns 2 137s on [1, 3, 5, 7, 11] 137s returns 27 137s 137s Hamster::List 137s #tail 137s on a really big list 137s doesn't run out of stack 137s on [] 137s preserves the original 137s returns [] 137s on ["A"] 137s preserves the original 137s returns [] 137s on ["A", "B", "C"] 137s preserves the original 137s returns ["B", "C"] 137s 137s Hamster::List 137s #tails 137s is lazy 137s on [] 137s preserves the original 137s returns [] 137s on ["A"] 137s preserves the original 137s returns [Hamster::List["A"]] 137s on ["A", "B", "C"] 137s preserves the original 137s returns [Hamster::List["A", "B", "C"], Hamster::List["B", "C"], Hamster::List["C"]] 137s 137s Hamster::List 137s #take 137s is lazy 137s 10 from [] 137s preserves the original 137s returns [] 137s 10 from ["A"] 137s preserves the original 137s returns ["A"] 137s -1 from ["A"] 137s preserves the original 137s returns [] 137s 0 from ["A", "B", "C"] 137s preserves the original 137s returns [] 137s 2 from ["A", "B", "C"] 137s preserves the original 137s returns ["A", "B"] 137s 137s Hamster::List 137s #take_while 137s is lazy 137s on [] 137s with a block 137s returns [] 137s preserves the original 137s is lazy 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns ["A"] 137s preserves the original 137s is lazy 137s without a block 137s returns an Enumerator 137s on ["A", "B", "C"] 137s with a block 137s returns ["A", "B"] 137s preserves the original 137s is lazy 137s without a block 137s returns an Enumerator 137s 137s Hamster::List 137s #to_a 137s on a really big list 137s doesn't run out of stack 137s on [] 137s returns [] 137s leaves the original unchanged 137s returns a mutable array 137s on ["A"] 137s returns ["A"] 137s leaves the original unchanged 137s returns a mutable array 137s on ["A", "B", "C"] 137s returns ["A", "B", "C"] 137s leaves the original unchanged 137s returns a mutable array 137s #entries 137s on a really big list 137s doesn't run out of stack 137s on [] 137s returns [] 137s leaves the original unchanged 137s returns a mutable array 137s on ["A"] 137s returns ["A"] 137s leaves the original unchanged 137s returns a mutable array 137s on ["A", "B", "C"] 137s returns ["A", "B", "C"] 137s leaves the original unchanged 137s returns a mutable array 137s 137s Hamster::List 137s #to_ary 137s on a really big list 137s doesn't run out of stack 137s enables implicit conversion to 137s block parameters 137s method arguments 137s works with splat 137s 137s Hamster::List 137s #to_list 137s on [] 137s returns self 137s on ["A"] 137s returns self 137s on ["A", "B", "C"] 137s returns self 137s 137s Hamster::List 137s #to_set 137s on [] 137s returns a set with the same values 137s on ["A"] 137s returns a set with the same values 137s on ["A", "B", "C"] 137s returns a set with the same values 137s 137s Hamster::List 137s #transpose 137s takes a list of lists and returns a list of all the first elements, all the 2nd elements, and so on 137s only goes as far as the shortest list 137s 137s Hamster::List 137s #union 137s is lazy 137s returns [] 137s for [] and [] 137s for [] and [] 137s returns ["A"] 137s for ["A"] and [] 137s for [] and ["A"] 137s returns ["A", "B", "C"] 137s for ["A", "B", "C"] and [] 137s for [] and ["A", "B", "C"] 137s returns ["A"] 137s for ["A", "A"] and ["A"] 137s for ["A"] and ["A", "A"] 137s #| 137s is lazy 137s returns [] 137s for [] and [] 137s for [] and [] 137s returns ["A"] 137s for ["A"] and [] 137s for [] and ["A"] 137s returns ["A", "B", "C"] 137s for ["A", "B", "C"] and [] 137s for [] and ["A", "B", "C"] 137s returns ["A"] 137s for ["A", "A"] and ["A"] 137s for ["A"] and ["A", "A"] 137s 137s Hamster::List 137s #uniq 137s is lazy 137s when passed a block 137s uses the block to identify duplicates 137s on [] 137s preserves the original 137s returns [] 137s on ["A"] 137s preserves the original 137s returns ["A"] 137s on ["A", "B", "C"] 137s preserves the original 137s returns ["A", "B", "C"] 137s on ["A", "B", "A", "C", "C"] 137s preserves the original 137s returns ["A", "B", "C"] 137s 137s Hamster::List 137s #zip 137s is lazy 137s on [] and [] 137s returns [] 137s on ["A"] and ["aye"] 137s returns [Hamster::List["A", "aye"]] 137s on ["A"] and [] 137s returns [Hamster::List["A", nil]] 137s on [] and ["A"] 137s returns [Hamster::List[nil, "A"]] 137s on ["A", "B", "C"] and ["aye", "bee", "see"] 137s returns [Hamster::List["A", "aye"], Hamster::List["B", "bee"], Hamster::List["C", "see"]] 137s 137s Hamster 137s .from 137s with {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} as input 137s should return Hamster::Hash["a" => 1, "e" => Hamster::Hash["g" => 9, "f" => 8], "d" => Hamster::Set[7, 6, 5], "b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "h" => /ijk/] 137s with {} as input 137s should return Hamster::Hash[] 137s with {"a"=>1, "b"=>2, "c"=>3} as input 137s should return Hamster::Hash["a" => 1, "b" => 2, "c" => 3] 137s with [] as input 137s should return Hamster::Vector[] 137s with [1, 2, 3] as input 137s should return Hamster::Vector[1, 2, 3] 137s with # as input 137s should return Hamster::Set[] 137s with # as input 137s should return Hamster::Set[1, 3, 2] 137s with 42 as input 137s should return 42 137s with #> as input 137s should return #> 137s with # as input 137s should return Hamster::Hash[:address => nil, :name => nil] 137s with # as input 137s should return Hamster::Hash[:address => "123 Main", :name => "Dave"] 137s with mixed object 137s should return Hamster data 137s .to_ruby 137s with Hamster::Hash["a" => 1, "e" => Hamster::Hash["g" => 9, "f" => 8], "d" => Hamster::Set[7, 6, 5], "b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "h" => /ijk/] as input 137s should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} (PENDING: Temporarily skipped with xit) 137s with Hamster::Hash[] as input 137s should return {} (PENDING: Temporarily skipped with xit) 137s with Hamster::Hash["a" => 1, "b" => 2, "c" => 3] as input 137s should return {"a"=>1, "b"=>2, "c"=>3} (PENDING: Temporarily skipped with xit) 137s with Hamster::Vector[] as input 137s should return [] (PENDING: Temporarily skipped with xit) 137s with Hamster::Vector[1, 2, 3] as input 137s should return [1, 2, 3] (PENDING: Temporarily skipped with xit) 137s with Hamster::Set[] as input 137s should return # (PENDING: Temporarily skipped with xit) 137s with Hamster::Set[1, 3, 2] as input 137s should return # (PENDING: Temporarily skipped with xit) 137s with 42 as input 137s should return 42 (PENDING: Temporarily skipped with xit) 137s with #> as input 137s should return #> (PENDING: Temporarily skipped with xit) 137s with Hamster::Deque[] as input 137s should return [] 137s with Hamster::Deque[Hamster::Hash["a" => 1]] as input 137s should return [{"a" => 1}] 137s with Hamster::SortedSet[] as input 137s should return ::SortedSet.new 137s with Hamster::SortedSet[1, 2, 3] as input 137s should return ::SortedSet.new 137s with mixed object 137s should return Ruby data structures 137s 137s Hamster::Set 137s #add 137s can add nil to a set 137s works on large sets, with many combinations of input 137s with a unique value 137s preserves the original 137s returns a copy with the superset of values 137s with a duplicate value 137s preserves the original values 137s returns self 137s #<< 137s can add nil to a set 137s works on large sets, with many combinations of input 137s with a unique value 137s preserves the original 137s returns a copy with the superset of values 137s with a duplicate value 137s preserves the original values 137s returns self 137s #add? 137s with a unique value 137s preserves the original 137s returns a copy with the superset of values 137s with a duplicate value 137s preserves the original values 137s returns false 137s 137s Hamster::Set 137s #all? 137s when empty 137s with a block returns true 137s with no block returns true 137s when not empty 137s with a block 137s returns true if the block always returns true 137s returns false if the block ever returns false 137s propagates an exception from the block 137s stops iterating as soon as the block returns false 137s with no block 137s returns true if all values are truthy 137s returns false if any value is nil 137s returns false if any value is false 137s 137s Hamster::Set 137s #any? 137s when empty 137s with a block returns false 137s with no block returns false 137s when not empty 137s with a block 137s returns true if the block ever returns true ("A") 137s returns true if the block ever returns true ("B") 137s returns true if the block ever returns true ("C") 137s returns true if the block ever returns true (nil) 137s returns false if the block always returns false 137s propagates exceptions raised in the block 137s stops iterating as soon as the block returns true 137s with no block 137s returns true if any value is truthy 137s returns false if all values are falsey 137s 137s Hamster::Set 137s #clear 137s on [] 137s preserves the original 137s returns an empty set 137s on ["A"] 137s preserves the original 137s returns an empty set 137s on ["A", "B", "C"] 137s preserves the original 137s returns an empty set 137s from a subclass 137s returns an empty instance of the subclass 137s 137s Hamster::Set 137s #compact 137s on [] 137s preserves the original 137s returns [] 137s on ["A"] 137s preserves the original 137s returns ["A"] 137s on ["A", "B", "C"] 137s preserves the original 137s returns ["A", "B", "C"] 137s on [nil] 137s preserves the original 137s returns [] 137s on [nil, "B"] 137s preserves the original 137s returns ["B"] 137s on ["A", nil] 137s preserves the original 137s returns ["A"] 137s on [nil, nil] 137s preserves the original 137s returns [] 137s on ["A", nil, "C"] 137s preserves the original 137s returns ["A", "C"] 137s on [nil, "B", nil] 137s preserves the original 137s returns ["B"] 137s 137s Hamster::Set 137s .set 137s with no values 137s returns the empty set 137s with a list of values 137s is equivalent to repeatedly using #add 137s 137s Hamster::Set 137s #dup 137s returns self 137s #clone 137s returns self 137s 137s Hamster::Set 137s #count 137s works on large sets 137s on [] 137s with a block 137s returns 0 137s without a block 137s returns length 137s on [1] 137s with a block 137s returns 1 137s without a block 137s returns length 137s on [1, 2] 137s with a block 137s returns 1 137s without a block 137s returns length 137s on [1, 2, 3] 137s with a block 137s returns 2 137s without a block 137s returns length 137s on [1, 2, 3, 4] 137s with a block 137s returns 2 137s without a block 137s returns length 137s on [1, 2, 3, 4, 5] 137s with a block 137s returns 3 137s without a block 137s returns length 137s 137s Hamster::Set 137s #delete 137s works on large sets, with many combinations of input 137s with an existing value 137s preserves the original 137s returns a copy with the remaining values 137s with a non-existing value 137s preserves the original values 137s returns self 137s when removing the last value in a set 137s returns the canonical empty set 137s #delete? 137s with an existing value 137s preserves the original 137s returns a copy with the remaining values 137s with a non-existing value 137s preserves the original values 137s returns false 137s 137s Hamster::Set 137s #difference 137s works on a wide variety of inputs 137s for [] and [] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and [] 137s doesn't modify the original Sets 137s returns ["A"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and ["A"] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B"] 137s doesn't modify the original Sets 137s returns ["A", "C"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["A", "C"] 137s doesn't modify the original Sets 137s returns ["B"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 137s doesn't modify the original Sets 137s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 137s doesn't modify the original Sets 137s returns ["A", "M", "Y", "Z"] 137s when passed a Ruby Array 137s returns the expected Set 137s #subtract 137s works on a wide variety of inputs 137s for [] and [] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and [] 137s doesn't modify the original Sets 137s returns ["A"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and ["A"] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B"] 137s doesn't modify the original Sets 137s returns ["A", "C"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["A", "C"] 137s doesn't modify the original Sets 137s returns ["B"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 137s doesn't modify the original Sets 137s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 137s doesn't modify the original Sets 137s returns ["A", "M", "Y", "Z"] 137s when passed a Ruby Array 137s returns the expected Set 137s #- 137s works on a wide variety of inputs 137s for [] and [] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and [] 137s doesn't modify the original Sets 137s returns ["A"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and ["A"] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B"] 137s doesn't modify the original Sets 137s returns ["A", "C"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["A", "C"] 137s doesn't modify the original Sets 137s returns ["B"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 137s doesn't modify the original Sets 137s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 137s doesn't modify the original Sets 137s returns ["A", "M", "Y", "Z"] 137s when passed a Ruby Array 137s returns the expected Set 137s 137s Hamster::Set 137s #disjoint? 137s for [] and [] 137s returns true 137s for ["A"] and [] 137s returns true 137s for [] and ["A"] 137s returns true 137s for ["A"] and ["A"] 137s returns false 137s for ["A", "B", "C"] and ["B"] 137s returns false 137s for ["B"] and ["A", "B", "C"] 137s returns false 137s for ["A", "B", "C"] and ["D", "E"] 137s returns true 137s for ["F", "G", "H", "I"] and ["A", "B", "C"] 137s returns true 137s for ["A", "B", "C"] and ["A", "B", "C"] 137s returns false 137s for ["A", "B", "C"] and ["A", "B", "C", "D"] 137s returns false 137s for ["D", "E", "F", "G"] and ["A", "B", "C"] 137s returns true 137s 137s Hamster::Set 137s #each 137s yields both of a pair of colliding keys 137s without a block 137s returns an Enumerator 137s with an empty block 137s returns self 137s with a block 137s yields all values 137s 137s Hamster::Set 137s #empty? 137s on [] 137s returns true 137s on ["A"] 137s returns false 137s on ["A", "B", "C"] 137s returns false 137s on [nil] 137s returns false 137s on [false] 137s returns false 137s .empty 137s returns the canonical empty set 137s from a subclass 137s returns an empty instance of the subclass 137s calls overridden #initialize when creating empty Set 137s 137s Hamster::Set 137s #== 137s when comparing to a standard set 137s returns false 137s when comparing to a arbitrary object 137s returns false 137s with an empty set for each comparison 137s returns true 137s with an empty set and a set with nil 137s returns false 137s with a single item array and empty array 137s returns false 137s with matching single item array 137s returns true 137s with mismatching single item array 137s returns false 137s with a multi-item array and single item array 137s returns false 137s with matching multi-item array 137s returns true 137s with a mismatching multi-item array 137s returns true 137s 137s Hamster::Set 137s #eql? 137s when comparing to a standard set 137s returns false 137s when comparing to a arbitrary object 137s returns false 137s when comparing with a subclass of Hamster::Set 137s returns false 137s with an empty set for each comparison 137s returns true 137s with an empty set and a set with nil 137s returns false 137s with a single item array and empty array 137s returns false 137s with matching single item array 137s returns true 137s with mismatching single item array 137s returns false 137s with a multi-item array and single item array 137s returns false 137s with matching multi-item array 137s returns true 137s with a mismatching multi-item array 137s returns true 137s 137s Hamster::Set 137s #exclusion 137s works for a wide variety of inputs 137s for [] and [] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and [] 137s doesn't modify the original Sets 137s returns ["A"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and ["A"] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B"] 137s doesn't modify the original Sets 137s returns ["A", "C"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B", "C", "D"] 137s doesn't modify the original Sets 137s returns ["A", "D"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["D", "E", "F"] 137s doesn't modify the original Sets 137s returns ["A", "B", "C", "D", "E", "F"] 137s when passed a Ruby Array 137s returns the expected Set 137s #^ 137s works for a wide variety of inputs 137s for [] and [] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and [] 137s doesn't modify the original Sets 137s returns ["A"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A"] and ["A"] 137s doesn't modify the original Sets 137s returns [] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B"] 137s doesn't modify the original Sets 137s returns ["A", "C"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["B", "C", "D"] 137s doesn't modify the original Sets 137s returns ["A", "D"] 137s when passed a Ruby Array 137s returns the expected Set 137s for ["A", "B", "C"] and ["D", "E", "F"] 137s doesn't modify the original Sets 137s returns ["A", "B", "C", "D", "E", "F"] 137s when passed a Ruby Array 137s returns the expected Set 137s 137s Hamster::Set 137s #find 137s on [] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on [] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns "A" 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns "A" 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns "B" 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s #detect 137s on [] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on [] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns "A" 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A"] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns "A" 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns "B" 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s on ["A", "B", nil] 137s with a block 137s returns nil 137s without a block 137s returns an Enumerator 137s 137s Hamster::Set 137s #first 137s returns nil if only member of set is nil 137s returns the first item yielded by #each 137s on an empty set 137s returns nil 137s on a non-empty set 137s returns an arbitrary value from the set 137s 137s Hamster 137s #flatten 137s on ["A"] 137s preserves the original 137s returns the inlined values 137s on ["A", "B", "C"] 137s preserves the original 137s returns the inlined values 137s on ["A", Hamster::Set["B"], "C"] 137s preserves the original 137s returns the inlined values 137s on [Hamster::Set["A"], Hamster::Set["B"], Hamster::Set["C"]] 137s preserves the original 137s returns the inlined values 137s on an empty set 137s returns an empty set 137s on a set with multiple levels of nesting 137s inlines lower levels of nesting 137s from a subclass 137s returns an instance of the subclass 137s 137s Hamster::Set 137s #grep 137s without a block 137s with an empty set 137s returns the filtered values 137s with a single item set 137s returns the filtered values 137s with a single item set that doesn't contain match 137s returns the filtered values 137s with a multi-item set where one isn't a match 137s returns the filtered values 137s with a block 137s processes each matching item with the block 137s returns the filtered values 137s 137s Hamster::Set 137s #grep_v 137s without a block 137s with an empty set 137s returns the filtered values 137s with a single item set 137s returns the filtered values 137s with a single item set that doesn't contain match 137s returns the filtered values 137s with a multi-item set where one isn't a match 137s returns the filtered values 137s with a block 137s resulting items are processed with the block 137s returns the filtered values 137s 137s Hamster::Set 137s #group_by 137s returns a hash without default proc 137s with a block 137s on [] 137s returns [] 137s on [1] 137s returns [{true=>Hamster::Set[1]}] 137s on [1, 2, 3, 4] 137s returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] 137s without a block 137s on [] 137s returns [] 137s on [1] 137s returns [{1=>Hamster::Set[1]}] 137s on [1, 2, 3, 4] 137s returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] 137s on an empty set 137s returns an empty hash 137s from a subclass 137s returns an Hash whose values are instances of the subclass 137s #group 137s returns a hash without default proc 137s with a block 137s on [] 137s returns [] 137s on [1] 137s returns [{true=>Hamster::Set[1]}] 137s on [1, 2, 3, 4] 137s returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] 137s without a block 137s on [] 137s returns [] 137s on [1] 137s returns [{1=>Hamster::Set[1]}] 137s on [1, 2, 3, 4] 137s returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] 137s on an empty set 137s returns an empty hash 137s from a subclass 137s returns an Hash whose values are instances of the subclass 137s #classify 137s returns a hash without default proc 137s with a block 137s on [] 137s returns [] 137s on [1] 137s returns [{true=>Hamster::Set[1]}] 137s on [1, 2, 3, 4] 137s returns [{true=>Hamster::Set[1, 3], false=>Hamster::Set[4, 2]}] 137s without a block 137s on [] 138s returns [] 138s on [1] 138s returns [{1=>Hamster::Set[1]}] 138s on [1, 2, 3, 4] 138s returns [{1=>Hamster::Set[1], 2=>Hamster::Set[2], 3=>Hamster::Set[3], 4=>Hamster::Set[4]}] 138s on an empty set 138s returns an empty hash 138s from a subclass 138s returns an Hash whose values are instances of the subclass 138s 138s Hamster::Set 138s #hash 138s generates the same hash value for a set regardless of the order things were added to it 138s values are sufficiently distributed 138s on an empty set 138s returns 0 138s 138s Hamster::Set 138s includes Immutable 138s 138s Hamster::Set 138s #include? 138s returns true for an existing value ("A") 138s returns true for an existing value ("B") 138s returns true for an existing value ("C") 138s returns true for an existing value (2.0) 138s returns true for an existing value (nil) 138s returns false for a non-existing value 138s returns true even if existing value is nil 138s returns true even if existing value is false 138s returns false for a mutable item which is mutated after adding 138s uses #eql? for equality 138s returns the right answers after a lot of addings and removings 138s #member? 138s returns true for an existing value ("A") 138s returns true for an existing value ("B") 138s returns true for an existing value ("C") 138s returns true for an existing value (2.0) 138s returns true for an existing value (nil) 138s returns false for a non-existing value 138s returns true even if existing value is nil 138s returns true even if existing value is false 138s returns false for a mutable item which is mutated after adding 138s uses #eql? for equality 138s returns the right answers after a lot of addings and removings 138s 138s Hamster::Set 138s #inspect 138s on [] 138s returns "Hamster::Set[]" 138s returns a string which can be eval'd to get an equivalent set 138s on ["A"] 138s returns "Hamster::Set[\"A\"]" 138s returns a string which can be eval'd to get an equivalent set 138s on ["A", "B", "C"] 138s returns a programmer-readable representation of the set contents 138s returns a string which can be eval'd to get an equivalent set 138s from a subclass 138s returns a programmer-readable representation of the set contents 138s returns a string which can be eval'd to get an equivalent set 138s 138s Hamster::Set 138s #intersect? 138s for [] and [] 138s returns false 138s for ["A"] and [] 138s returns false 138s for [] and ["A"] 138s returns false 138s for ["A"] and ["A"] 138s returns true 138s for ["A", "B", "C"] and ["B"] 138s returns true 138s for ["B"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["D", "E"] 138s returns false 138s for ["F", "G", "H", "I"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns true 138s for ["D", "E", "F", "G"] and ["A", "B", "C"] 138s returns false 138s 138s Hamster::Set 138s #intersection 138s returns results consistent with Array#& 138s for [] and [] 138s returns [], without changing the original Sets 138s for [] and [] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A"] and [] 138s returns [], without changing the original Sets 138s for [] and ["A"] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A", "B", "C"] and ["B"] 138s returns ["B"], without changing the original Sets 138s for ["B"] and ["A", "B", "C"] 138s returns ["B"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A", "B", "C"] and ["A", "C"] 138s returns ["A", "C"], without changing the original Sets 138s for ["A", "C"] and ["A", "B", "C"] 138s returns ["A", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s #& 138s returns results consistent with Array#& 138s for [] and [] 138s returns [], without changing the original Sets 138s for [] and [] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A"] and [] 138s returns [], without changing the original Sets 138s for [] and ["A"] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A", "B", "C"] and ["B"] 138s returns ["B"], without changing the original Sets 138s for ["B"] and ["A", "B", "C"] 138s returns ["B"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s for ["A", "B", "C"] and ["A", "C"] 138s returns ["A", "C"], without changing the original Sets 138s for ["A", "C"] and ["A", "B", "C"] 138s returns ["A", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s 138s Hamster::Set 138s #join 138s with a separator 138s on [] 138s preserves the original 138s returns "" 138s on ["A"] 138s preserves the original 138s returns "A" 138s on ["A", "B", "C"] 138s preserves the original 138s returns "A|B|C" 138s without a separator 138s on [] 138s preserves the original 138s returns "" 138s on ["A"] 138s preserves the original 138s returns "A" 138s on ["A", "B", "C"] 138s preserves the original 138s returns "ABC" 138s without a separator (with global default separator set) 138s on ['A', 'B', 'C'] 138s preserves the original 138s returns nil 138s 138s Hamster::Set 138s #map 138s works on large sets 138s when empty 138s returns self 138s when not empty 138s with a block 138s preserves the original values 138s returns a new set with the mapped values 138s with no block 138s returns an Enumerator 138s from a subclass 138s returns an instance of the subclass 138s when multiple items map to the same value 138s filters out the duplicates 138s #collect 138s works on large sets 138s when empty 138s returns self 138s when not empty 138s with a block 138s preserves the original values 138s returns a new set with the mapped values 138s with no block 138s returns an Enumerator 138s from a subclass 138s returns an instance of the subclass 138s when multiple items map to the same value 138s filters out the duplicates 138s 138s Hamster::Set 138s #marshal_dump/#marshal_load 138s can survive dumping and loading into a new process 138s is still possible to test items by key after loading 138s 138s Hamster::Set 138s #max 138s with a block 138s on [] 138s returns nil 138s on ["A"] 138s returns "A" 138s on ["Ichi", "Ni", "San"] 138s returns "Ichi" 138s without a block 138s on [] 138s returns nil 138s on ["A"] 138s returns "A" 138s on ["Ichi", "Ni", "San"] 138s returns "San" 138s 138s Hamster::Set 138s #min 138s with a block 138s on [] 138s returns nil 138s on ["A"] 138s returns "A" 138s on ["Ichi", "Ni", "San"] 138s returns "Ni" 138s without a block 138s on [] 138s returns nil 138s on ["A"] 138s returns "A" 138s on ["Ichi", "Ni", "San"] 138s returns "Ichi" 138s 138s Hamster::Set 138s .new 138s initializes a new set 138s accepts a Range 138s returns a Set which doesn't change even if the initializer is mutated 138s is amenable to overriding of #initialize 138s from a subclass 138s returns a frozen instance of the subclass 138s [] 138s accepts any number of arguments and initializes a new set 138s 138s Hamster::Set 138s #none? 138s when empty 138s with a block returns true 138s with no block returns true 138s when not empty 138s with a block 138s returns false if the block ever returns true ("A") 138s returns false if the block ever returns true ("B") 138s returns false if the block ever returns true ("C") 138s returns false if the block ever returns true (nil) 138s returns true if the block always returns false 138s stops iterating as soon as the block returns true 138s with no block 138s returns false if any value is truthy 138s returns true if all values are falsey 138s 138s Hamster::Set 138s #one? 138s when empty 138s with a block returns false 138s with no block returns false 138s when not empty 138s with a block 138s returns false if the block returns true more than once 138s returns false if the block never returns true 138s returns true if the block only returns true once 138s with no block 138s returns false if more than one value is truthy 138s returns true if only one value is truthy 138s returns false if no values are truthy 138s 138s Hamster::Set 138s #partition 138s on [] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [1] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [1, 2] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [1, 2, 3] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [1, 2, 3, 4] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [2, 3, 4] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [3, 4] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s on [4] 138s with a block 138s preserves the original 138s returns a frozen array with two items 138s correctly identifies the matches 138s correctly identifies the remainder 138s without a block 138s returns an Enumerator 138s 138s Hamster::Set 138s #product 138s on [] 138s returns 1 138s doesn't change the original Set 138s on [2] 138s returns 2 138s doesn't change the original Set 138s on [1, 3, 5, 7, 11] 138s returns 1155 138s doesn't change the original Set 138s 138s Hamster::Set 138s #reduce 138s on [] 138s with an initial value of 10 138s and a block 138s returns 10 138s on [1] 138s with an initial value of 10 138s and a block 138s returns 9 138s on [1, 2, 3] 138s with an initial value of 10 138s and a block 138s returns 4 138s on [] 138s with no initial value 138s and a block 138s returns nil 138s on [1] 138s with no initial value 138s and a block 138s returns 1 138s on [1, 2, 3] 138s with no initial value 138s and a block 138s returns 6 138s with no block and a symbol argument 138s uses the symbol as the name of a method to reduce with 138s with no block and a string argument 138s uses the string as the name of a method to reduce with 138s #inject 138s on [] 138s with an initial value of 10 138s and a block 138s returns 10 138s on [1] 138s with an initial value of 10 138s and a block 138s returns 9 138s on [1, 2, 3] 138s with an initial value of 10 138s and a block 138s returns 4 138s on [] 138s with no initial value 138s and a block 138s returns nil 138s on [1] 138s with no initial value 138s and a block 138s returns 1 138s on [1, 2, 3] 138s with no initial value 138s and a block 138s returns 6 138s with no block and a symbol argument 138s uses the symbol as the name of a method to reduce with 138s with no block and a string argument 138s uses the string as the name of a method to reduce with 138s 138s Hamster::Set 138s #reject 138s when nothing matches 138s returns self 138s when only some things match 138s with a block 138s preserves the original 138s returns a set with the matching values 138s with no block 138s returns self 138s on a large set, with many combinations of input 138s still works 138s #delete_if 138s when nothing matches 138s returns self 138s when only some things match 138s with a block 138s preserves the original 138s returns a set with the matching values 138s with no block 138s returns self 138s on a large set, with many combinations of input 138s still works 138s 138s Hamster::Set 138s #reverse_each 138s without a block 138s returns an Enumerator 138s with an empty block 138s returns self 138s with a block 138s yields all values 138s 138s Hamster::Set 138s #sample 138s returns a randomly chosen item 138s 138s Hamster::Set 138s #select 138s works on a large set, with many combinations of input 138s when everything matches 138s returns self 138s when only some things match 138s with a block 138s preserves the original 138s returns a set with the matching values 138s with no block 138s returns an Enumerator 138s when nothing matches 138s preserves the original 138s returns the canonical empty set 138s from a subclass 138s returns an instance of the same class 138s #find_all 138s works on a large set, with many combinations of input 138s when everything matches 138s returns self 138s when only some things match 138s with a block 138s preserves the original 138s returns a set with the matching values 138s with no block 138s returns an Enumerator 138s when nothing matches 138s preserves the original 138s returns the canonical empty set 138s from a subclass 138s returns an instance of the same class 138s 138s Hamster::Set 138s #size 138s returns 0 for [] 138s returns 1 for ["A"] 138s returns 3 for ["A", "B", "C"] 138s #length 138s returns 0 for [] 138s returns 1 for ["A"] 138s returns 3 for ["A", "B", "C"] 138s 138s Hamster::Set 138s #sort 138s on [] 138s with a block 138s returns [] 138s doesn't change the original Set 138s without a block 138s returns [] 138s doesn't change the original Set 138s on ["A"] 138s with a block 138s returns ["A"] 138s doesn't change the original Set 138s without a block 138s returns ["A"] 138s doesn't change the original Set 138s on ["Ichi", "Ni", "San"] 138s with a block 138s returns ["Ni", "San", "Ichi"] 138s doesn't change the original Set 138s without a block 138s returns ["Ichi", "Ni", "San"] 138s doesn't change the original Set 138s #sort_by 138s on [] 138s with a block 138s returns [] 138s doesn't change the original Set 138s without a block 138s returns [] 138s doesn't change the original Set 138s on ["A"] 138s with a block 138s returns ["A"] 138s doesn't change the original Set 138s without a block 138s returns ["A"] 138s doesn't change the original Set 138s on ["Ichi", "Ni", "San"] 138s with a block 138s returns ["Ni", "San", "Ichi"] 138s doesn't change the original Set 138s without a block 138s returns ["Ichi", "Ni", "San"] 138s doesn't change the original Set 138s #sort_by 138s only calls the passed block once for each item 138s 138s Hamster::Set 138s #subset? 138s for [] and [] 138s returns true 138s for ["A"] and [] 138s returns false 138s for [] and ["A"] 138s returns true 138s for ["A"] and ["A"] 138s returns true 138s for ["A", "B", "C"] and ["B"] 138s returns false 138s for ["B"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "C"] 138s returns false 138s for ["A", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns true 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns false 138s #<= 138s for [] and [] 138s returns true 138s for ["A"] and [] 138s returns false 138s for [] and ["A"] 138s returns true 138s for ["A"] and ["A"] 138s returns true 138s for ["A", "B", "C"] and ["B"] 138s returns false 138s for ["B"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "C"] 138s returns false 138s for ["A", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns true 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns false 138s #proper_subset? 138s for [] and [] 138s returns false 138s for ["A"] and [] 138s returns false 138s for [] and ["A"] 138s returns true 138s for ["A"] and ["A"] 138s returns false 138s for ["A", "B", "C"] and ["B"] 138s returns false 138s for ["B"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "C"] 138s returns false 138s for ["A", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns true 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns false 138s #< 138s for [] and [] 138s returns false 138s for ["A"] and [] 138s returns false 138s for [] and ["A"] 138s returns true 138s for ["A"] and ["A"] 138s returns false 138s for ["A", "B", "C"] and ["B"] 138s returns false 138s for ["B"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "C"] 138s returns false 138s for ["A", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns true 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns false 138s 138s Hamster::Set 138s #sum 138s on [] 138s returns 0 138s doesn't change the original Set 138s on [2] 138s returns 2 138s doesn't change the original Set 138s on [1, 3, 5, 7, 11] 138s returns 27 138s doesn't change the original Set 138s 138s Hamster::Set 138s #superset? 138s for [] and [] 138s returns true 138s for ["A"] and [] 138s returns true 138s for [] and ["A"] 138s returns false 138s for ["A"] and ["A"] 138s returns true 138s for ["A", "B", "C"] and ["B"] 138s returns true 138s for ["B"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "C"] 138s returns true 138s for ["A", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns false 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns true 138s #>= 138s for [] and [] 138s returns true 138s for ["A"] and [] 138s returns true 138s for [] and ["A"] 138s returns false 138s for ["A"] and ["A"] 138s returns true 138s for ["A", "B", "C"] and ["B"] 138s returns true 138s for ["B"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "C"] 138s returns true 138s for ["A", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns true 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns false 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns true 138s #proper_superset? 138s for [] and [] 138s returns false 138s for ["A"] and [] 138s returns true 138s for [] and ["A"] 138s returns false 138s for ["A"] and ["A"] 138s returns false 138s for ["A", "B", "C"] and ["B"] 138s returns true 138s for ["B"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "C"] 138s returns true 138s for ["A", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns false 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns true 138s #> 138s for [] and [] 138s returns false 138s for ["A"] and [] 138s returns true 138s for [] and ["A"] 138s returns false 138s for ["A"] and ["A"] 138s returns false 138s for ["A", "B", "C"] and ["B"] 138s returns true 138s for ["B"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "C"] 138s returns true 138s for ["A", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns false 138s for ["A", "B", "C"] and ["A", "B", "C", "D"] 138s returns false 138s for ["A", "B", "C", "D"] and ["A", "B", "C"] 138s returns true 138s 138s Hamster::Set 138s #to_a 138s on 'a'..'a' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'b' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'c' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'d' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'e' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'f' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'g' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'h' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'i' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'j' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'k' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'l' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'m' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'n' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'o' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'p' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'q' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'r' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'s' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'t' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'u' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'v' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'w' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'x' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'y' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'z' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s #entries 138s on 'a'..'a' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'b' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'c' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'d' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'e' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'f' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'g' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'h' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'i' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'j' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'k' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'l' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'m' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'n' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'o' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'p' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'q' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'r' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'s' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'t' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'u' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'v' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'w' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'x' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'y' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s on 'a'..'z' 138s returns an equivalent array 138s doesn't change the original Set 138s returns a mutable array 138s 138s Hamster::Set 138s #to_list 138s on [] 138s returns a list 138s doesn't change the original Set 138s the returned list 138s has the correct length 138s contains all values 138s on ["A"] 138s returns a list 138s doesn't change the original Set 138s the returned list 138s has the correct length 138s contains all values 138s on ["A", "B", "C"] 138s returns a list 138s doesn't change the original Set 138s the returned list 138s has the correct length 138s contains all values 138s 138s Hamster::Set 138s #to_set 138s on [] 138s returns self 138s on ["A"] 138s returns self 138s on ["A", "B", "C"] 138s returns self 138s 138s Hamster::Set 138s #union 138s for [] and [] 138s returns [], without changing the original Sets 138s for [] and [] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A"] and [] 138s returns ["A"], without changing the original Sets 138s for [] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for [] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and [] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and [] 138s returns ["A", "B", "C"], without changing the original Sets 138s for [] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and ["X", "Y", "Z"] 138s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 138s for ["X", "Y", "Z"] and ["A", "B", "C"] 138s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s when receiving a subset 138s returns self 138s #| 138s for [] and [] 138s returns [], without changing the original Sets 138s for [] and [] 138s returns [], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A"] and [] 138s returns ["A"], without changing the original Sets 138s for [] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and ["A"] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for [] and ["A"] 138s returns ["A"], without changing the original Sets 138s for ["A"] and [] 138s returns ["A"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and [] 138s returns ["A", "B", "C"], without changing the original Sets 138s for [] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s for ["A", "B", "C"] and ["A", "B", "C"] 138s returns ["A", "B", "C"], without changing the original Sets 138s when passed a Ruby Array 138s returns the expected Set 138s from a subclass 138s returns an instance of the subclass 138s for ["A", "B", "C"] and ["X", "Y", "Z"] 138s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 138s for ["X", "Y", "Z"] and ["A", "B", "C"] 139s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s when receiving a subset 139s returns self 139s #+ 139s for [] and [] 139s returns [], without changing the original Sets 139s for [] and [] 139s returns [], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A"] and [] 139s returns ["A"], without changing the original Sets 139s for [] and ["A"] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A"] and ["A"] 139s returns ["A"], without changing the original Sets 139s for ["A"] and ["A"] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for [] and ["A"] 139s returns ["A"], without changing the original Sets 139s for ["A"] and [] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"], without changing the original Sets 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and ["X", "Y", "Z"] 139s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 139s for ["X", "Y", "Z"] and ["A", "B", "C"] 139s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s when receiving a subset 139s returns self 139s #merge 139s for [] and [] 139s returns [], without changing the original Sets 139s for [] and [] 139s returns [], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A"] and [] 139s returns ["A"], without changing the original Sets 139s for [] and ["A"] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A"] and ["A"] 139s returns ["A"], without changing the original Sets 139s for ["A"] and ["A"] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for [] and ["A"] 139s returns ["A"], without changing the original Sets 139s for ["A"] and [] 139s returns ["A"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"], without changing the original Sets 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns ["A", "B", "C"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s for ["A", "B", "C"] and ["X", "Y", "Z"] 139s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 139s for ["X", "Y", "Z"] and ["A", "B", "C"] 139s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 139s when passed a Ruby Array 139s returns the expected Set 139s from a subclass 139s returns an instance of the subclass 139s when receiving a subset 139s returns self 139s 139s Hamster::SortedSet 139s #above 139s when called without a block 139s returns a sorted set of all items higher than the argument 139s when called with a block 139s yields all the items higher than the argument 139s on an empty set 139s returns an empty set 139s with an argument higher than all the values in the set 139s returns an empty set 139s 139s Hamster::SortedSet 139s #add 139s with a unique value 139s preserves the original 139s returns a copy with the superset of values (in order) 139s with a duplicate value 139s preserves the original values 139s returns self 139s on a set ordered by a comparator 139s inserts the new item in the correct place 139s #<< 139s with a unique value 139s preserves the original 139s returns a copy with the superset of values (in order) 139s with a duplicate value 139s preserves the original values 139s returns self 139s on a set ordered by a comparator 139s inserts the new item in the correct place 139s #add? 139s with a unique value 139s preserves the original 139s returns a copy with the superset of values 139s with a duplicate value 139s preserves the original values 139s returns false 139s 139s Hamster::SortedSet 139s #at 139s [] with 10 139s returns nil 139s ["A"] with 10 139s returns nil 139s ["A", "B", "C"] with 0 139s returns "A" 139s ["A", "B", "C"] with 1 139s returns "B" 139s ["A", "B", "C"] with 2 139s returns "C" 139s ["A", "B", "C"] with 3 139s returns nil 139s ["A", "B", "C"] with -1 139s returns "C" 139s ["A", "B", "C"] with -2 139s returns "B" 139s ["A", "B", "C"] with -3 139s returns "A" 139s ["A", "B", "C"] with -4 139s returns nil 139s 139s Hamster::SortedSet 139s #below 139s when called without a block 139s returns a sorted set of all items lower than the argument 139s when called with a block 139s yields all the items lower than the argument 139s on an empty set 139s returns an empty set 139s with an argument lower than all the values in the set 139s returns an empty set 139s 139s Hamster::SortedSet 139s #between 139s when called without a block 139s returns a sorted set of all items from the first argument to the second 139s when called with a block 139s yields all the items lower than the argument 139s on an empty set 139s returns an empty set 139s with a 'to' argument lower than the 'from' argument 139s returns an empty set 139s 139s Hamster::SortedSet 139s #clear 139s on [] 139s preserves the original 139s returns an empty set 139s on ["A"] 139s preserves the original 139s returns an empty set 139s on ["A", "B", "C"] 139s preserves the original 139s returns an empty set 139s from a subclass 139s returns an empty instance of the subclass 139s with a comparator 139s returns an empty instance with same comparator 139s 139s Hamster::SortedSet 139s on [] 139s returns self 139s on ["A"] 139s returns self 139s on ["A", "B", "C"] 139s returns self 139s on 1..32 139s returns self 139s on [] 139s returns self 139s on ["A"] 139s returns self 139s on ["A", "B", "C"] 139s returns self 139s on 1..32 139s returns self 139s 139s Hamster::SortedSet 139s #delete_at 139s removes the element at the specified index 139s makes no modification if the index is out of range 139s 139s Hamster::SortedSet 139s #delete 139s on an empty set 139s returns an empty set 139s with an existing value 139s preserves the original 139s returns a copy with the remaining of values 139s with a non-existing value 139s preserves the original values 139s returns self 139s when removing the last value in a sorted set 139s maintains the set order 139s when the set is in natural order 139s returns the canonical empty set 139s on [1, 2, 3], when deleting [1, 2, 3] 139s returns [] 139s on [1, 2, 3, 4], when deleting [1, 2, 3] 139s returns [4] 139s on [1, 2, 3, 4], when deleting [1, 2, 4] 139s returns [3] 139s on [1, 2, 3, 4], when deleting [1, 3, 4] 139s returns [2] 139s on [1, 2, 3, 4], when deleting [2, 3, 4] 139s returns [1] 139s on [1, 2, 3, 4, 5], when deleting [1, 2, 3] 139s returns [4, 5] 139s on [1, 2, 3, 4, 5], when deleting [1, 2, 4] 139s returns [3, 5] 139s on [1, 2, 3, 4, 5], when deleting [1, 2, 5] 139s returns [3, 4] 139s on [1, 2, 3, 4, 5], when deleting [1, 3, 4] 139s returns [2, 5] 139s on [1, 2, 3, 4, 5], when deleting [1, 3, 5] 139s returns [2, 4] 139s on [1, 2, 3, 4, 5], when deleting [1, 4, 5] 139s returns [2, 3] 139s on [1, 2, 3, 4, 5], when deleting [2, 3, 4] 139s returns [1, 5] 139s on [1, 2, 3, 4, 5], when deleting [2, 3, 5] 139s returns [1, 4] 139s on [1, 2, 3, 4, 5], when deleting [2, 4, 5] 139s returns [1, 3] 139s on [1, 2, 3, 4, 5], when deleting [3, 4, 5] 139s returns [1, 2] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 3] 139s returns [4, 5, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 4] 139s returns [3, 5, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 5] 139s returns [3, 4, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 6] 139s returns [3, 4, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 4] 139s returns [2, 5, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 5] 139s returns [2, 4, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 6] 139s returns [2, 4, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 5] 139s returns [2, 3, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 6] 139s returns [2, 3, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [1, 5, 6] 139s returns [2, 3, 4] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 4] 139s returns [1, 5, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 5] 139s returns [1, 4, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 6] 139s returns [1, 4, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 5] 139s returns [1, 3, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 6] 139s returns [1, 3, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [2, 5, 6] 139s returns [1, 3, 4] 139s on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 5] 139s returns [1, 2, 6] 139s on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 6] 139s returns [1, 2, 5] 139s on [1, 2, 3, 4, 5, 6], when deleting [3, 5, 6] 139s returns [1, 2, 4] 139s on [1, 2, 3, 4, 5, 6], when deleting [4, 5, 6] 139s returns [1, 2, 3] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 3] 139s returns [4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 4] 139s returns [3, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 5] 139s returns [3, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 6] 139s returns [3, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 7] 139s returns [3, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 4] 139s returns [2, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 5] 139s returns [2, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 6] 139s returns [2, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 7] 139s returns [2, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 5] 139s returns [2, 3, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 6] 139s returns [2, 3, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 7] 139s returns [2, 3, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 6] 139s returns [2, 3, 4, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 7] 139s returns [2, 3, 4, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 6, 7] 139s returns [2, 3, 4, 5] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 4] 139s returns [1, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 5] 139s returns [1, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 6] 139s returns [1, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 7] 139s returns [1, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 5] 139s returns [1, 3, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 6] 139s returns [1, 3, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 7] 139s returns [1, 3, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 6] 139s returns [1, 3, 4, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 7] 139s returns [1, 3, 4, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 6, 7] 139s returns [1, 3, 4, 5] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 5] 139s returns [1, 2, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 6] 139s returns [1, 2, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 7] 139s returns [1, 2, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 6] 139s returns [1, 2, 4, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 7] 139s returns [1, 2, 4, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 6, 7] 139s returns [1, 2, 4, 5] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 6] 139s returns [1, 2, 3, 7] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 7] 139s returns [1, 2, 3, 6] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 6, 7] 139s returns [1, 2, 3, 5] 139s on [1, 2, 3, 4, 5, 6, 7], when deleting [5, 6, 7] 139s returns [1, 2, 3, 4] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 3] 139s returns [4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 4] 139s returns [3, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 5] 139s returns [3, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 6] 139s returns [3, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 7] 139s returns [3, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 8] 139s returns [3, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 4] 139s returns [2, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 5] 139s returns [2, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 6] 139s returns [2, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 7] 139s returns [2, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 8] 139s returns [2, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 5] 139s returns [2, 3, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 6] 139s returns [2, 3, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 7] 139s returns [2, 3, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 8] 139s returns [2, 3, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 6] 139s returns [2, 3, 4, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 7] 139s returns [2, 3, 4, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 8] 139s returns [2, 3, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 7] 139s returns [2, 3, 4, 5, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 8] 139s returns [2, 3, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 7, 8] 139s returns [2, 3, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 4] 139s returns [1, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 5] 139s returns [1, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 6] 139s returns [1, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 7] 139s returns [1, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 8] 139s returns [1, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 5] 139s returns [1, 3, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 6] 139s returns [1, 3, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 7] 139s returns [1, 3, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 8] 139s returns [1, 3, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 6] 139s returns [1, 3, 4, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 7] 139s returns [1, 3, 4, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 8] 139s returns [1, 3, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 7] 139s returns [1, 3, 4, 5, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 8] 139s returns [1, 3, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 7, 8] 139s returns [1, 3, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 5] 139s returns [1, 2, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 6] 139s returns [1, 2, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 7] 139s returns [1, 2, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 8] 139s returns [1, 2, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 6] 139s returns [1, 2, 4, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 7] 139s returns [1, 2, 4, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 8] 139s returns [1, 2, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 7] 139s returns [1, 2, 4, 5, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 8] 139s returns [1, 2, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 7, 8] 139s returns [1, 2, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 6] 139s returns [1, 2, 3, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 7] 139s returns [1, 2, 3, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 8] 139s returns [1, 2, 3, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 7] 139s returns [1, 2, 3, 5, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 8] 139s returns [1, 2, 3, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 7, 8] 139s returns [1, 2, 3, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 7] 139s returns [1, 2, 3, 4, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 8] 139s returns [1, 2, 3, 4, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 7, 8] 139s returns [1, 2, 3, 4, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [6, 7, 8] 139s returns [1, 2, 3, 4, 5] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 3] 139s returns [4, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 4] 139s returns [3, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 5] 139s returns [3, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 6] 139s returns [3, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 7] 139s returns [3, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 8] 139s returns [3, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 9] 139s returns [3, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 4] 139s returns [2, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 5] 139s returns [2, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 6] 139s returns [2, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 7] 139s returns [2, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 8] 139s returns [2, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 9] 139s returns [2, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 5] 139s returns [2, 3, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 6] 139s returns [2, 3, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 7] 139s returns [2, 3, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 8] 139s returns [2, 3, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 9] 139s returns [2, 3, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 6] 139s returns [2, 3, 4, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 7] 139s returns [2, 3, 4, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 8] 139s returns [2, 3, 4, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 9] 139s returns [2, 3, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 7] 139s returns [2, 3, 4, 5, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 8] 139s returns [2, 3, 4, 5, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 9] 139s returns [2, 3, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 8] 139s returns [2, 3, 4, 5, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 9] 139s returns [2, 3, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 8, 9] 139s returns [2, 3, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 4] 139s returns [1, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 5] 139s returns [1, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 6] 139s returns [1, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 7] 139s returns [1, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 8] 139s returns [1, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 9] 139s returns [1, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 5] 139s returns [1, 3, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 6] 139s returns [1, 3, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 7] 139s returns [1, 3, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 8] 139s returns [1, 3, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 9] 139s returns [1, 3, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 6] 139s returns [1, 3, 4, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 7] 139s returns [1, 3, 4, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 8] 139s returns [1, 3, 4, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 9] 139s returns [1, 3, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 7] 139s returns [1, 3, 4, 5, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 8] 139s returns [1, 3, 4, 5, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 9] 139s returns [1, 3, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 8] 139s returns [1, 3, 4, 5, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 9] 139s returns [1, 3, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 8, 9] 139s returns [1, 3, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 5] 139s returns [1, 2, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 6] 139s returns [1, 2, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 7] 139s returns [1, 2, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 8] 139s returns [1, 2, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 9] 139s returns [1, 2, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 6] 139s returns [1, 2, 4, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 7] 139s returns [1, 2, 4, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 8] 139s returns [1, 2, 4, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 9] 139s returns [1, 2, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 7] 139s returns [1, 2, 4, 5, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 8] 139s returns [1, 2, 4, 5, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 9] 139s returns [1, 2, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 8] 139s returns [1, 2, 4, 5, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 9] 139s returns [1, 2, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 8, 9] 139s returns [1, 2, 4, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 6] 139s returns [1, 2, 3, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 7] 139s returns [1, 2, 3, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 8] 139s returns [1, 2, 3, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 9] 139s returns [1, 2, 3, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 7] 139s returns [1, 2, 3, 5, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 8] 139s returns [1, 2, 3, 5, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 9] 139s returns [1, 2, 3, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 8] 139s returns [1, 2, 3, 5, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 9] 139s returns [1, 2, 3, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 8, 9] 139s returns [1, 2, 3, 5, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 7] 139s returns [1, 2, 3, 4, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 8] 139s returns [1, 2, 3, 4, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 9] 139s returns [1, 2, 3, 4, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 8] 139s returns [1, 2, 3, 4, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 9] 139s returns [1, 2, 3, 4, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 8, 9] 139s returns [1, 2, 3, 4, 6, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 8] 139s returns [1, 2, 3, 4, 5, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 9] 139s returns [1, 2, 3, 4, 5, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 8, 9] 139s returns [1, 2, 3, 4, 5, 7] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [7, 8, 9] 139s returns [1, 2, 3, 4, 5, 6] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 3] 139s returns [4, 5, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 4] 139s returns [3, 5, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 5] 139s returns [3, 4, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 6] 139s returns [3, 4, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 7] 139s returns [3, 4, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 8] 139s returns [3, 4, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 9] 139s returns [3, 4, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 10] 139s returns [3, 4, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 4] 139s returns [2, 5, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 5] 139s returns [2, 4, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 6] 139s returns [2, 4, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 7] 139s returns [2, 4, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 8] 139s returns [2, 4, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 9] 139s returns [2, 4, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 10] 139s returns [2, 4, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 5] 139s returns [2, 3, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 6] 139s returns [2, 3, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 7] 139s returns [2, 3, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 8] 139s returns [2, 3, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 9] 139s returns [2, 3, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 10] 139s returns [2, 3, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 6] 139s returns [2, 3, 4, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 7] 139s returns [2, 3, 4, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 8] 139s returns [2, 3, 4, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 9] 139s returns [2, 3, 4, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 10] 139s returns [2, 3, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 7] 139s returns [2, 3, 4, 5, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 8] 139s returns [2, 3, 4, 5, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 9] 139s returns [2, 3, 4, 5, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 10] 139s returns [2, 3, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 8] 139s returns [2, 3, 4, 5, 6, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 9] 139s returns [2, 3, 4, 5, 6, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 10] 139s returns [2, 3, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 9] 139s returns [2, 3, 4, 5, 6, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 10] 139s returns [2, 3, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 9, 10] 139s returns [2, 3, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 4] 139s returns [1, 5, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 5] 139s returns [1, 4, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 6] 139s returns [1, 4, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 7] 139s returns [1, 4, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 8] 139s returns [1, 4, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 9] 139s returns [1, 4, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 10] 139s returns [1, 4, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 5] 139s returns [1, 3, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 6] 139s returns [1, 3, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 7] 139s returns [1, 3, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 8] 139s returns [1, 3, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 9] 139s returns [1, 3, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 10] 139s returns [1, 3, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 6] 139s returns [1, 3, 4, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 7] 139s returns [1, 3, 4, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 8] 139s returns [1, 3, 4, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 9] 139s returns [1, 3, 4, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 10] 139s returns [1, 3, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 7] 139s returns [1, 3, 4, 5, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 8] 139s returns [1, 3, 4, 5, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 9] 139s returns [1, 3, 4, 5, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 10] 139s returns [1, 3, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 8] 139s returns [1, 3, 4, 5, 6, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 9] 139s returns [1, 3, 4, 5, 6, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 10] 139s returns [1, 3, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 9] 139s returns [1, 3, 4, 5, 6, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 10] 139s returns [1, 3, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 9, 10] 139s returns [1, 3, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 5] 139s returns [1, 2, 6, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 6] 139s returns [1, 2, 5, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 7] 139s returns [1, 2, 5, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 8] 139s returns [1, 2, 5, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 9] 139s returns [1, 2, 5, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 10] 139s returns [1, 2, 5, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 6] 139s returns [1, 2, 4, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 7] 139s returns [1, 2, 4, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 8] 139s returns [1, 2, 4, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 9] 139s returns [1, 2, 4, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 10] 139s returns [1, 2, 4, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 7] 139s returns [1, 2, 4, 5, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 8] 139s returns [1, 2, 4, 5, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 9] 139s returns [1, 2, 4, 5, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 10] 139s returns [1, 2, 4, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 8] 139s returns [1, 2, 4, 5, 6, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 9] 139s returns [1, 2, 4, 5, 6, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 10] 139s returns [1, 2, 4, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 9] 139s returns [1, 2, 4, 5, 6, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 10] 139s returns [1, 2, 4, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 9, 10] 139s returns [1, 2, 4, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 6] 139s returns [1, 2, 3, 7, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 7] 139s returns [1, 2, 3, 6, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 8] 139s returns [1, 2, 3, 6, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 9] 139s returns [1, 2, 3, 6, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 10] 139s returns [1, 2, 3, 6, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 7] 139s returns [1, 2, 3, 5, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 8] 139s returns [1, 2, 3, 5, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 9] 139s returns [1, 2, 3, 5, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 10] 139s returns [1, 2, 3, 5, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 8] 139s returns [1, 2, 3, 5, 6, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 9] 139s returns [1, 2, 3, 5, 6, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 10] 139s returns [1, 2, 3, 5, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 9] 139s returns [1, 2, 3, 5, 6, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 10] 139s returns [1, 2, 3, 5, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 9, 10] 139s returns [1, 2, 3, 5, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 7] 139s returns [1, 2, 3, 4, 8, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 8] 139s returns [1, 2, 3, 4, 7, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 9] 139s returns [1, 2, 3, 4, 7, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 10] 139s returns [1, 2, 3, 4, 7, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 8] 139s returns [1, 2, 3, 4, 6, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 9] 139s returns [1, 2, 3, 4, 6, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 10] 139s returns [1, 2, 3, 4, 6, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 9] 139s returns [1, 2, 3, 4, 6, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 10] 139s returns [1, 2, 3, 4, 6, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 9, 10] 139s returns [1, 2, 3, 4, 6, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 8] 139s returns [1, 2, 3, 4, 5, 9, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 9] 139s returns [1, 2, 3, 4, 5, 8, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 10] 139s returns [1, 2, 3, 4, 5, 8, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 9] 139s returns [1, 2, 3, 4, 5, 7, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 10] 139s returns [1, 2, 3, 4, 5, 7, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 9, 10] 139s returns [1, 2, 3, 4, 5, 7, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 9] 139s returns [1, 2, 3, 4, 5, 6, 10] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 10] 139s returns [1, 2, 3, 4, 5, 6, 9] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 9, 10] 139s returns [1, 2, 3, 4, 5, 6, 8] 139s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [8, 9, 10] 139s returns [1, 2, 3, 4, 5, 6, 7] 139s #delete? 139s with an existing value 139s preserves the original 139s returns a copy with the remaining values 139s with a non-existing value 139s preserves the original values 139s returns false 139s 139s Hamster::SortedSet 139s #difference 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns [] 139s for ["A", "B", "C"] and ["B"] 139s returns ["A", "C"] 139s for ["A", "B", "C"] and ["A", "C"] 139s returns ["B"] 139s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 139s returns ["A", "C", "D"] 139s #subtract 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns [] 139s for ["A", "B", "C"] and ["B"] 139s returns ["A", "C"] 139s for ["A", "B", "C"] and ["A", "C"] 139s returns ["B"] 139s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 139s returns ["A", "C", "D"] 139s #- 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns [] 139s for ["A", "B", "C"] and ["B"] 139s returns ["A", "C"] 139s for ["A", "B", "C"] and ["A", "C"] 139s returns ["B"] 139s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 139s returns ["A", "C", "D"] 139s 139s Hamster::SortedSet 139s #disjoint? 139s for [] and [] 139s returns true 139s for ["A"] and [] 139s returns true 139s for [] and ["A"] 139s returns true 139s for ["A"] and ["A"] 139s returns false 139s for ["A", "B", "C"] and ["B"] 139s returns false 139s for ["B"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["D", "E"] 139s returns true 139s for ["F", "G", "H", "I"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns false 139s for ["D", "E", "F", "G"] and ["A", "B", "C"] 139s returns true 139s 139s Hamster::SortedSet 139s #drop 139s 0 from [] 139s preserves the original 139s returns [] 139s 10 from [] 139s preserves the original 139s returns [] 139s 10 from ["A"] 139s preserves the original 139s returns [] 139s 0 from ["A", "B", "C"] 139s preserves the original 139s returns ["A", "B", "C"] 139s 1 from ["A", "B", "C"] 139s preserves the original 139s returns ["B", "C"] 139s 2 from ["A", "B", "C"] 139s preserves the original 139s returns ["C"] 139s 3 from ["A", "B", "C"] 139s preserves the original 139s returns [] 139s when argument is zero 139s returns self 139s when the set has a custom order 139s maintains the custom order 139s keeps the comparator even when set is cleared 139s when called on a subclass 139s should return an instance of the subclass 139s 139s Hamster::SortedSet 139s #drop_while 139s on [] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s returns an Enumerator 139s on ["A"] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s returns an Enumerator 139s on ["A", "B", "C"] 139s with a block 139s preserves the original 139s returns ["C"] 139s without a block 139s returns an Enumerator 139s on ["A", "B", "C", "D", "E", "F", "G"] 139s with a block 139s preserves the original 139s returns ["C", "D", "E", "F", "G"] 139s without a block 139s returns an Enumerator 139s 139s Hamster::SortedSet 139s #each 139s with no block 139s returns an Enumerator 139s with a block 139s returns self 139s iterates over the items in order 139s 139s Hamster::SortedSet 139s #empty? 139s on [] 139s returns true 139s on ["A"] 139s returns false 139s on ["A", "B", "C"] 139s returns false 139s .empty 139s returns the canonical empty set 139s from a subclass 139s returns an empty instance of the subclass 139s 139s Hamster::SortedSet 139s #eql? 139s when comparing to a standard set 139s returns false 139s when comparing to a arbitrary object 139s returns false 139s when comparing to a Hamster::Set 139s returns false 139s when comparing with a subclass of Hamster::SortedSet 139s returns false 139s with an empty set for each comparison 139s returns true 139s with an empty set and a set with nil 139s returns false 139s with a single item array and empty array 139s returns false 139s with matching single item array 139s returns true 139s with mismatching single item array 139s returns false 139s with a multi-item array and single item array 139s returns false 139s with matching multi-item array 139s returns true 139s with a mismatching multi-item array 139s returns true 139s with the same values, but a different sort order 139s returns false 139s 139s Hamster::SortedSet 139s #exclusion 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns [] 139s for ["A", "B", "C"] and ["B"] 139s returns ["A", "C"] 139s for ["A", "B", "C"] and ["B", "C", "D"] 139s returns ["A", "D"] 139s for ["A", "B", "C"] and ["D", "E", "F"] 139s returns ["A", "B", "C", "D", "E", "F"] 139s #^ 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns [] 139s for ["A", "B", "C"] and ["B"] 139s returns ["A", "C"] 139s for ["A", "B", "C"] and ["B", "C", "D"] 139s returns ["A", "D"] 139s for ["A", "B", "C"] and ["D", "E", "F"] 139s returns ["A", "B", "C", "D", "E", "F"] 139s 139s Hamster::SortedSet 139s #fetch 139s gives precedence to default block over default argument if passed both 139s with no default provided 139s when the index exists 139s returns the value at the index 139s when the key does not exist 139s raises an IndexError 139s with a default value 139s when the index exists 139s returns the value at the index 139s when the index does not exist 139s returns the default value 139s with a default block 139s when the index exists 139s returns the value at the index 139s when the index does not exist 139s invokes the block with the missing index as parameter 139s 139s Hamster::SortedSet 139s #find_index 139s looking for "A" in [] without block 139s returns nil 139s looking for "A" in [] with block 139s returns nil 139s looking for nil in [] with block 139s returns nil 139s looking for "A" in ["A"] without block 139s returns 0 139s looking for "A" in ["A"] with block 139s returns 0 139s looking for "B" in ["A"] without block 139s returns nil 139s looking for "B" in ["A"] with block 139s returns nil 139s looking for nil in ["A"] with block 139s returns nil 139s looking for "A" in ["A", "B", "C"] without block 139s returns 0 139s looking for "A" in ["A", "B", "C"] with block 139s returns 0 139s looking for "B" in ["A", "B", "C"] without block 139s returns 1 139s looking for "B" in ["A", "B", "C"] with block 139s returns 1 139s looking for "C" in ["A", "B", "C"] without block 139s returns 2 139s looking for "C" in ["A", "B", "C"] with block 139s returns 2 139s looking for "D" in ["A", "B", "C"] without block 139s returns nil 139s looking for "D" in ["A", "B", "C"] with block 139s returns nil 139s looking for 1 in 0..1 without block 139s returns 1 139s looking for 1 in 0..1 with block 139s returns 1 139s looking for 5 in 0..10 without block 139s returns 5 139s looking for 5 in 0..10 with block 139s returns 5 139s looking for 10 in 0..10 without block 139s returns 10 139s looking for 10 in 0..10 with block 139s returns 10 139s looking for 2 in [2] without block 139s returns 0 139s looking for 2 in [2] with block 139s returns 0 139s looking for 2.0 in [2] without block 139s returns 0 139s looking for 2.0 in [2] with block 139s returns 0 139s looking for 2.0 in [2.0] without block 139s returns 0 139s looking for 2.0 in [2.0] with block 139s returns 0 139s looking for 2 in [2.0] without block 139s returns 0 139s looking for 2 in [2.0] with block 139s returns 0 139s #index 139s looking for "A" in [] without block 139s returns nil 139s looking for "A" in [] with block 139s returns nil 139s looking for nil in [] with block 139s returns nil 139s looking for "A" in ["A"] without block 139s returns 0 139s looking for "A" in ["A"] with block 139s returns 0 139s looking for "B" in ["A"] without block 139s returns nil 139s looking for "B" in ["A"] with block 139s returns nil 139s looking for nil in ["A"] with block 139s returns nil 139s looking for "A" in ["A", "B", "C"] without block 139s returns 0 139s looking for "A" in ["A", "B", "C"] with block 139s returns 0 139s looking for "B" in ["A", "B", "C"] without block 139s returns 1 139s looking for "B" in ["A", "B", "C"] with block 139s returns 1 139s looking for "C" in ["A", "B", "C"] without block 139s returns 2 139s looking for "C" in ["A", "B", "C"] with block 139s returns 2 139s looking for "D" in ["A", "B", "C"] without block 139s returns nil 139s looking for "D" in ["A", "B", "C"] with block 139s returns nil 139s looking for 1 in 0..1 without block 139s returns 1 139s looking for 1 in 0..1 with block 139s returns 1 139s looking for 5 in 0..10 without block 139s returns 5 139s looking for 5 in 0..10 with block 139s returns 5 139s looking for 10 in 0..10 without block 139s returns 10 139s looking for 10 in 0..10 with block 139s returns 10 139s looking for 2 in [2] without block 139s returns 0 139s looking for 2 in [2] with block 139s returns 0 139s looking for 2.0 in [2] without block 139s returns 0 139s looking for 2.0 in [2] with block 139s returns 0 139s looking for 2.0 in [2.0] without block 139s returns 0 139s looking for 2.0 in [2.0] with block 139s returns 0 139s looking for 2 in [2.0] without block 139s returns 0 139s looking for 2 in [2.0] with block 139s returns 0 139s 139s Hamster::SortedSet 139s #first 139s on [] 139s returns nil 139s on ["A"] 139s returns "A" 139s on ["A", "B", "C"] 139s returns "A" 139s on ["Z", "Y", "X"] 139s returns "X" 139s 139s Hamster::SortedSet 139s #from 139s when called without a block 139s returns a sorted set of all items equal to or greater than the argument 139s when called with a block 139s yields all the items equal to or greater than than the argument 139s on an empty set 139s returns an empty set 139s with an argument higher than all the values in the set 139s returns an empty set 139s 139s Hamster::SortedSet 139s #group_by 139s with a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] 139s without a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] 139s from a subclass 139s returns an Hash whose values are instances of the subclass 139s #group 139s with a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] 139s without a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] 139s from a subclass 139s returns an Hash whose values are instances of the subclass 139s #classify 139s with a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{true=>Hamster::SortedSet[1, 3], false=>Hamster::SortedSet[2, 4]}] 139s without a block 139s on [] 139s preserves the original 139s returns [] 139s on [1] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1]}] 139s on [1, 2, 3, 4] 139s preserves the original 139s returns [{1=>Hamster::SortedSet[1], 2=>Hamster::SortedSet[2], 3=>Hamster::SortedSet[3], 4=>Hamster::SortedSet[4]}] 139s from a subclass 139s returns an Hash whose values are instances of the subclass 139s 139s Hamster::SortedSet 139s #include? 139s returns true for an existing value (1) 139s returns true for an existing value (2) 139s returns true for an existing value (3) 139s returns true for an existing value (4.0) 139s returns false for a non-existing value 139s uses #<=> for equality 139s #member? 139s returns true for an existing value (1) 139s returns true for an existing value (2) 139s returns true for an existing value (3) 139s returns true for an existing value (4.0) 139s returns false for a non-existing value 139s uses #<=> for equality 139s 139s Hamster::SortedSet 139s #inspect 139s on [] 139s returns "Hamster::SortedSet[]" 139s returns a string which can be eval'd to get an equivalent set 139s on ["A"] 139s returns "Hamster::SortedSet[\"A\"]" 139s returns a string which can be eval'd to get an equivalent set 139s on ["C", "B", "A"] 139s returns "Hamster::SortedSet[\"A\", \"B\", \"C\"]" 139s returns a string which can be eval'd to get an equivalent set 139s from a subclass 139s returns a programmer-readable representation of the set contents 139s returns a string which can be eval'd to get an equivalent set 139s 139s Hamster::SortedSet 139s #intersect? 139s for [] and [] 139s returns false 139s for ["A"] and [] 139s returns false 139s for [] and ["A"] 139s returns false 139s for ["A"] and ["A"] 139s returns true 139s for ["A", "B", "C"] and ["B"] 139s returns true 139s for ["B"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["D", "E"] 139s returns false 139s for ["F", "G", "H", "I"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns true 139s for ["D", "E", "F", "G"] and ["A", "B", "C"] 139s returns false 139s 139s Hamster::SortedSet 139s #intersection 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns [] 139s for [] and ["A"] 139s returns [] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and ["B"] 139s returns ["B"] 139s for ["B"] and ["A", "B", "C"] 139s returns ["B"] 139s for ["A", "B", "C"] and ["A", "C"] 139s returns ["A", "C"] 139s for ["A", "C"] and ["A", "B", "C"] 139s returns ["A", "C"] 139s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 139s returns ["M", "T"] 139s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 139s returns ["M", "T"] 139s #& 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns [] 139s for [] and ["A"] 139s returns [] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and ["B"] 139s returns ["B"] 139s for ["B"] and ["A", "B", "C"] 139s returns ["B"] 139s for ["A", "B", "C"] and ["A", "C"] 139s returns ["A", "C"] 139s for ["A", "C"] and ["A", "B", "C"] 139s returns ["A", "C"] 139s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 139s returns ["M", "T"] 139s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 139s returns ["M", "T"] 139s 139s Hamster::SortedSet 139s #last 139s with an empty set 139s returns the last item 139s with a single item set 139s returns the last item 139s with a multi-item set 139s returns the last item 139s 139s Hamster::SortedSet 139s #map 139s when empty 139s returns self 139s when not empty 139s with a block 139s preserves the original values 139s returns a new set with the mapped values 139s with no block 139s returns an Enumerator 139s on a set ordered by a comparator 139s returns a new set with the mapped values 139s #collect 139s when empty 139s returns self 139s when not empty 139s with a block 139s preserves the original values 139s returns a new set with the mapped values 139s with no block 139s returns an Enumerator 139s on a set ordered by a comparator 139s returns a new set with the mapped values 139s 139s Hamster::SortedSet 139s #marshal_dump/#marshal_load 139s can survive dumping and loading into a new process 139s is still possible to find items by index after loading 139s raises a TypeError if set has a custom sort order 139s 139s Hamster::SortedSet 139s #max 139s with a block 139s on [] 139s returns nil 139s on ["A"] 139s returns "A" 139s on ["Ichi", "Ni", "San"] 139s returns "Ichi" 139s without a block 139s on [] 139s returns nil 139s on ["A"] 139s returns "A" 139s on ["Ichi", "Ni", "San"] 139s returns "San" 139s 139s Hamster::SortedSet 139s #min 139s on [] 139s returns nil 139s on ["A"] 139s returns "A" 139s on ["Ichi", "Ni", "San"] 139s returns "Ichi" 139s on [1, 2, 3, 4, 5] 139s returns 1 139s on [0, -0.0, 2.2, -4, -4.2] 139s returns -4.2 139s 139s Hamster::SortedSet 139s .new 139s accepts a single enumerable argument and creates a new sorted set 139s also works with a Range 139s is amenable to overriding of #initialize 139s accepts a block with arity 1 139s accepts a block with arity 2 139s can use a block produced by Symbol#to_proc 139s from a subclass 139s returns a frozen instance of the subclass 139s .[] 139s accepts a variable number of items and creates a new sorted set 139s 139s Hamster::SortedSet 139s #reverse_each 139s with no block 139s returns an Enumerator 139s with a block 139s returns self 139s iterates over the items in order 139s 139s Hamster::SortedSet 139s #sample 139s returns a randomly chosen item 139s 139s Hamster::SortedSet 139s #select 139s when everything matches 139s preserves the original 139s returns self 139s when only some things match 139s with a block 139s preserves the original 139s returns a set with the matching values 139s with no block 139s returns an Enumerator 139s when nothing matches 139s preserves the original 139s returns the canonical empty set 139s from a subclass 139s returns an instance of the same class 139s #find_all 139s when everything matches 139s preserves the original 139s returns self 139s when only some things match 139s with a block 139s preserves the original 139s returns a set with the matching values 139s with no block 139s returns an Enumerator 139s when nothing matches 139s preserves the original 139s returns the canonical empty set 139s from a subclass 139s returns an instance of the same class 139s 139s Hamster::SortedSet 139s #size 139s returns 0 for [] 139s returns 1 for ["A"] 139s returns 3 for ["A", "B", "C"] 139s #length 139s returns 0 for [] 139s returns 1 for ["A"] 139s returns 3 for ["A", "B", "C"] 139s 139s Hamster::SortedSet 139s #slice 139s when passed a positive integral index 139s returns the element at that index 139s leaves the original unchanged 139s when passed a negative integral index 139s returns the element which is number (index.abs) counting from the end of the sorted_set 139s when passed a positive integral index and count 139s returns 'count' elements starting from 'index' 139s leaves the original unchanged 139s when passed a negative integral index and count 139s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 139s when passed a Range 139s returns the elements whose indexes are within the given Range 139s leaves the original unchanged 139s when passed an empty Range 139s does not lose custom sort order 139s when passed a length of zero 139s does not lose custom sort order 139s when passed a subclass of Range 139s works the same as with a Range 139s on a subclass of SortedSet 139s with index and count or a range, returns an instance of the subclass 139s #[] 139s when passed a positive integral index 139s returns the element at that index 139s leaves the original unchanged 139s when passed a negative integral index 139s returns the element which is number (index.abs) counting from the end of the sorted_set 139s when passed a positive integral index and count 139s returns 'count' elements starting from 'index' 139s leaves the original unchanged 139s when passed a negative integral index and count 139s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 139s when passed a Range 139s returns the elements whose indexes are within the given Range 139s leaves the original unchanged 139s when passed an empty Range 139s does not lose custom sort order 139s when passed a length of zero 139s does not lose custom sort order 139s when passed a subclass of Range 139s works the same as with a Range 139s on a subclass of SortedSet 139s with index and count or a range, returns an instance of the subclass 139s 139s Hamster::SortedSet 139s #sort 139s on [] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s preserves the original 139s returns [] 139s on ["A"] 139s with a block 139s preserves the original 139s returns ["A"] 139s without a block 139s preserves the original 139s returns ["A"] 139s on ["Ichi", "Ni", "San"] 139s with a block 139s preserves the original 139s returns ["Ni", "San", "Ichi"] 139s without a block 139s preserves the original 139s returns ["Ichi", "Ni", "San"] 139s #sort_by 139s on [] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s preserves the original 139s returns [] 139s on ["A"] 139s with a block 139s preserves the original 139s returns ["A"] 139s without a block 139s preserves the original 139s returns ["A"] 139s on ["Ichi", "Ni", "San"] 139s with a block 139s preserves the original 139s returns ["Ni", "San", "Ichi"] 139s without a block 139s preserves the original 139s returns ["Ichi", "Ni", "San"] 139s 139s Hamster::SortedSet 139s #subset? 139s for [] and [] 139s returns true 139s for ["A"] and [] 139s returns false 139s for [] and ["A"] 139s returns true 139s for ["A"] and ["A"] 139s returns true 139s for ["A", "B", "C"] and ["B"] 139s returns false 139s for ["B"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "C"] 139s returns false 139s for ["A", "C"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns true 139s for ["A", "B", "C", "D"] and ["A", "B", "C"] 139s returns false 139s #proper_subset? 139s for [] and [] 139s returns false 139s for ["A"] and [] 139s returns false 139s for [] and ["A"] 139s returns true 139s for ["A"] and ["A"] 139s returns false 139s for ["A", "B", "C"] and ["B"] 139s returns false 139s for ["B"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "C"] 139s returns false 139s for ["A", "C"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns true 139s for ["A", "B", "C", "D"] and ["A", "B", "C"] 139s returns false 139s 139s Hamster::SortedSet 139s #superset? 139s for [] and [] 139s returns true 139s for ["A"] and [] 139s returns true 139s for [] and ["A"] 139s returns false 139s for ["A"] and ["A"] 139s returns true 139s for ["A", "B", "C"] and ["B"] 139s returns true 139s for ["B"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "C"] 139s returns true 139s for ["A", "C"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns true 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns false 139s for ["A", "B", "C", "D"] and ["A", "B", "C"] 139s returns true 139s #proper_superset? 139s for [] and [] 139s returns false 139s for ["A"] and [] 139s returns true 139s for [] and ["A"] 139s returns false 139s for ["A"] and ["A"] 139s returns false 139s for ["A", "B", "C"] and ["B"] 139s returns true 139s for ["B"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "C"] 139s returns true 139s for ["A", "C"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C"] 139s returns false 139s for ["A", "B", "C"] and ["A", "B", "C", "D"] 139s returns false 139s for ["A", "B", "C", "D"] and ["A", "B", "C"] 139s returns true 139s 139s Hamster::SortedSet 139s #take 139s 10 from [] 139s preserves the original 139s returns [] 139s 10 from ["A"] 139s preserves the original 139s returns ["A"] 139s 0 from ["A", "B", "C"] 139s preserves the original 139s returns [] 139s 2 from ["A", "B", "C"] 139s preserves the original 139s returns ["A", "B"] 139s when argument is at least size of receiver 139s returns self 139s when the set has a custom order 139s maintains the custom order 139s keeps the comparator even when set is cleared 139s when called on a subclass 139s should return an instance of the subclass 139s 139s Hamster::SortedSet 139s #take_while 139s on [] 139s with a block 139s returns [] 139s preserves the original 139s without a block 139s returns an Enumerator 139s on ["A"] 139s with a block 139s returns ["A"] 139s preserves the original 139s without a block 139s returns an Enumerator 139s on ["A", "B", "C"] 139s with a block 139s returns ["A", "B"] 139s preserves the original 139s without a block 139s returns an Enumerator 139s 139s Hamster::SortedSet 139s #to_set 139s on [] 139s returns a set with the same values 139s on ["A"] 139s returns a set with the same values 139s on ["A", "B", "C"] 139s returns a set with the same values 139s 139s Hamster::SortedSet 139s #union 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for [] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"] 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"] 139s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s #| 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for [] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"] 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"] 139s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s #+ 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for [] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"] 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"] 139s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s #merge 139s for [] and [] 139s returns [] 139s for [] and [] 139s returns [] 139s for ["A"] and [] 139s returns ["A"] 139s for [] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A"] and ["A"] 139s returns ["A"] 139s for ["A", "B", "C"] and [] 139s returns ["A", "B", "C"] 139s for [] and ["A", "B", "C"] 139s returns ["A", "B", "C"] 139s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 139s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 139s 139s Hamster::SortedSet 139s #up_to 139s when called without a block 139s returns a sorted set of all items equal to or less than the argument 139s when called with a block 139s yields all the items equal to or less than than the argument 139s on an empty set 139s returns an empty set 139s with an argument less than all the values in the set 139s returns an empty set 139s 139s Hamster::SortedSet 139s #values_at 139s accepts any number of indices, and returns a sorted_set of items at those indices 139s when passed invalid indices 139s filters them out 139s when passed no arguments 139s returns an empty sorted_set 139s from a subclass 139s returns an instance of the subclass 139s 139s Hamster::Vector 139s #add 139s with a empty vector adding a single item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a duplicate item 139s preserves the original 139s adds the item to the vector 139s with a 31-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 32-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 33-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1023-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1024-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1025-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s from a subclass 139s returns an instance of the subclass 139s #<< 139s with a empty vector adding a single item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a duplicate item 139s preserves the original 139s adds the item to the vector 139s with a 31-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 32-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 33-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1023-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1024-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1025-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s from a subclass 139s returns an instance of the subclass 139s #push 139s with a empty vector adding a single item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a single-item vector adding a duplicate item 139s preserves the original 139s adds the item to the vector 139s with a 31-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 32-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 33-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1023-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1024-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s with a 1025-item vector adding a different item 139s preserves the original 139s adds the item to the vector 139s from a subclass 139s returns an instance of the subclass 139s 139s Hamster::Vector 139s #any? 139s when created with no values 139s with a block 139s returns false 139s with a block 139s returns false 139s when created with values 139s with a block that returns true 139s returns true 139s with a block that doesn't return true 139s returns false 139s without a block 139s with some values that are truthy 139s returns true 139s with all values that are falsey 139s returns false 139s 139s Hamster::Vector 139s #assoc 139s searches for a 2-element array with a given 1st item 139s returns nil if a matching 1st item is not found 139s uses #== to compare 1st items with provided object 139s skips elements which are not indexable 139s #rassoc 139s searches for a 2-element array with a given 2nd item 139s returns nil if a matching 2nd item is not found 139s uses #== to compare 2nd items with provided object 139s skips elements which are not indexable 139s 139s Hamster::Vector 139s #bsearch 139s with a block which returns false for elements below desired position, and true for those at/above 139s returns the first element for which the predicate is true 139s if the block always returns false 139s returns nil 139s if the block always returns true 139s returns the first element 139s with a block which returns a negative number for elements below desired position, zero for the right element, and positive for those above 139s returns the element for which the block returns zero 139s if the block always returns positive 139s returns nil 139s if the block always returns negative 139s returns nil 139s if the block returns sometimes positive, sometimes negative, but never zero 139s returns nil 139s if not passed a block 139s returns an Enumerator 139s on an empty vector 139s returns nil 139s 139s Hamster::Vector 139s #clear 139s on [] 139s preserves the original 139s returns an empty vector 139s from a subclass 139s returns an instance of the subclass 139s on ["A"] 139s preserves the original 139s returns an empty vector 139s from a subclass 139s returns an instance of the subclass 139s on ["A", "B", "C"] 139s preserves the original 139s returns an empty vector 139s from a subclass 139s returns an instance of the subclass 139s 139s Hamster::Vector 139s #combination 139s works on many combinations of input 139s leaves the original unmodified 139s with a block 139s returns self 139s with no block 139s returns an Enumerator 139s when passed an argument which is out of bounds 139s yields nothing and returns self 139s when passed an argument zero 139s yields an empty array 139s when passed an argument equal to the vector's length 139s yields self as an array 139s when passed an argument 1 139s yields each item in the vector, as single-item vectors 139s when passed another integral argument 139s yields all combinations of the given length 139s on an empty vector 139s works the same 139s 139s Hamster::Vector 139s #compact 139s returns a new Vector with all nils removed 139s doesn't remove false 139s on an empty vector 139s returns self 139s from a subclass 139s returns an instance of the subclass 139s 139s Hamster::Vector 139s #<=> 139s with [] and [1] 139s returns -1 139s with [1] and [] 139s returns 1 139s with [] and [] 139s returns 0 139s with [1] and [2] 139s returns -1 139s with [2] and [1] 139s returns 1 139s with [1] and [1] 139s returns 0 139s with [1] and [1, 2] 139s returns -1 139s with [1, 2] and [1] 139s returns 1 139s with [1] and [1] 139s returns 0 139s with [2, 3, 4] and [3, 4, 5] 139s returns -1 139s with [3, 4, 5] and [2, 3, 4] 139s returns 1 139s with [2, 3, 4] and [2, 3, 4] 139s returns 0 139s with [[0]] and [[1]] 139s returns -1 139s with [[1]] and [[0]] 139s returns 1 139s with [[0]] and [[0]] 139s returns 0 139s 139s Hamster::Vector 139s #+ 139s preserves the original 139s appends the elements in the other enumerable 139s on a 1-item vector 139s works the same 139s on a 31-item vector 139s works the same 139s on a 32-item vector 139s works the same 139s on a 33-item vector 139s works the same 139s on a 1023-item vector 139s works the same 139s on a 1024-item vector 139s works the same 139s on a 1025-item vector 139s works the same 139s #concat 139s preserves the original 139s appends the elements in the other enumerable 139s on a 1-item vector 139s works the same 139s on a 31-item vector 139s works the same 139s on a 32-item vector 139s works the same 139s on a 33-item vector 139s works the same 139s on a 1023-item vector 139s works the same 139s on a 1024-item vector 139s works the same 139s on a 1025-item vector 139s works the same 139s 139s Hamster::Vector 139s on [] 139s returns self 139s on ["A"] 139s returns self 139s on ["A", "B", "C"] 139s returns self 139s on 1..32 139s returns self 139s on [] 139s returns self 139s on ["A"] 139s returns self 139s on ["A", "B", "C"] 139s returns self 139s on 1..32 139s returns self 139s 139s Hamster::Vector 139s #count 139s returns the number of elements 139s returns the number of elements that equal the argument 139s returns the number of element for which the block evaluates to true 139s 139s Hamster::Vector 139s #delete_at 139s removes the element at the specified index 139s makes no modification if the index is out of range 139s works when deleting last item at boundary where vector trie needs to get shallower 139s works on an empty vector 139s works on a vector with 1 item 139s works on a vector with 32 items 139s has the right size and contents after many deletions 139s 139s Hamster::Vector 139s #delete 139s removes elements that are #== to the argument 139s on an empty vector 139s returns self 139s on a subclass of Vector 139s returns an instance of the subclass 139s 139s Hamster::Vector 139s #dig 139s returns value at the index with one argument 139s returns value at index in nested arrays 139s returns nil when indexing deeper than possible 139s returns nil if you index past the end of an array 139s raises a type error when indexing with a key arrays don't understand 139s 139s Hamster::Vector 139s #drop 139s raises an ArgumentError if number of elements specified is negative 139s 10 from [] 139s preserves the original 139s returns [] 139s 10 from ["A"] 139s preserves the original 139s returns [] 139s 1 from ["A"] 139s preserves the original 139s returns [] 139s 0 from ["A"] 139s preserves the original 139s returns ["A"] 139s 0 from ["A", "B", "C"] 139s preserves the original 139s returns ["A", "B", "C"] 139s 2 from ["A", "B", "C"] 139s preserves the original 139s returns ["C"] 139s 3 from 1..32 139s preserves the original 139s returns 4..32 139s 32 from 1..33 139s preserves the original 139s returns [33] 139s when number of elements specified is zero 139s returns self 139s 139s Hamster::Vector 139s #drop_while 139s returns an empty vector if block is always true 139s stops dropping items if block returns nil 139s stops dropping items if block returns false 139s on [] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s returns an Enumerator 139s on ["A"] 139s with a block 139s preserves the original 139s returns [] 139s without a block 139s returns an Enumerator 139s on ["A", "B", "C"] 139s with a block 139s preserves the original 139s returns ["C"] 139s without a block 139s returns an Enumerator 139s on an empty vector 139s returns an empty vector 139s 139s Hamster::Vector 139s #each_index 139s with a block 139s yields all the valid indices into the vector 139s returns self 139s without a block 139s returns an Enumerator 139s on an empty vector 139s doesn't yield anything 139s on a 1-item vector 139s yields all valid indices 139s on a 2-item vector 139s yields all valid indices 139s on a 10-item vector 139s yields all valid indices 139s on a 31-item vector 139s yields all valid indices 139s on a 32-item vector 139s yields all valid indices 139s on a 33-item vector 139s yields all valid indices 139s on a 1000-item vector 139s yields all valid indices 139s on a 1024-item vector 139s yields all valid indices 139s on a 1025-item vector 139s yields all valid indices 139s 139s Hamster::Vector 139s #each 139s with no block 139s returns an Enumerator 139s on a 31-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on a 32-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on a 33-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on a 1023-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on a 1024-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on a 1025-item vector 139s with a block 139s returns self 139s yields all the items 139s iterates over the items in order 139s on an empty vector 139s doesn't yield anything 139s 139s Hamster::Vector 139s #each_with_index 139s with no block 139s returns an Enumerator 139s on a 1-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 2-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 31-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 32-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 33-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 1023-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 1024-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on a 1025-item vector 139s with a block 139s returns self 139s iterates over the items in order 139s on an empty vector 139s doesn't yield anything 139s 139s Hamster::Vector 139s #empty? 139s on [] 139s returns true 139s on ["A"] 139s returns false 139s on ["A", "B", "C"] 139s returns false 139s .empty 139s returns the canonical empty vector 139s from a subclass 139s returns an empty instance of the subclass 139s calls overridden #initialize when creating empty Hash 139s 139s Hamster::Vector 139s #eql 139s returns false when comparing with an array with the same contents 139s returns false when comparing with an arbitrary object 139s returns false when comparing an empty vector with an empty array 139s returns false when comparing with a subclass of Hamster::Vector 139s #== 139s returns true when comparing with an array with the same contents 139s returns false when comparing with an arbitrary object 139s returns true when comparing an empty vector with an empty array 139s returns true when comparing with a subclass of Hamster::Vector 139s works on larger vectors 139s #eql? 139s returns true 139s for vectors [] and [] 139s for vectors [] and [] 139s returns false 139s for vectors [] and [nil] 139s for vectors [nil] and [] 139s returns false 139s for vectors ["A"] and [] 139s for vectors [] and ["A"] 139s returns true 139s for vectors ["A"] and ["A"] 139s for vectors ["A"] and ["A"] 139s returns false 139s for vectors ["A"] and ["B"] 139s for vectors ["B"] and ["A"] 139s returns false 139s for vectors ["A", "B"] and ["A"] 139s for vectors ["A"] and ["A", "B"] 139s returns true 139s for vectors ["A", "B", "C"] and ["A", "B", "C"] 139s for vectors ["A", "B", "C"] and ["A", "B", "C"] 139s returns false 139s for vectors ["C", "A", "B"] and ["A", "B", "C"] 139s for vectors ["A", "B", "C"] and ["C", "A", "B"] 139s #== 139s returns true 139s for vectors [] and [] 139s for vectors [] and [] 139s returns false 139s for vectors [] and [nil] 139s for vectors [nil] and [] 139s returns false 139s for vectors ["A"] and [] 139s for vectors [] and ["A"] 139s returns true 139s for vectors ["A"] and ["A"] 139s for vectors ["A"] and ["A"] 139s returns false 139s for vectors ["A"] and ["B"] 139s for vectors ["B"] and ["A"] 139s returns false 139s for vectors ["A", "B"] and ["A"] 139s for vectors ["A"] and ["A", "B"] 139s returns true 139s for vectors ["A", "B", "C"] and ["A", "B", "C"] 139s for vectors ["A", "B", "C"] and ["A", "B", "C"] 139s returns false 139s for vectors ["C", "A", "B"] and ["A", "B", "C"] 139s for vectors ["A", "B", "C"] and ["C", "A", "B"] 139s 139s Hamster::Vector 139s #fetch 139s gives precedence to default block over default argument if passed both 139s with no default provided 139s when the index exists 139s returns the value at the index 139s when the key does not exist 139s raises an IndexError 139s with a default value 139s when the index exists 139s returns the value at the index 139s when the index does not exist 139s returns the default value 139s with a default block 139s when the index exists 139s returns the value at the index 139s when the index does not exist 139s invokes the block with the missing index as parameter 139s 139s Hamster::Vector 139s #fill 139s can replace a range of items at the beginning of a vector 139s can replace a range of items in the middle of a vector 139s can replace a range of items at the end of a vector 139s can replace all the items in a vector 139s can fill past the end of the vector 139s behaves like Array#fill, on a variety of inputs 139s with 1 argument 139s replaces all the items in the vector by default 139s with 2 arguments 139s replaces up to the end of the vector by default 139s when index and length are 0 139s leaves the vector unmodified 139s when expanding a vector past boundary where vector trie needs to deepen 139s works the same 139s on a 1000-item vector 139s works the same 139s on a 1023-item vector 139s works the same 139s on a 1024-item vector 139s works the same 139s on a 1025-item vector 139s works the same 139s on a 2000-item vector 139s works the same 139s 139s Hamster::Vector 139s #first 139s on [] 139s returns nil 139s on ["A"] 139s returns "A" 139s on ["A", "B", "C"] 139s returns "A" 139s on 1..32 139s returns 1 139s 139s Hamster::Vector 139s #flat_map 139s with an empty vector 139s returns the flattened values as a Hamster::Vector 139s returns a Hamster::Vector 139s with a block that returns an empty vector 139s returns the flattened values as a Hamster::Vector 139s returns a Hamster::Vector 139s with a vector of one item 139s returns the flattened values as a Hamster::Vector 139s returns a Hamster::Vector 139s with a vector of multiple items 139s returns the flattened values as a Hamster::Vector 139s returns a Hamster::Vector 139s 139s Hamster::Vector 139s #flatten 139s recursively flattens nested vectors into containing vector 139s flattens nested arrays as well 139s leaves the original unmodified 139s with an integral argument 139s only flattens down to the specified depth 139s with an argument of zero 139s returns self 139s on a subclass 139s returns an instance of the subclass 139s on a vector with no nested vectors 139s returns an unchanged vector 139s on a Vector larger than 32 items initialized with Vector.new 139s returns an unchanged vector 139s 139s Hamster::Vector 139s #get 139s when empty 139s always returns nil 139s when not empty 139s with a positive index 139s within the absolute bounds of the vector 139s returns the value at the specified index from the head 139s outside the absolute bounds of the vector 139s returns nil 139s with a negative index 139s within the absolute bounds of the vector 139s returns the value at the specified index from the tail 139s outside the absolute bounds of the vector 139s returns nil 139s on a 1-item vector 139s works correctly, even after various addings and removings 139s on a 10-item vector 139s works correctly, even after various addings and removings 139s on a 31-item vector 139s works correctly, even after various addings and removings 139s on a 32-item vector 139s works correctly, even after various addings and removings 139s on a 33-item vector 139s works correctly, even after various addings and removings 139s on a 1024-item vector 139s works correctly, even after various addings and removings 139s on a 1025-item vector 139s works correctly, even after various addings and removings 139s on a 2000-item vector 140s works correctly, even after various addings and removings 140s #at 140s when empty 140s always returns nil 140s when not empty 140s with a positive index 140s within the absolute bounds of the vector 140s returns the value at the specified index from the head 140s outside the absolute bounds of the vector 140s returns nil 140s with a negative index 140s within the absolute bounds of the vector 140s returns the value at the specified index from the tail 140s outside the absolute bounds of the vector 140s returns nil 140s on a 1-item vector 140s works correctly, even after various addings and removings 140s on a 10-item vector 140s works correctly, even after various addings and removings 140s on a 31-item vector 140s works correctly, even after various addings and removings 140s on a 32-item vector 140s works correctly, even after various addings and removings 140s on a 33-item vector 140s works correctly, even after various addings and removings 140s on a 1024-item vector 140s works correctly, even after various addings and removings 140s on a 1025-item vector 140s works correctly, even after various addings and removings 140s on a 2000-item vector 140s works correctly, even after various addings and removings 140s 140s Hamster::Vector 140s #group_by 140s returns a hash without default proc 140s with a block 140s on [] 140s returns [] 140s on [1] 140s returns [{true=>Hamster::Vector[1]}] 140s on [1, 2, 3, 4] 140s returns [{true=>Hamster::Vector[1, 3], false=>Hamster::Vector[2, 4]}] 140s without a block 140s on [] 140s returns [] 140s on [1] 140s returns [{1=>Hamster::Vector[1]}] 140s on [1, 2, 3, 4] 140s returns [{1=>Hamster::Vector[1], 2=>Hamster::Vector[2], 3=>Hamster::Vector[3], 4=>Hamster::Vector[4]}] 140s on an empty vector 140s returns an empty hash 140s from a subclass 140s returns an Hash whose values are instances of the subclass 140s 140s Hamster::Vector 140s #include? 140s on [] 140s returns false 140s on [] 140s returns false 140s on ["A"] 140s returns true 140s on ["A"] 140s returns false 140s on ["A"] 140s returns false 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns false 140s on ["A", "B", false] 140s returns true 140s on [2] 140s returns true 140s on [2] 140s returns true 140s on [2.0] 140s returns true 140s on [2.0] 140s returns true 140s #member? 140s on [] 140s returns false 140s on [] 140s returns false 140s on ["A"] 140s returns true 140s on ["A"] 140s returns false 140s on ["A"] 140s returns false 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns true 140s on ["A", "B", nil] 140s returns false 140s on ["A", "B", false] 140s returns true 140s on [2] 140s returns true 140s on [2] 140s returns true 140s on [2.0] 140s returns true 140s on [2.0] 140s returns true 140s 140s Hamster::Vector 140s #insert 140s can add items at the beginning of a vector 140s can add items in the middle of a vector 140s can add items at the end of a vector 140s can add items past the end of a vector 140s accepts a negative index, which counts back from the end of the vector 140s raises IndexError if a negative index is too great 140s works when adding an item past boundary when vector trie needs to deepen 140s works when adding to an empty Vector 140s has the right size and contents after many insertions 140s 140s Hamster::Vector 140s #inspect 140s with an empty array 140s returns its contents as a programmer-readable string 140s returns a string which can be eval'd to get back an equivalent vector 140s with a single item array 140s returns its contents as a programmer-readable string 140s returns a string which can be eval'd to get back an equivalent vector 140s with a multi-item array 140s returns its contents as a programmer-readable string 140s returns a string which can be eval'd to get back an equivalent vector 140s from a subclass 140s returns its contents as a programmer-readable string 140s returns a string which can be eval'd to get back an equivalent vector 140s 140s Hamster::Vector 140s #join 140s with a separator 140s on [] 140s preserves the original 140s returns "" 140s on ["A"] 140s preserves the original 140s returns "A" 140s on ["A", "B", "C"] 140s preserves the original 140s returns "A|B|C" 140s without a separator 140s on [] 140s preserves the original 140s returns "" 140s on ["A"] 140s preserves the original 140s returns "A" 140s on ["A", "B", "C"] 140s preserves the original 140s returns "ABC" 140s without a separator (with global default separator set) 140s on ["A", "B", "C"] 140s returns "A**B**C" 140s 140s Hamster::Vector 140s #last 140s with an empty vector 140s returns the last item 140s with a single item vector 140s returns the last item 140s with a multi-item vector 140s returns the last item 140s with a 31-item vector 140s returns the last item 140s with a 32-item vector 140s returns the last item 140s with a 33-item vector 140s returns the last item 140s with a 1023-item vector 140s returns the last item 140s with a 1024-item vector 140s returns the last item 140s with a 1025-item vector 140s returns the last item 140s 140s Hamster::Vector 140s #length 140s with an empty vector 140s returns the values 140s with a single item vector 140s returns the values 140s with a multi-item vector 140s returns the values 140s with a 31-item vector 140s returns the values 140s with a 32-item vector 140s returns the values 140s with a 33-item vector 140s returns the values 140s with a 1023-item vector 140s returns the values 140s with a 1024-item vector 140s returns the values 140s with a 1025-item vector 140s returns the values 140s 140s Hamster::Vector 140s #<< 140s with a empty array adding a single item 140s preserves the original 140s ltlts the item to the vector 140s with a single-item array adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a single-item array adding a duplicate item 140s preserves the original 140s ltlts the item to the vector 140s with a 31-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a 32-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a 33-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a 1023-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a 1024-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s with a 1025-item vector adding a different item 140s preserves the original 140s ltlts the item to the vector 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s #map 140s when empty 140s returns self 140s when not empty 140s with a block 140s preserves the original values 140s returns a new vector with the mapped values 140s with no block 140s returns an Enumerator 140s from a subclass 140s returns an instance of the subclass 140s on a large vector 140s works 140s #collect 140s when empty 140s returns self 140s when not empty 140s with a block 140s preserves the original values 140s returns a new vector with the mapped values 140s with no block 140s returns an Enumerator 140s from a subclass 140s returns an instance of the subclass 140s on a large vector 140s works 140s 140s Hamster::Vector 140s #marshal_dump/#marshal_load 140s can survive dumping and loading into a new process 140s is still possible to find items by index after loading 140s 140s Hamster::Vector 140s #max 140s with a block 140s on [] 140s returns nil 140s on ["A"] 140s returns "A" 140s on ["Ichi", "Ni", "San"] 140s returns "Ichi" 140s without a block 140s on [] 140s returns nil 140s on ["A"] 140s returns "A" 140s on ["Ichi", "Ni", "San"] 140s returns "San" 140s 140s Hamster::Vector 140s #min 140s with a block 140s on [] 140s returns nil 140s on ["A"] 140s returns "A" 140s on ["Ichi", "Ni", "San"] 140s returns "Ni" 140s without a block 140s on [] 140s returns nil 140s on ["A"] 140s returns "A" 140s on ["Ichi", "Ni", "San"] 140s returns "Ichi" 140s 140s Hamster::Vector 140s #* 140s raises a TypeError if passed nil 140s raises an ArgumentError if passed no arguments 140s with a String argument 140s acts just like #join 140s with an Integer argument 140s concatenates n copies of the array 140s raises an ArgumentError if integer is negative 140s works on large vectors 140s with a subclass of Vector 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s .new 140s accepts a single enumerable argument and creates a new vector 140s makes a defensive copy of a non-frozen mutable Array passed in 140s is amenable to overriding of #initialize 140s from a subclass 140s returns a frozen instance of the subclass 140s .[] 140s accepts a variable number of items and creates a new vector 140s 140s Hamster::Vector 140s #partition 140s on [] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [1] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [1, 2] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [1, 2, 3] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [1, 2, 3, 4] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [2, 3, 4] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [3, 4] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s on [4] 140s with a block 140s preserves the original 140s returns a frozen array with two items 140s correctly identifies the matches 140s correctly identifies the remainder 140s without a block 140s returns an Enumerator 140s 140s Hamster::Vector 140s #permutation 140s handles duplicate elements correctly 140s leaves the original unmodified 140s behaves like Array#permutation 140s without a block or arguments 140s returns an Enumerator of all permutations 140s without a block, but with integral argument 140s returns an Enumerator of all permutations of given length 140s with a block 140s returns self 140s and no argument 140s yields all permutations 140s and an integral argument 140s yields all permutations of the given length 140s on an empty vector 140s yields the empty permutation 140s with an argument of zero 140s yields the empty permutation 140s with a length greater than the size of the vector 140s yields no permutations 140s 140s Hamster::Vector 140s #pop 140s on [] 140s preserves the original 140s returns [] 140s on ["A"] 140s preserves the original 140s returns [] 140s on ["A", "B", "C"] 140s preserves the original 140s returns ["A", "B"] 140s on 1..32 140s preserves the original 140s returns 1..31 140s on 1..33 140s preserves the original 140s returns 1..32 140s 140s Hamster::Vector 140s #product 140s when passed no arguments 140s multiplies all items in vector 140s when passed one or more vectors 140s when passed a block 140s yields an array for each combination of items from the vectors 140s returns self 140s when not passed a block 140s returns the cartesian product in an array 140s when one of the arguments is empty 140s returns an empty array 140s when the receiver is empty 140s returns an empty array 140s when passed one or more Arrays 140s also calculates the cartesian product correctly 140s 140s Hamster::Vector 140s #put 140s when empty 140s WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /tmp/autopkgtest.dBBCSJ/build.TV7/src/spec/lib/hamster/vector/put_spec.rb:12:in `block (4 levels) in '. 140s raises an error for index -1 140s allows indexes 0 and 1 to be put 140s when not empty 140s with a block 140s and a positive index 140s within the absolute bounds of the vector 140s passes the current value to the block 140s replaces the value with the result of the block 140s supports to_proc methods 140s just past the end of the vector 140s passes nil to the block and adds a new value 140s further outside the bounds of the vector 140s passes nil to the block, fills up missing nils, and adds a new value 140s and a negative index 140s within the absolute bounds of the vector 140s passes the current value to the block 140s replaces the value with the result of the block 140s supports to_proc methods 140s outside the absolute bounds of the vector 140s WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /tmp/autopkgtest.dBBCSJ/build.TV7/src/spec/lib/hamster/vector/put_spec.rb:76:in `block (7 levels) in '. 140s raises an error 140s with a value 140s and a positive index 140s within the absolute bounds of the vector 140s preserves the original 140s puts the new value at the specified index 140s just past the end of the vector 140s adds a new value 140s outside the absolute bounds of the vector 140s fills up with nils 140s with a negative index 140s preserves the original 140s puts the new value at the specified index 140s outside the absolute bounds of the vector 140s WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /tmp/autopkgtest.dBBCSJ/build.TV7/src/spec/lib/hamster/vector/put_spec.rb:126:in `block (6 levels) in '. 140s raises an error 140s from a subclass 140s returns an instance of the subclass 140s on a 10-item vector 140s works correctly 140s on a 31-item vector 140s works correctly 140s on a 32-item vector 140s works correctly 140s on a 33-item vector 140s works correctly 140s on a 1000-item vector 140s works correctly 140s on a 1023-item vector 140s works correctly 140s on a 1024-item vector 140s works correctly 140s on a 1025-item vector 140s works correctly 140s on a 2000-item vector 140s works correctly 140s with an identical value to an existing item 140s on a 1-item vector 140s returns self 140s on a 2-item vector 140s returns self 140s on a 5-item vector 140s returns self 140s on a 31-item vector 140s returns self 140s on a 32-item vector 140s returns self 140s on a 33-item vector 140s returns self 140s on a 100-item vector 140s returns self 140s on a 200-item vector 140s returns self 140s 140s Hamster::Vector 140s #reduce 140s on [] 140s with an initial value of 10 140s and a block 140s returns 10 140s on [1] 140s with an initial value of 10 140s and a block 140s returns 9 140s on [1, 2, 3] 140s with an initial value of 10 140s and a block 140s returns 4 140s on [] 140s with no initial value 140s and a block 140s returns nil 140s on [1] 140s with no initial value 140s and a block 140s returns 1 140s on [1, 2, 3] 140s with no initial value 140s and a block 140s returns -4 140s with no block and a symbol argument 140s uses the symbol as the name of a method to reduce with 140s with no block and a string argument 140s uses the string as the name of a method to reduce with 140s #inject 140s on [] 140s with an initial value of 10 140s and a block 140s returns 10 140s on [1] 140s with an initial value of 10 140s and a block 140s returns 9 140s on [1, 2, 3] 140s with an initial value of 10 140s and a block 140s returns 4 140s on [] 140s with no initial value 140s and a block 140s returns nil 140s on [1] 140s with no initial value 140s and a block 140s returns 1 140s on [1, 2, 3] 140s with no initial value 140s and a block 140s returns -4 140s with no block and a symbol argument 140s uses the symbol as the name of a method to reduce with 140s with no block and a string argument 140s uses the string as the name of a method to reduce with 140s 140s Hamster::Vector 140s #reject 140s works with a variety of inputs 140s on [] 140s with a block 140s returns [] 140s without a block 140s returns an Enumerator 140s on ["A"] 140s with a block 140s returns ["A"] 140s without a block 140s returns an Enumerator 140s on ["A", "B", "C"] 140s with a block 140s returns ["A", "B", "C"] 140s without a block 140s returns an Enumerator 140s on ["A", "b", "C"] 140s with a block 140s returns ["A", "C"] 140s without a block 140s returns an Enumerator 140s on ["a", "b", "c"] 140s with a block 140s returns [] 140s without a block 140s returns an Enumerator 140s #delete_if 140s works with a variety of inputs 140s on [] 140s with a block 140s returns [] 140s without a block 140s returns an Enumerator 140s on ["A"] 140s with a block 140s returns ["A"] 140s without a block 140s returns an Enumerator 140s on ["A", "B", "C"] 140s with a block 140s returns ["A", "B", "C"] 140s without a block 140s returns an Enumerator 140s on ["A", "b", "C"] 140s with a block 140s returns ["A", "C"] 140s without a block 140s returns an Enumerator 140s on ["a", "b", "c"] 140s with a block 140s returns [] 140s without a block 140s returns an Enumerator 140s 140s Hamster::Vector 140s #repeated_combination 140s leaves the original unmodified 140s behaves like Array#repeated_combination 140s with no block 140s returns an Enumerator 140s with a block 140s returns self 140s with a negative argument 140s yields nothing and returns self 140s with a zero argument 140s yields an empty array 140s with a argument of 1 140s yields each item in the vector, as single-item vectors 140s on an empty vector, with an argument greater than zero 140s yields nothing 140s with a positive argument, greater than 1 140s yields all combinations of the given size (where a single element can appear more than once in a row) 140s 140s Hamster::Vector 140s #repeated_permutation 140s handles duplicate elements correctly 140s allows permutations larger than the number of elements 140s leaves the original unmodified 140s behaves like Array#repeated_permutation 140s without a block 140s and without argument 140s returns an Enumerator of all repeated permutations 140s with an integral argument 140s returns an Enumerator of all repeated permutations of the given length 140s with a block 140s returns self 140s on an empty vector 140s yields the empty permutation 140s with an argument of zero 140s yields the empty permutation 140s with no argument 140s yields all repeated permutations 140s with a positive integral argument 140s yields all repeated permutations of the given length 140s 140s Hamster::Vector 140s #reverse_each 140s on a 2-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 31-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 32-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 33-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 1000-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 1024-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 1025-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s on a 2000-item vector 140s with a block (internal iteration) 140s returns self 140s yields all items in the opposite order as #each 140s with no block 140s returns an Enumerator 140s 140s Hamster::Vector 140s #reverse 140s on [] 140s returns [] 140s on [1] 140s returns [1] 140s on [1, 2] 140s returns [2, 1] 140s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] 140s returns [32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 140s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33] 140s returns [33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 140s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] 140s returns [100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 140s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024] 140s returns [1024, 1023, 1022, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959, 958, 957, 956, 955, 954, 953, 952, 951, 950, 949, 948, 947, 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, 936, 935, 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, 900, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, 886, 885, 884, 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 140s 140s Hamster::Vector 140s #rindex 140s when passed an object present in the vector 140s returns the last index where the object is present 140s when passed an object not present in the vector 140s returns nil 140s with a block 140s returns the last index of an object which the predicate is true for 140s without an argument OR block 140s returns an Enumerator 140s 140s Hamster::Vector 140s #rotate 140s leaves the original unmodified 140s when passed no argument 140s returns a new vector with the first element moved to the end 140s with an integral argument n 140s returns a new vector with the first (n % size) elements moved to the end 140s with a floating-point argument n 140s coerces the argument to integer using to_int 140s with a non-numeric argument 140s raises a TypeError 140s with an argument of zero 140s returns self 140s with an argument equal to the vector's size 140s returns self 140s on a 31-item vector 140s behaves like Array#rotate 140s on a 32-item vector 140s behaves like Array#rotate 140s on a 33-item vector 140s behaves like Array#rotate 140s on a 1000-item vector 140s behaves like Array#rotate 140s on a 1023-item vector 140s behaves like Array#rotate 140s on a 1024-item vector 140s behaves like Array#rotate 140s on a 1025-item vector 140s behaves like Array#rotate 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s #sample 140s returns a randomly chosen item 140s 140s Hamster::Vector 140s #select 140s works with a variety of inputs 140s with a block 140s preserves the original 140s returns a vector with the matching values 140s with no block 140s returns an Enumerator 140s when nothing matches 140s preserves the original 140s returns an empty vector 140s on an empty vector 140s returns self 140s from a subclass 140s returns an instance of the subclass 140s #find_all 140s works with a variety of inputs 140s with a block 140s preserves the original 140s returns a vector with the matching values 140s with no block 140s returns an Enumerator 140s when nothing matches 140s preserves the original 140s returns an empty vector 140s on an empty vector 140s returns self 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s #set 140s without block 140s replaces the element 140s with block 140s passes the existing element to the block and replaces the result 140s 140s Hamster::Vector 140s #shift 140s on [] 140s preserves the original 140s returns [] 140s on ["A"] 140s preserves the original 140s returns [] 140s on ["A", "B", "C"] 140s preserves the original 140s returns ["B", "C"] 140s on 1..31 140s preserves the original 140s returns 2..31 140s on 1..32 140s preserves the original 140s returns 2..32 140s on 1..33 140s preserves the original 140s returns 2..33 140s 140s Hamster::Vector 140s #shuffle 140s returns the same values, in a usually different order 140s leaves the original unchanged 140s from a subclass 140s returns an instance of the subclass 140s on a 32-item vector 140s works correctly 140s on a 33-item vector 140s works correctly 140s on a 1023-item vector 140s works correctly 140s on a 1024-item vector 140s works correctly 140s on a 1025-item vector 140s works correctly 140s 140s Hamster::Vector 140s #slice 140s when passed a positive integral index 140s returns the element at that index 140s leaves the original unchanged 140s when passed a negative integral index 140s returns the element which is number (index.abs) counting from the end of the vector 140s when passed a positive integral index and count 140s returns 'count' elements starting from 'index' 140s leaves the original unchanged 140s when passed a negative integral index and count 140s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 140s when passed a Range 140s returns the elements whose indexes are within the given Range 140s leaves the original unchanged 140s when passed a subclass of Range 140s works the same as with a Range 140s on a subclass of Vector 140s with index and count or a range, returns an instance of the subclass 140s #[] 140s when passed a positive integral index 140s returns the element at that index 140s leaves the original unchanged 140s when passed a negative integral index 140s returns the element which is number (index.abs) counting from the end of the vector 140s when passed a positive integral index and count 140s returns 'count' elements starting from 'index' 140s leaves the original unchanged 140s when passed a negative integral index and count 140s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 140s when passed a Range 140s returns the elements whose indexes are within the given Range 140s leaves the original unchanged 140s when passed a subclass of Range 140s works the same as with a Range 140s on a subclass of Vector 140s with index and count or a range, returns an instance of the subclass 140s 140s Hamster::Vector 140s #sort 140s on [] 140s with a block 140s preserves the original 140s returns [] 140s without a block 140s preserves the original 140s returns [] 140s on ["A"] 140s with a block 140s preserves the original 140s returns ["A"] 140s without a block 140s preserves the original 140s returns ["A"] 140s on ["Ichi", "Ni", "San"] 140s with a block 140s preserves the original 140s returns ["Ni", "San", "Ichi"] 140s without a block 140s preserves the original 140s returns ["Ichi", "Ni", "San"] 140s on a 10-item vector 140s behaves like Arraysort 140s on a 31-item vector 140s behaves like Arraysort 140s on a 32-item vector 140s behaves like Arraysort 140s on a 33-item vector 140s behaves like Arraysort 140s on a 1023-item vector 140s behaves like Arraysort 140s on a 1024-item vector 140s behaves like Arraysort 140s on a 1025-item vector 140s behaves like Arraysort 140s #sort_by 140s on [] 140s with a block 140s preserves the original 140s returns [] 140s without a block 140s preserves the original 140s returns [] 140s on ["A"] 140s with a block 140s preserves the original 140s returns ["A"] 140s without a block 140s preserves the original 140s returns ["A"] 140s on ["Ichi", "Ni", "San"] 140s with a block 140s preserves the original 140s returns ["Ni", "San", "Ichi"] 140s without a block 140s preserves the original 140s returns ["Ichi", "Ni", "San"] 140s on a 10-item vector 140s behaves like Arraysort_by 140s on a 31-item vector 140s behaves like Arraysort_by 140s on a 32-item vector 140s behaves like Arraysort_by 140s on a 33-item vector 140s behaves like Arraysort_by 140s on a 1023-item vector 140s behaves like Arraysort_by 140s on a 1024-item vector 140s behaves like Arraysort_by 140s on a 1025-item vector 140s behaves like Arraysort_by 140s 140s Hamster::Vector 140s #sum 140s on [] 140s returns 0 140s on [2] 140s returns 2 140s on [1, 3, 5, 7, 11] 140s returns 27 140s 140s Hamster::Vector 140s #take 140s 10 from [] 140s preserves the original 140s returns [] 140s 10 from ["A"] 140s preserves the original 140s returns ["A"] 140s 0 from ["A", "B", "C"] 140s preserves the original 140s returns [] 140s 2 from ["A", "B", "C"] 140s preserves the original 140s returns ["A", "B"] 140s 1 from 1..32 140s preserves the original 140s returns [1] 140s 32 from 1..33 140s preserves the original 140s returns 1..32 140s 40 from 1..100 140s preserves the original 140s returns 1..40 140s when number of elements specified is identical to size 140s returns self 140s when number of elements specified is bigger than size 140s returns self 140s 140s Hamster::Vector 140s #take_while 140s on [] 140s with a block 140s returns [] 140s preserves the original 140s without a block 140s returns an Enumerator 140s on ["A"] 140s with a block 140s returns ["A"] 140s preserves the original 140s without a block 140s returns an Enumerator 140s on ["A", "B", "C"] 140s with a block 140s returns ["A", "B"] 140s preserves the original 140s without a block 140s returns an Enumerator 140s 140s Hamster::Vector 140s #to_a 140s with an empty vector 140s returns the values 140s with an single item vector 140s returns the values 140s with an multi-item vector 140s returns the values 140s with a 10-item vector 140s returns the values 140s with a 31-item vector 140s returns the values 140s with a 32-item vector 140s returns the values 140s with a 33-item vector 140s returns the values 140s with a 1000-item vector 140s returns the values 140s with a 1023-item vector 140s returns the values 140s with a 1024-item vector 140s returns the values 140s with a 1025-item vector 140s returns the values 140s 140s Hamster::Vector 140s #to_ary 140s converts using block parameters 140s converts using method arguments 140s converts using splat 140s 140s Hamster::Vector 140s #to_list 140s on [] 140s returns a list 140s the returned list 140s has the correct length 140s contains all values 140s on ["A"] 140s returns a list 140s the returned list 140s has the correct length 140s contains all values 140s on ["A", "B", "C"] 140s returns a list 140s the returned list 140s has the correct length 140s contains all values 140s 140s Hamster::Vector 140s #to_set 140s on [] 140s returns a set with the same values 140s on ["A"] 140s returns a set with the same values 140s on ["A", "B", "C"] 140s returns a set with the same values 140s on 1..10 140s returns a set with the same values 140s on 1..32 140s returns a set with the same values 140s on 1..33 140s returns a set with the same values 140s on 1..1000 140s returns a set with the same values 140s 140s Hamster::Vector 140s #transpose 140s takes a vector of vectors and transposes rows and columns 140s raises an IndexError if the vectors are not of the same length 140s also works on Vectors of Arrays 140s on 10-item vectors 140s behaves like Array#transpose 140s on 31-item vectors 140s behaves like Array#transpose 140s on 32-item vectors 140s behaves like Array#transpose 140s on 33-item vectors 140s behaves like Array#transpose 140s on 1000-item vectors 140s behaves like Array#transpose 140s on 1023-item vectors 140s behaves like Array#transpose 140s on 1024-item vectors 140s behaves like Array#transpose 140s on 1025-item vectors 140s behaves like Array#transpose 140s on 2000-item vectors 140s behaves like Array#transpose 140s on a subclass of Vector 140s returns instances of the subclass 140s 140s Hamster::Vector 140s #uniq 140s returns a vector with no duplicates 140s leaves the original unmodified 140s uses #eql? semantics 140s also uses #hash when determining which values are duplicates 140s keeps the first of each group of duplicate values 140s when passed a block 140s uses the return value of the block to determine which items are duplicate 140s on a vector with no duplicates 140s returns an unchanged vector 140s if the vector has more than 32 elements and is initialized with Vector.new 140s returns an unchanged vector 140s on a 10-item vector 140s behaves like Array#uniq 140s on a 31-item vector 140s behaves like Array#uniq 140s on a 32-item vector 140s behaves like Array#uniq 140s on a 33-item vector 140s behaves like Array#uniq 140s on a 1000-item vector 140s behaves like Array#uniq 140s on a 1023-item vector 140s behaves like Array#uniq 140s on a 1024-item vector 140s behaves like Array#uniq 140s on a 1025-item vector 140s behaves like Array#uniq 140s on a 2000-item vector 140s behaves like Array#uniq 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s #unshift 140s on [] with "A" 140s preserves the original 140s returns ["A"] 140s on ["A"] with "B" 140s preserves the original 140s returns ["B", "A"] 140s on ["A"] with "A" 140s preserves the original 140s returns ["A", "A"] 140s on ["A", "B", "C"] with "D" 140s preserves the original 140s returns ["D", "A", "B", "C"] 140s on 1..31 with 0 140s preserves the original 140s returns 0..31 140s on 1..32 with 0 140s preserves the original 140s returns 0..32 140s on 1..33 with 0 140s preserves the original 140s returns 0..33 140s 140s Hamster::Vector 140s #values_at 140s accepts any number of indices, and returns a vector of items at those indices 140s when passed invalid indices 140s fills in with nils 140s when passed no arguments 140s returns an empty vector 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster::Vector 140s #zip 140s with a block 140s yields arrays of one corresponding element from each input sequence 140s fills in the missing values with nils 140s returns nil 140s can handle multiple inputs, of different classes 140s without a block 140s returns a vector of arrays (one corresponding element from each input sequence) 140s on 10-item vectors 140s behaves like Array#zip 140s on 31-item vectors 140s behaves like Array#zip 140s on 32-item vectors 140s behaves like Array#zip 140s on 33-item vectors 140s behaves like Array#zip 140s on 1000-item vectors 140s behaves like Array#zip 140s on 1023-item vectors 140s behaves like Array#zip 140s on 1024-item vectors 140s behaves like Array#zip 140s on 1025-item vectors 140s behaves like Array#zip 140s from a subclass 140s returns an instance of the subclass 140s 140s Hamster 140s Hash 141s can be loaded separately 141s Set 141s can be loaded separately 141s Vector 141s can be loaded separately 141s List 141s can be loaded separately 141s SortedSet 141s can be loaded separately 141s Deque 141s can be loaded separately 141s 141s Pending: (Failures listed here are expected and do not affect your suite's status) 141s 141s 1) Hamster::List doesn't give horrendously bad performance if thread realizing the list sleeps 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/list/multithreading_spec.rb:33 141s 141s 2) Hamster.to_ruby with Hamster::Hash["a" => 1, "e" => Hamster::Hash["g" => 9, "f" => 8], "d" => Hamster::Set[7, 6, 5], "b" => Hamster::Vector[2, Hamster::Hash["c" => 3], 4], "h" => /ijk/] as input should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 3) Hamster.to_ruby with Hamster::Hash[] as input should return {} 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 4) Hamster.to_ruby with Hamster::Hash["a" => 1, "b" => 2, "c" => 3] as input should return {"a"=>1, "b"=>2, "c"=>3} 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 5) Hamster.to_ruby with Hamster::Vector[] as input should return [] 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 6) Hamster.to_ruby with Hamster::Vector[1, 2, 3] as input should return [1, 2, 3] 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 7) Hamster.to_ruby with Hamster::Set[] as input should return # 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 8) Hamster.to_ruby with Hamster::Set[1, 3, 2] as input should return # 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 9) Hamster.to_ruby with 42 as input should return 42 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s 10) Hamster.to_ruby with #> as input should return #> 141s # Temporarily skipped with xit 141s # ./spec/lib/hamster/nested/construction_spec.rb:64 141s 141s Finished in 10.05 seconds (files took 1.47 seconds to load) 141s 4593 examples, 0 failures, 10 pending 141s 141s mv ./.gem2deb.lib lib 141s autopkgtest [07:12:07]: test gem2deb-test-runner: -----------------------] 142s gem2deb-test-runner PASS 142s autopkgtest [07:12:08]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 142s autopkgtest [07:12:08]: @@@@@@@@@@@@@@@@@@@@ summary 142s gem2deb-test-runner PASS