0s autopkgtest [07:04:39]: starting date and time: 2026-02-10 07:04:39+0000 0s autopkgtest [07:04:39]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [07:04:39]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.poaecnx5/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-immutable-ruby --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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-16.secgroup --name adt-resolute-ppc64el-ruby-immutable-ruby-20260210-070439-juju-7f2275-prod-proposed-migration-environment-20-cb694916-c8ac-468f-bbc5-a533ecdacec3 --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-ppc64el-ruby-immutable-ruby-20260210-070439-juju-7f2275-prod-proposed-migration-environment-20-cb694916-c8ac-468f-bbc5-a533ecdacec3 from image adt/ubuntu-resolute-ppc64el-server-20260209.img (UUID f7f31435-4cd1-4090-aa55-59cfefa097ca)... 107s autopkgtest [07:06:26]: testbed dpkg architecture: ppc64el 107s autopkgtest [07:06:26]: testbed apt version: 3.1.15 108s autopkgtest [07:06:27]: @@@@@@@@@@@@@@@@@@@@ test bed setup 108s autopkgtest [07:06:27]: testbed release detected to be: None 108s autopkgtest [07:06:27]: updating testbed package index (apt update) 108s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 108s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 109s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 109s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 109s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 109s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 109s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 110s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [261 kB] 111s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1728 kB] 112s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [20.2 kB] 113s Fetched 4069 kB in 4s (954 kB/s) 114s Reading package lists... 114s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 114s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 114s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 114s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 115s Reading package lists... 115s Reading package lists... 115s Building dependency tree... 115s Reading state information... 115s Calculating upgrade... 115s The following NEW packages will be installed: 115s gcc-16-base 115s The following packages will be upgraded: 115s cryptsetup-bin dracut-install iproute2 iptables libatomic1 libbrotli1 115s libcryptsetup12 libgcc-s1 libip4tc2 libip6tc2 libstdc++6 libxtables12 wget 115s 13 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 115s Need to get 4597 kB of archives. 115s After this operation, 279 kB of additional disk space will be used. 115s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-16-base ppc64el 16-20260208-1ubuntu1 [59.7 kB] 115s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-s1 ppc64el 16-20260208-1ubuntu1 [39.3 kB] 116s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el iptables ppc64el 1.8.11-2ubuntu3 [464 kB] 116s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libip4tc2 ppc64el 1.8.11-2ubuntu3 [27.8 kB] 116s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el libip6tc2 ppc64el 1.8.11-2ubuntu3 [28.2 kB] 116s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxtables12 ppc64el 1.8.11-2ubuntu3 [41.2 kB] 116s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el iproute2 ppc64el 6.18.0-1ubuntu1 [1458 kB] 117s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libatomic1 ppc64el 16-20260208-1ubuntu1 [11.0 kB] 117s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcryptsetup12 ppc64el 2:2.8.0-1ubuntu3 [404 kB] 117s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++6 ppc64el 16-20260208-1ubuntu1 [930 kB] 118s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el wget ppc64el 1.25.0-2ubuntu4 [401 kB] 118s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el cryptsetup-bin ppc64el 2:2.8.0-1ubuntu3 [250 kB] 118s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el dracut-install ppc64el 109-11ubuntu1 [51.3 kB] 118s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libbrotli1 ppc64el 1.2.0-3 [431 kB] 118s dpkg-preconfigure: unable to re-open stdin: No such file or directory 118s Fetched 4597 kB in 2s (1893 kB/s) 118s Selecting previously unselected package gcc-16-base:ppc64el. 120s (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 ... 122003 files and directories currently installed.) 120s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_ppc64el.deb ... 120s Unpacking gcc-16-base:ppc64el (16-20260208-1ubuntu1) ... 120s Setting up gcc-16-base:ppc64el (16-20260208-1ubuntu1) ... 120s (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 ... 122008 files and directories currently installed.) 120s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_ppc64el.deb ... 120s Unpacking libgcc-s1:ppc64el (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 120s Setting up libgcc-s1:ppc64el (16-20260208-1ubuntu1) ... 120s (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 ... 122008 files and directories currently installed.) 120s Preparing to unpack .../00-iptables_1.8.11-2ubuntu3_ppc64el.deb ... 120s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../01-libip4tc2_1.8.11-2ubuntu3_ppc64el.deb ... 121s Unpacking libip4tc2:ppc64el (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../02-libip6tc2_1.8.11-2ubuntu3_ppc64el.deb ... 121s Unpacking libip6tc2:ppc64el (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../03-libxtables12_1.8.11-2ubuntu3_ppc64el.deb ... 121s Unpacking libxtables12:ppc64el (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../04-iproute2_6.18.0-1ubuntu1_ppc64el.deb ... 121s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 122s Preparing to unpack .../05-libatomic1_16-20260208-1ubuntu1_ppc64el.deb ... 122s Unpacking libatomic1:ppc64el (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 122s Preparing to unpack .../06-libcryptsetup12_2%3a2.8.0-1ubuntu3_ppc64el.deb ... 122s Unpacking libcryptsetup12:ppc64el (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 122s Preparing to unpack .../07-libstdc++6_16-20260208-1ubuntu1_ppc64el.deb ... 122s Unpacking libstdc++6:ppc64el (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 122s Preparing to unpack .../08-wget_1.25.0-2ubuntu4_ppc64el.deb ... 122s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 122s Preparing to unpack .../09-cryptsetup-bin_2%3a2.8.0-1ubuntu3_ppc64el.deb ... 122s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 123s Preparing to unpack .../10-dracut-install_109-11ubuntu1_ppc64el.deb ... 123s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 123s Preparing to unpack .../11-libbrotli1_1.2.0-3_ppc64el.deb ... 123s Unpacking libbrotli1:ppc64el (1.2.0-3) over (1.1.0-2build6) ... 123s Setting up libip4tc2:ppc64el (1.8.11-2ubuntu3) ... 123s Setting up wget (1.25.0-2ubuntu4) ... 123s Setting up libip6tc2:ppc64el (1.8.11-2ubuntu3) ... 123s Setting up libbrotli1:ppc64el (1.2.0-3) ... 123s Setting up libatomic1:ppc64el (16-20260208-1ubuntu1) ... 123s Setting up libxtables12:ppc64el (1.8.11-2ubuntu3) ... 123s Setting up dracut-install (109-11ubuntu1) ... 123s Setting up libcryptsetup12:ppc64el (2:2.8.0-1ubuntu3) ... 123s Setting up libstdc++6:ppc64el (16-20260208-1ubuntu1) ... 123s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 123s Setting up iptables (1.8.11-2ubuntu3) ... 123s Setting up iproute2 (6.18.0-1ubuntu1) ... 124s Processing triggers for man-db (2.13.1-1build1) ... 126s Processing triggers for install-info (7.2-5) ... 126s Processing triggers for libc-bin (2.42-2ubuntu4) ... 126s autopkgtest [07:06:45]: upgrading testbed (apt dist-upgrade and autopurge) 126s Reading package lists... 126s Building dependency tree... 126s Reading state information... 126s Calculating upgrade... 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 127s Reading package lists... 127s Building dependency tree... 127s Reading state information... 127s Solving dependencies... 127s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 129s autopkgtest [07:06:48]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 20:13:51 UTC 2026 129s autopkgtest [07:06:48]: @@@@@@@@@@@@@@@@@@@@ apt-source ruby-immutable-ruby 130s Get:1 http://ftpmaster.internal/ubuntu resolute/universe ruby-immutable-ruby 0.1.0-2 (dsc) [2161 B] 130s Get:2 http://ftpmaster.internal/ubuntu resolute/universe ruby-immutable-ruby 0.1.0-2 (tar) [137 kB] 130s Get:3 http://ftpmaster.internal/ubuntu resolute/universe ruby-immutable-ruby 0.1.0-2 (diff) [2840 B] 130s gpgv: Signature made Sun Sep 17 20:14:42 2023 UTC 130s gpgv: using RSA key 4D0BE12F0E4776D8AACE9696E66C775AEBFE6C7D 130s gpgv: Can't check signature: No public key 130s dpkg-source: warning: cannot verify inline signature for ./ruby-immutable-ruby_0.1.0-2.dsc: no acceptable signature found 130s autopkgtest [07:06:49]: testing package ruby-immutable-ruby version 0.1.0-2 131s autopkgtest [07:06:50]: build not needed 131s autopkgtest [07:06:50]: test gem2deb-test-runner: preparing testbed 131s Reading package lists... 131s Building dependency tree... 131s Reading state information... 131s Solving dependencies... 132s The following NEW packages will be installed: 132s gem2deb-test-runner libruby libruby3.3 rake ruby ruby-concurrent ruby-csv 132s ruby-did-you-mean ruby-diff-lcs ruby-immutable-ruby ruby-minitest 132s ruby-net-telnet ruby-power-assert ruby-rbtree ruby-rspec ruby-rspec-core 132s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support 132s ruby-ruby2-keywords ruby-rubygems ruby-sorted-set ruby-test-unit 132s ruby-webrick ruby-xmlrpc ruby3.3 rubygems-integration 132s 0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded. 132s Need to get 7882 kB of archives. 132s After this operation, 43.3 MB of additional disk space will be used. 132s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el rubygems-integration all 1.19build1 [5666 B] 132s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-csv all 3.3.4-1 [43.0 kB] 132s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 132s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 132s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 132s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-webrick all 1.9.1-1build1 [60.9 kB] 132s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 132s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libruby3.3 ppc64el 3.3.8-2ubuntu2 [6368 kB] 140s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby3.3 ppc64el 3.3.8-2ubuntu2 [58.9 kB] 140s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libruby ppc64el 1:3.3 [5172 B] 140s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 140s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el ruby ppc64el 1:3.3 [3666 B] 140s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el rake all 13.2.1-1build1 [45.9 kB] 140s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-minitest all 5.26.1-1 [49.3 kB] 140s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-power-assert all 3.0.1-1 [11.4 kB] 140s Get:16 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-test-unit all 3.6.2-1 [67.0 kB] 140s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el gem2deb-test-runner ppc64el 2.2.5 [18.3 kB] 140s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el ruby-concurrent all 1.3.6-1 [284 kB] 140s Get:19 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-diff-lcs all 1.5.1-1 [22.8 kB] 140s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rbtree ppc64el 0.4.6-1build3 [28.6 kB] 140s Get:21 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-sorted-set all 1.0.3-3 [4258 B] 140s Get:22 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-immutable-ruby all 0.1.0-2 [47.1 kB] 140s Get:23 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 140s Get:24 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 140s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 140s Get:26 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 140s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 140s Fetched 7882 kB in 8s (936 kB/s) 140s Selecting previously unselected package rubygems-integration. 140s (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 ... 122011 files and directories currently installed.) 140s Preparing to unpack .../00-rubygems-integration_1.19build1_all.deb ... 140s Unpacking rubygems-integration (1.19build1) ... 140s Selecting previously unselected package ruby-csv. 140s Preparing to unpack .../01-ruby-csv_3.3.4-1_all.deb ... 140s Unpacking ruby-csv (3.3.4-1) ... 140s Selecting previously unselected package ruby-did-you-mean. 140s Preparing to unpack .../02-ruby-did-you-mean_1.6.3-2build1_all.deb ... 140s Unpacking ruby-did-you-mean (1.6.3-2build1) ... 140s Selecting previously unselected package ruby-net-telnet. 140s Preparing to unpack .../03-ruby-net-telnet_0.2.0-1build1_all.deb ... 140s Unpacking ruby-net-telnet (0.2.0-1build1) ... 140s Selecting previously unselected package ruby-ruby2-keywords. 140s Preparing to unpack .../04-ruby-ruby2-keywords_0.0.5-1build1_all.deb ... 140s Unpacking ruby-ruby2-keywords (0.0.5-1build1) ... 140s Selecting previously unselected package ruby-webrick. 140s Preparing to unpack .../05-ruby-webrick_1.9.1-1build1_all.deb ... 140s Unpacking ruby-webrick (1.9.1-1build1) ... 140s Selecting previously unselected package ruby-xmlrpc. 140s Preparing to unpack .../06-ruby-xmlrpc_0.3.3-2build1_all.deb ... 140s Unpacking ruby-xmlrpc (0.3.3-2build1) ... 140s Selecting previously unselected package libruby3.3:ppc64el. 140s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu2_ppc64el.deb ... 140s Unpacking libruby3.3:ppc64el (3.3.8-2ubuntu2) ... 141s Selecting previously unselected package ruby3.3. 141s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu2_ppc64el.deb ... 141s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 141s Selecting previously unselected package libruby:ppc64el. 141s Preparing to unpack .../09-libruby_1%3a3.3_ppc64el.deb ... 141s Unpacking libruby:ppc64el (1:3.3) ... 141s Selecting previously unselected package ruby-rubygems. 141s Preparing to unpack .../10-ruby-rubygems_3.6.7-2ubuntu2_all.deb ... 141s Unpacking ruby-rubygems (3.6.7-2ubuntu2) ... 141s Selecting previously unselected package ruby. 141s Preparing to unpack .../11-ruby_1%3a3.3_ppc64el.deb ... 141s Unpacking ruby (1:3.3) ... 141s Selecting previously unselected package rake. 141s Preparing to unpack .../12-rake_13.2.1-1build1_all.deb ... 141s Unpacking rake (13.2.1-1build1) ... 141s Selecting previously unselected package ruby-minitest. 141s Preparing to unpack .../13-ruby-minitest_5.26.1-1_all.deb ... 141s Unpacking ruby-minitest (5.26.1-1) ... 141s Selecting previously unselected package ruby-power-assert. 141s Preparing to unpack .../14-ruby-power-assert_3.0.1-1_all.deb ... 141s Unpacking ruby-power-assert (3.0.1-1) ... 141s Selecting previously unselected package ruby-test-unit. 141s Preparing to unpack .../15-ruby-test-unit_3.6.2-1_all.deb ... 141s Unpacking ruby-test-unit (3.6.2-1) ... 141s Selecting previously unselected package gem2deb-test-runner. 141s Preparing to unpack .../16-gem2deb-test-runner_2.2.5_ppc64el.deb ... 141s Unpacking gem2deb-test-runner (2.2.5) ... 141s Selecting previously unselected package ruby-concurrent. 141s Preparing to unpack .../17-ruby-concurrent_1.3.6-1_all.deb ... 141s Unpacking ruby-concurrent (1.3.6-1) ... 141s Selecting previously unselected package ruby-diff-lcs. 141s Preparing to unpack .../18-ruby-diff-lcs_1.5.1-1_all.deb ... 141s Unpacking ruby-diff-lcs (1.5.1-1) ... 141s Selecting previously unselected package ruby-rbtree. 141s Preparing to unpack .../19-ruby-rbtree_0.4.6-1build3_ppc64el.deb ... 141s Unpacking ruby-rbtree (0.4.6-1build3) ... 141s Selecting previously unselected package ruby-sorted-set. 141s Preparing to unpack .../20-ruby-sorted-set_1.0.3-3_all.deb ... 141s Unpacking ruby-sorted-set (1.0.3-3) ... 141s Selecting previously unselected package ruby-immutable-ruby. 141s Preparing to unpack .../21-ruby-immutable-ruby_0.1.0-2_all.deb ... 141s Unpacking ruby-immutable-ruby (0.1.0-2) ... 141s Selecting previously unselected package ruby-rspec-support. 141s Preparing to unpack .../22-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 141s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 141s Selecting previously unselected package ruby-rspec-core. 141s Preparing to unpack .../23-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 141s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 141s Selecting previously unselected package ruby-rspec-expectations. 141s Preparing to unpack .../24-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 141s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 141s Selecting previously unselected package ruby-rspec-mocks. 141s Preparing to unpack .../25-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 141s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 141s Selecting previously unselected package ruby-rspec. 141s Preparing to unpack .../26-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 141s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 141s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 141s Setting up ruby-power-assert (3.0.1-1) ... 141s Setting up rubygems-integration (1.19build1) ... 141s Setting up ruby-concurrent (1.3.6-1) ... 141s Setting up ruby-minitest (5.26.1-1) ... 141s Setting up ruby-test-unit (3.6.2-1) ... 141s Setting up ruby-net-telnet (0.2.0-1build1) ... 141s Setting up ruby-csv (3.3.4-1) ... 141s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 141s Setting up ruby-webrick (1.9.1-1build1) ... 141s Setting up ruby-did-you-mean (1.6.3-2build1) ... 141s Setting up ruby-xmlrpc (0.3.3-2build1) ... 141s Setting up rake (13.2.1-1build1) ... 141s Setting up libruby3.3:ppc64el (3.3.8-2ubuntu2) ... 141s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 141s Setting up libruby:ppc64el (1:3.3) ... 141s Setting up ruby (1:3.3) ... 141s Setting up ruby-rbtree (0.4.6-1build3) ... 141s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 141s Setting up ruby-diff-lcs (1.5.1-1) ... 141s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 141s Setting up ruby-sorted-set (1.0.3-3) ... 141s Setting up gem2deb-test-runner (2.2.5) ... 141s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 141s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 141s Setting up ruby-immutable-ruby (0.1.0-2) ... 141s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 141s Processing triggers for libc-bin (2.42-2ubuntu4) ... 141s Processing triggers for man-db (2.13.1-1build1) ... 142s autopkgtest [07:07:01]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 142s autopkgtest [07:07:01]: test gem2deb-test-runner: [----------------------- 143s 143s ┌──────────────────────────────────────────────────────────────────────────────┐ 143s │ Checking Rubygems dependency resolution on ruby3.3 │ 143s └──────────────────────────────────────────────────────────────────────────────┘ 143s 143s RUBYLIB=. GEM_PATH= ruby3.3 -e gem\ \"immutable-ruby\" 143s mv lib ./.gem2deb.lib 143s mv ./.gem2deb.lib lib 143s 143s ┌──────────────────────────────────────────────────────────────────────────────┐ 143s │ Run tests for ruby3.3 from debian/ruby-tests.rake │ 143s └──────────────────────────────────────────────────────────────────────────────┘ 143s 143s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 143s mv lib ./.gem2deb.lib 143s /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 144s 144s Array 144s #to_list 144s returns an equivalent Immutable list 144s 144s Enumerable 144s #to_list 144s returns an equivalent list 144s works on Ranges 144s 144s IO 144s #to_list 144s with a File 144s returns an equivalent list 144s with a StringIO 144s returns an equivalent list 144s 144s Immutable::Deque 144s #clear 144s on [] 144s preserves the original 144s returns an empty deque 144s on ["A"] 144s preserves the original 144s returns an empty deque 144s on ["A", "B", "C"] 144s preserves the original 144s returns an empty deque 144s from a subclass 144s returns an instance of the subclass 144s 144s Immutable::Deque 144s .[] 144s with no arguments 144s always returns the same instance 144s returns an empty, frozen deque 144s with a number of items 144s always returns a different instance 144s is the same as repeatedly using #endeque 144s 144s Immutable::Deque 144s on [] 144s returns self 144s on ["A"] 144s returns self 144s on ["A", "B", "C"] 144s returns self 144s on [] 144s returns self 144s on ["A"] 144s returns self 144s on ["A", "B", "C"] 144s returns self 144s 144s Immutable::Deque 144s #dequeue 144s on [] 144s preserves the original 144s returns [] 144s on ["A"] 144s preserves the original 144s returns [] 144s on ["A", "B", "C"] 144s preserves the original 144s returns ["B", "C"] 144s on empty subclass 144s returns empty object of same class 144s #shift 144s on [] 144s preserves the original 144s returns [] 144s on ["A"] 144s preserves the original 144s returns [] 144s on ["A", "B", "C"] 144s preserves the original 144s returns ["B", "C"] 144s on empty subclass 144s returns empty object of same class 144s 144s Immutable::Deque 144s #empty? 144s on [] 144s returns true 144s on ["A"] 144s returns false 144s on ["A", "B", "C"] 144s returns false 144s after dedequeing an item from ["A", "B", "C"] 144s returns false 144s .empty 144s returns the canonical empty deque 144s from a subclass 144s returns an empty instance of the subclass 144s 144s Immutable::Deque 144s #enqueue 144s on [] with "A" 144s preserves the original 144s returns ["A"] 144s on ["A"] with "B" 144s preserves the original 144s returns ["A", "B"] 144s on ["A"] with "A" 144s preserves the original 144s returns ["A", "A"] 144s on ["A", "B", "C"] with "D" 144s preserves the original 144s returns ["A", "B", "C", "D"] 144s #push 144s on [] with "A" 144s preserves the original 144s returns ["A"] 144s on ["A"] with "B" 144s preserves the original 144s returns ["A", "B"] 144s on ["A"] with "A" 144s preserves the original 144s returns ["A", "A"] 144s on ["A", "B", "C"] with "D" 144s preserves the original 144s returns ["A", "B", "C", "D"] 144s 144s Immutable::Deque 144s #first 144s on [] 144s returns nil 144s on ["A"] 144s returns "A" 144s on ["A", "B", "C"] 144s returns "A" 144s 144s Immutable::Deque 144s #inspect 144s on [] 144s returns "Immutable::Deque[]" 144s returns a string which can be eval'd to get an equivalent object 144s on ["A"] 144s returns "Immutable::Deque[\"A\"]" 144s returns a string which can be eval'd to get an equivalent object 144s on ["A", "B", "C"] 144s returns "Immutable::Deque[\"A\", \"B\", \"C\"]" 144s returns a string which can be eval'd to get an equivalent object 144s 144s Immutable::Deque 144s #last 144s on [] 144s returns nil 144s on ["A"] 144s returns "A" 144s on ["A", "B", "C"] 144s returns "C" 144s 144s Immutable::Deque 144s #marshal_dump/#marshal_load 144s can survive dumping and loading into a new process 145s is still possible to push and pop items after loading 145s 145s Immutable::Deque 145s .new 145s accepts a single enumerable argument and creates a new deque 145s is amenable to overriding of #initialize 145s from a subclass 145s returns a frozen instance of the subclass 145s .[] 145s accepts a variable number of items and creates a new deque 145s 145s Immutable::Deque 145s #pop 145s on [] 145s preserves the original 145s returns [] 145s returns a frozen instance 145s on ["A"] 145s preserves the original 145s returns [] 145s returns a frozen instance 145s on ["A", "B", "C"] 145s preserves the original 145s returns ["A", "B"] 145s returns a frozen instance 145s on empty subclass 145s returns an empty object of the same class 145s 145s Immutable::Deque 145s #pretty_print 145s prints the whole Deque on one line if it fits 145s prints each item on its own line, if not 145s 145s Immutable::Deque 145s #push 145s pushing "A" into [] 145s preserves the original 145s returns ["A"] 145s returns a frozen instance 145s pushing "B" into ["A"] 145s preserves the original 145s returns ["A", "B"] 145s returns a frozen instance 145s pushing "D" into ["A", "B", "C"] 145s preserves the original 145s returns ["A", "B", "C", "D"] 145s returns a frozen instance 145s on a subclass 145s returns an object of same class 145s 145s Immutable::Deque 145s modification (using #push, #pop, #shift, and #unshift) 145s works when applied in many random combinations 145s 145s Immutable::Deque 145s #rotate 145s on [] 145s preserves the original 145s returns [] 145s returns a frozen instance 145s on ["A"] 145s preserves the original 145s returns ["A"] 145s returns a frozen instance 145s on ["A", "B", "C"] 145s preserves the original 145s returns ["B", "C", "A"] 145s returns a frozen instance 145s on ["A", "B", "C", "D"] 145s preserves the original 145s returns ["A", "B", "C", "D"] 145s returns a frozen instance 145s on ["A", "B", "C", "D"] 145s preserves the original 145s returns ["C", "D", "A", "B"] 145s returns a frozen instance 145s on a Deque with most items on 'front' list 145s works with a small rotation 145s works with a larger rotation 145s on a Deque with most items on 'rear' list 145s works with a small rotation 145s works with a larger rotation 145s on empty subclass 145s returns an empty object of the same class 145s 145s Immutable::Deque 145s #shift 145s on [] 145s preserves the original 145s returns [] 145s returns a frozen instance 145s on ["A"] 145s preserves the original 145s returns [] 145s returns a frozen instance 145s on ["A", "B", "C"] 145s preserves the original 145s returns ["B", "C"] 145s returns a frozen instance 145s 145s Immutable::Deque 145s #size 145s on [] 145s returns 0 145s on ["A"] 145s returns 1 145s on ["A", "B", "C"] 145s returns 3 145s #length 145s on [] 145s returns 0 145s on ["A"] 145s returns 1 145s on ["A", "B", "C"] 145s returns 3 145s 145s Immutable::Deque 145s #to_a 145s on [] 145s returns [] 145s returns a mutable array 145s on ["A"] 145s returns ["A"] 145s returns a mutable array 145s on ["A", "B", "C"] 145s returns ["A", "B", "C"] 145s returns a mutable array 145s #entries 145s on [] 145s returns [] 145s returns a mutable array 145s on ["A"] 145s returns ["A"] 145s returns a mutable array 145s on ["A", "B", "C"] 145s returns ["A", "B", "C"] 145s returns a mutable array 145s 145s Immutable::Deque 145s #to_ary 145s enables implicit conversion to 145s block parameters 145s method arguments 145s works with splat 145s 145s Immutable::Deque 145s #to_list 145s on [] 145s returns a list containing [] 145s on ["A"] 145s returns a list containing ["A"] 145s on ["A", "B", "C"] 145s returns a list containing ["A", "B", "C"] 145s after dedequeing an item from ["A", "B", "C"] 145s returns a list containing ["B", "C"] 145s 145s Immutable::Deque 145s #unshift 145s on [] with "A" 145s preserves the original 145s returns ["A"] 145s returns a frozen instance 145s on ["A"] with "B" 145s preserves the original 145s returns ["B", "A"] 145s returns a frozen instance 145s on ["A"] with "A" 145s preserves the original 145s returns ["A", "A"] 145s returns a frozen instance 145s on ["A", "B", "C"] with "D" 145s preserves the original 145s returns ["D", "A", "B", "C"] 145s returns a frozen instance 145s 145s Immutable::Hash 145s #all? 145s when empty 145s without a block 145s returns true 145s with a block 145s returns true 145s when not empty 145s without a block 145s returns true 145s with a block 145s returns true if the block always returns true 145s returns false if the block ever returns false 145s propagates an exception from the block 145s stops iterating as soon as the block returns false 145s 145s Immutable::Hash 145s #any? 145s when empty 145s with a block returns false 145s with no block returns false 145s when not empty 145s with a block 145s returns true if the block ever returns true (["A", "aye"]) 145s returns false if the block always returns false 145s returns true if the block ever returns true (["B", "bee"]) 145s returns false if the block always returns false 145s returns true if the block ever returns true (["C", "see"]) 145s returns false if the block always returns false 145s returns true if the block ever returns true ([nil, "NIL"]) 145s returns false if the block always returns false 145s propagates exceptions raised in the block 145s stops iterating as soon as the block returns true 145s with no block 145s returns true 145s 145s Immutable::Hash 145s #assoc 145s searches for a key/val pair with a given key 145s returns nil if a matching key is not found 145s returns nil even if there is a default 145s uses #== to compare keys with provided object 145s #rassoc 145s searches for a key/val pair with a given value 145s returns nil if a matching value is not found 145s returns nil even if there is a default 145s uses #== to compare values with provided object 145s 145s Immutable::Hash 145s #clear 145s maintains the default Proc, if there is one 145s on [] 145s preserves the original 145s returns an empty hash 145s on [{"A"=>"aye"}] 145s preserves the original 145s returns an empty hash 145s on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 145s preserves the original 145s returns an empty hash 145s on a subclass 145s returns an empty instance of the subclass 145s 145s Immutable::Hash 145s .hash 145s with nothing 145s returns the canonical empty hash 145s with an implicit hash 145s is equivalent to repeatedly using #put 145s with an array of pairs 145s initializes a new Hash 145s with an Immutable::Hash 145s initializes an equivalent Hash 145s 145s Immutable::Hash 145s #dup 145s returns self 145s #clone 145s returns self 145s 145s Immutable::Hash 145s #default_proc 145s returns the default block given when the Hash was created 145s returns nil if no default block was given 145s after a key/val pair are inserted 145s doesn't change 145s after all key/val pairs are filtered out 145s doesn't change 145s after Hash is inverted 145s doesn't change 145s when a slice is taken 145s doesn't change 145s when keys are removed with #except 145s doesn't change 145s when Hash is mapped 145s doesn't change 145s when another Hash is merged in 145s doesn't change 145s 145s Immutable::Hash 145s #delete 145s with an existing key 145s preserves the original 145s returns a copy with the remaining key/value pairs 145s with a non-existing key 145s preserves the original values 145s returns self 145s when removing the last key 145s from a Hash with no default block 145s returns the canonical empty Hash 145s 145s Immutable::Hash 145s #dig 145s returns the value with one argument to dig 145s returns the value in nested hashes 145s returns nil if the key is not present 145s returns nil if you dig out the end of the hash 145s raises a NoMethodError if a value does not support #dig 145s returns the correct value when there is a default proc 145s 145s Immutable::Hash 145s #each 145s with a block (internal iteration) 145s returns self 145s yields all key/value pairs 145s yields key/value pairs in the same order as #each_key and #each_value 145s yields both of a pair of colliding keys 145s yields only the key to a block expecting |key,| 145s with no block 145s returns an Enumerator 145s #each_pair 145s with a block (internal iteration) 145s returns self 145s yields all key/value pairs 145s yields key/value pairs in the same order as #each_key and #each_value 145s yields both of a pair of colliding keys 145s yields only the key to a block expecting |key,| 145s with no block 145s returns an Enumerator 145s #each_key 145s yields all keys 145s with no block 145s returns an Enumerator 145s #each_value 145s yields all values 145s with no block 145s returns an Enumerator 145s 145s Immutable::Hash 145s #each_with_index 145s with a block (internal iteration) 145s returns self 145s yields all key/value pairs with numeric indexes 145s with no block 145s returns an Enumerator 145s 145s Immutable::Hash 145s #empty? 145s returns true for [] 145s returns false for [{"A"=>"aye"}] 145s returns false for [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 145s returns true for empty hashes which have a default block 145s .empty 145s returns the canonical empty Hash 145s from a subclass 145s returns an empty instance of the subclass 145s calls overridden #initialize when creating empty Hash 145s 145s Immutable::Hash 145s returns true on a large hash which is modified and then modified back again 145s #eql? 145s returns false when comparing with a standard hash 145s returns false when comparing with an arbitrary object 145s returns false when comparing with a subclass of Immutable::Hash 145s #== 145s returns true when comparing with a standard hash 145s returns false when comparing with an arbitrary object 145s returns true when comparing with a subclass of Immutable::Hash 145s performs numeric conversions between floats and BigDecimals 145s #eql? 145s returns true 145s for {} and {} 145s for {} and {} 145s returns false 145s for {"A"=>"aye"} and {} 145s for {} and {"A"=>"aye"} 145s returns false 145s for {} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {} 145s returns true 145s for {"A"=>"aye"} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {"A"=>"aye"} 145s returns false 145s for {"A"=>"aye"} and {"B"=>"bee"} 145s for {"B"=>"bee"} and {"A"=>"aye"} 145s returns false 145s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 145s returns false 145s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 145s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 145s returns true 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s returns true 145s for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} 145s #== 145s returns true 145s for {} and {} 145s for {} and {} 145s returns false 145s for {"A"=>"aye"} and {} 145s for {} and {"A"=>"aye"} 145s returns false 145s for {} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {} 145s returns true 145s for {"A"=>"aye"} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {"A"=>"aye"} 145s returns false 145s for {"A"=>"aye"} and {"B"=>"bee"} 145s for {"B"=>"bee"} and {"A"=>"aye"} 145s returns false 145s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 145s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 145s returns false 145s for {"A"=>"aye"} and {"A"=>"aye", "B"=>"bee"} 145s for {"A"=>"aye", "B"=>"bee"} and {"A"=>"aye"} 145s returns true 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s returns true 145s for {"C"=>"see", "A"=>"aye", "B"=>"bee"} and {"A"=>"aye", "B"=>"bee", "C"=>"see"} 145s for {"A"=>"aye", "B"=>"bee", "C"=>"see"} and {"C"=>"see", "A"=>"aye", "B"=>"bee"} 145s 145s Immutable::Hash 145s #except 145s works on a large Hash, with many combinations of input 145s with only keys that the Hash has 145s returns a Hash without those values 145s doesn't change the original Hash 145s with keys that the Hash doesn't have 145s returns a Hash without the values that it had keys for 145s doesn't change the original Hash 145s 145s Immutable::Hash 145s #fetch 145s gives precedence to default block over default argument if passed both 145s raises an ArgumentError when not passed one or 2 arguments 145s with no default provided 145s when the key exists 145s returns the value associated with the key 145s when the key does not exist 145s raises a KeyError 145s with a default value 145s when the key exists 145s returns the value associated with the key 145s when the key does not exist 145s returns the default value 145s with a default block 145s when the key exists 145s returns the value associated with the key 145s when the key does not exist 145s invokes the default block with the missing key as paramter 145s 145s Immutable::Hash 145s #fetch_values 145s when the all the requested keys exist 145s returns a vector of values for the given keys 145s when the key does not exist 145s raises a KeyError 145s 145s Immutable::Hash 145s #find 145s stops iterating when the block returns true 145s on [] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns ["A", "aye"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns ["A", "aye"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns ["B", "bee"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns [nil, "NIL"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s #detect 145s stops iterating when the block returns true 145s on [] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns ["A", "aye"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns ["A", "aye"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns ["B", "bee"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns [nil, "NIL"] 145s without a block 145s returns an Enumerator 145s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 145s with a block 145s returns nil 145s without a block 145s returns an Enumerator 145s 145s Immutable::Hash 145s #flat_map 145s yields each key/val pair 145s returns the concatenation of block return values 145s doesn't change the receiver 145s returns an empty array if only empty arrays are returned by block 145s with no block 145s returns an Enumerator 145s 145s Immutable::Hash 145s #flatten 145s with flatten depth of zero 145s returns a vector of keys/value 145s without array keys or values 145s returns a vector of keys and values 145s doesn't modify the receiver 145s on an empty Hash 145s returns an empty Vector 145s with array keys 145s flattens array keys into returned vector if flatten depth is sufficient 145s doesn't modify the receiver (or its contents) 145s with array values 145s flattens array values into returned vector if flatten depth is sufficient 145s doesn't modify the receiver (or its contents) 145s with vector keys 145s flattens vector keys into returned vector if flatten depth is sufficient 145s with vector values 145s flattens vector values into returned vector if flatten depth is sufficient 145s 145s Immutable::Hash 145s #get 145s uses #hash to look up keys 145s uses #eql? to compare keys with the same hash code 145s does not use #eql? to compare keys with different hash codes 145s with a default block 145s when the key exists 145s returns the value associated with the key 145s does not call the default block even if the key is 'nil' 145s when the key does not exist 145s returns the value from the default block 145s with no default block 145s returns the value ("aye") for an existing key ("A") 145s returns the value ("bee") for an existing key ("B") 145s returns the value ("see") for an existing key ("C") 145s returns the value ("NIL") for an existing key (nil) 145s returns nil for a non-existing key 145s #[] 145s uses #hash to look up keys 145s uses #eql? to compare keys with the same hash code 145s does not use #eql? to compare keys with different hash codes 145s with a default block 145s when the key exists 145s returns the value associated with the key 145s does not call the default block even if the key is 'nil' 145s when the key does not exist 145s returns the value from the default block 145s with no default block 145s returns the value ("aye") for an existing key ("A") 145s returns the value ("bee") for an existing key ("B") 145s returns the value ("see") for an existing key ("C") 145s returns the value ("NIL") for an existing key (nil) 145s returns nil for a non-existing key 145s 145s Immutable::Hash 145s #key? 145s returns true for an existing key ("A") 145s returns true for an existing key ("B") 145s returns true for an existing key ("C") 145s returns true for an existing key (nil) 145s returns true for an existing key (2.0) 145s returns false for a non-existing key 145s uses #eql? for equality 145s returns true if the key is found and maps to nil 145s returns true if the key is found and maps to false 145s #has_key? 145s returns true for an existing key ("A") 145s returns true for an existing key ("B") 145s returns true for an existing key ("C") 145s returns true for an existing key (nil) 145s returns true for an existing key (2.0) 145s returns false for a non-existing key 145s uses #eql? for equality 145s returns true if the key is found and maps to nil 145s returns true if the key is found and maps to false 145s #include? 145s returns true for an existing key ("A") 145s returns true for an existing key ("B") 145s returns true for an existing key ("C") 145s returns true for an existing key (nil) 145s returns true for an existing key (2.0) 145s returns false for a non-existing key 145s uses #eql? for equality 145s returns true if the key is found and maps to nil 145s returns true if the key is found and maps to false 145s #member? 145s returns true for an existing key ("A") 145s returns true for an existing key ("B") 145s returns true for an existing key ("C") 145s returns true for an existing key (nil) 145s returns true for an existing key (2.0) 145s returns false for a non-existing key 145s uses #eql? for equality 145s returns true if the key is found and maps to nil 145s returns true if the key is found and maps to false 145s 145s Immutable::Hash 145s #value? 145s returns true if any key/val pair in Hash has the same value 145s returns false if no key/val pair in Hash has the same value 145s uses #== to check equality 145s works on a large hash 145s #has_value? 145s returns true if any key/val pair in Hash has the same value 145s returns false if no key/val pair in Hash has the same value 145s uses #== to check equality 145s works on a large hash 145s 145s Immutable::Hash 145s #hash 145s values are sufficiently distributed 145s differs given the same keys and different values 145s differs given the same values and different keys 145s generates the same hash value for a hash regardless of the order things were added to it 145s on an empty hash 145s returns 0 145s 145s Immutable::Hash 145s #inspect 145s on [] 145s returns "Immutable::Hash[]" 145s on [{"A"=>"aye"}] 145s returns "Immutable::Hash[\"A\" => \"aye\"]" 145s on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 145s returns "Immutable::Hash[\"A\" => \"aye\", \"B\" => \"bee\", \"C\" => \"see\"]" 145s on {} 145s returns a string which can be eval'd to get an equivalent object 145s on {"A"=>"aye"} 145s returns a string which can be eval'd to get an equivalent object 145s on {:a=>"aye", :b=>"bee", :c=>"see"} 145s returns a string which can be eval'd to get an equivalent object 145s 145s Immutable::Hash 145s #invert 145s uses the existing keys as values and values as keys 145s will select one key/value pair among multiple which have same value 145s doesn't change the original Hash 145s from a subclass of Hash 145s returns an instance of the subclass 145s 145s Immutable::Hash 145s #key 145s returns a key associated with the given value, if there is one 145s returns nil if there is no key associated with the given value 145s uses #== to compare values for equality 145s doesn't use default block if value is not found 145s 145s Immutable::Hash 145s #keys 145s returns the keys as a set 145s returns frozen String keys 145s 145s Immutable::Hash 145s #map 145s when empty 145s returns self 145s when not empty 145s with a block 145s preserves the original values 145s returns a new hash with the mapped values 145s with no block 145s returns an Enumerator 145s from a subclass 145s returns an instance of the subclass 145s #collect 145s when empty 145s returns self 145s when not empty 145s with a block 145s preserves the original values 145s returns a new hash with the mapped values 145s with no block 145s returns an Enumerator 145s from a subclass 145s returns an instance of the subclass 145s 145s Immutable::Hash 145s #marshal_dump/#marshal_load 145s can survive dumping and loading into a new process 145s is still possible to find items by key after loading 145s 145s Immutable::Hash 145s #merge 145s sets any duplicate key to the value of block if passed a block 145s yields key/value pairs in the same order as #each 145s for {} and {} 145s returns {} when passed an Immutable::Hash 145s returns {} when passed a Ruby Hash 145s doesn't change the original Hashes 145s for {"A"=>"aye"} and {} 145s returns {"A"=>"aye"} when passed an Immutable::Hash 145s returns {"A"=>"aye"} when passed a Ruby Hash 145s doesn't change the original Hashes 145s for {"A"=>"aye"} and {"A"=>"bee"} 145s returns {"A"=>"bee"} when passed an Immutable::Hash 145s returns {"A"=>"bee"} when passed a Ruby Hash 145s doesn't change the original Hashes 145s for {"A"=>"aye"} and {"B"=>"bee"} 145s returns {"A"=>"aye", "B"=>"bee"} when passed an Immutable::Hash 145s returns {"A"=>"aye", "B"=>"bee"} when passed a Ruby Hash 145s doesn't change the original Hashes 145s 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]] 145s 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 an Immutable::Hash 145s 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 145s doesn't change the original Hashes 145s when merging with an empty Hash 145s returns self 145s when merging with subset Hash 145s returns self 145s when called on a subclass 145s returns an instance of the subclass 145s 145s Immutable::Hash 145s #min 145s returns the smallest key/val pair 145s #max 145s returns the largest key/val pair 145s #min_by 145s returns the smallest key/val pair (after passing it through a key function) 145s returns the first key/val pair yielded by #each in case of a tie 145s returns nil if the hash is empty 145s #max_by 145s returns the largest key/val pair (after passing it through a key function) 145s returns the first key/val pair yielded by #each in case of a tie 145s returns nil if the hash is empty 145s 145s Immutable::Hash 145s .new 145s is amenable to overriding of #initialize 145s accepts an array as initializer 145s returns a Hash which doesn't change even if initializer is mutated 145s from a subclass 145s returns a frozen instance of the subclass 145s .[] 145s accepts a Ruby Hash as initializer 145s accepts a Immutable::Hash as initializer 145s accepts an array as initializer 145s can be used with a subclass of Immutable::Hash 145s 145s Immutable::Hash 145s #none? 145s when empty 145s with a block returns true 145s with no block returns true 145s when not empty 145s with a block 145s returns false if the block ever returns true (["A", "aye"]) 145s returns true if the block always returns false 145s stops iterating as soon as the block returns true 145s returns false if the block ever returns true (["B", "bee"]) 145s returns true if the block always returns false 145s stops iterating as soon as the block returns true 145s returns false if the block ever returns true (["C", "see"]) 145s returns true if the block always returns false 145s stops iterating as soon as the block returns true 145s returns false if the block ever returns true ([nil, "NIL"]) 145s returns true if the block always returns false 145s stops iterating as soon as the block returns true 145s with no block 145s returns false 145s 145s Immutable::Hash 145s #partition 145s returns a pair of Immutable::Hashes 145s returns key/val pairs for which predicate is true in first Hash 145s returns key/val pairs for which predicate is false in second Hash 145s doesn't modify the original Hash 145s from a subclass 145s should return instances of the subclass 145s 145s Immutable::Hash 145s #pretty_print 145s prints the whole Hash on one line if it fits 145s prints each key/val pair on its own line, if not 145s prints keys and vals on separate lines, if space is very tight 145s 145s Immutable::Hash 145s #[]= 145s raises error pointing to #put 145s #put 145s with a block 145s passes the value to the block 145s replaces the value with the result of the block 145s supports to_proc methods 145s if there is no existing association 145s passes nil to the block 145s stores the result of the block as the new value 145s with a unique key 145s preserves the original 145s returns a copy with the superset of key/value pairs 145s with a duplicate key 145s preserves the original 145s returns a copy with the superset of key/value pairs 145s with duplicate key and identical value 145s returns the original hash unmodified 145s with big hash (force nested tries) 145s returns the original hash unmodified for all changes 145s with unequal keys which hash to the same value 145s stores and can retrieve both 145s when a String is inserted as key and then mutated 145s is not affected 145s 145s Immutable::Hash 145s #reduce 145s when empty 145s returns the memo 145s when not empty 145s with a block 145s returns the final memo 145s with no block 145s uses a passed string as the name of a method to use instead 145s uses a passed symbol as the name of a method to use instead 145s #inject 145s when empty 145s returns the memo 145s when not empty 145s with a block 145s returns the final memo 145s with no block 145s uses a passed string as the name of a method to use instead 145s uses a passed symbol as the name of a method to use instead 145s 145s Immutable::Hash 145s #reject 145s when nothing matches 145s returns self 145s when only some things match 145s with a block 145s preserves the original 145s returns a set with the matching values 145s yields entries in the same order as #each 145s with no block 145s returns an Enumerator 145s on a large hash, with many combinations of input 145s still works 145s #delete_if 145s when nothing matches 145s returns self 145s when only some things match 145s with a block 145s preserves the original 145s returns a set with the matching values 145s yields entries in the same order as #each 145s with no block 145s returns an Enumerator 145s on a large hash, with many combinations of input 145s still works 145s 145s Immutable::Hash 145s #reverse_each 145s with a block 145s returns self 145s yields all key/value pairs in the opposite order as #each 145s with no block 145s returns an Enumerator 145s 145s Immutable::Hash 145s #sample 145s returns a randomly chosen item 145s 145s Immutable::Hash 145s #select 146s works on a large hash, with many combinations of input 146s when everything matches 146s returns self 146s when only some things match 146s yields entries as [key, value] pairs 146s with a block 146s preserves the original 146s returns a set with the matching values 146s with no block 146s returns an Enumerator 146s #find_all 146s works on a large hash, with many combinations of input 146s when everything matches 146s returns self 146s when only some things match 146s yields entries as [key, value] pairs 146s with a block 146s preserves the original 146s returns a set with the matching values 146s with no block 146s returns an Enumerator 146s #keep_if 146s works on a large hash, with many combinations of input 146s when everything matches 146s returns self 146s when only some things match 146s yields entries as [key, value] pairs 146s with a block 146s preserves the original 146s returns a set with the matching values 146s with no block 146s returns an Enumerator 146s 146s Immutable::Hash 146s #size 146s returns 0 for [] 146s returns 1 for [{"A"=>"aye"}] 146s returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] 146s has the correct size after adding lots of things with colliding keys and such 146s has the correct size after lots of addings and removings 146s #length 146s returns 0 for [] 146s returns 1 for [{"A"=>"aye"}] 146s returns 3 for [{"A"=>"bee", "B"=>"bee", "C"=>"see"}] 147s has the correct size after adding lots of things with colliding keys and such 147s has the correct size after lots of addings and removings 147s 147s Immutable::Hash 147s #slice 147s with all keys present in the Hash 147s returns the sliced values 147s doesn't modify the original Hash 147s with keys aren't present in the Hash 147s returns the sliced values of the matching keys 147s doesn't modify the original Hash 147s on a Hash with a default block 147s maintains the default block 147s 147s Immutable::Hash 147s #sort 147s returns a Vector of sorted key/val pairs 147s works on large hashes 147s uses block as comparator to sort if passed a block 147s #sort_by 147s returns a Vector of key/val pairs, sorted using the block as a key function 147s 147s Immutable::Hash 147s #store 147s with a unique key 147s preserves the original 147s returns a copy with the superset of key/value pairs 147s with a duplicate key 147s preserves the original 147s returns a copy with the superset of key/value pairs 147s with duplicate key and identical value 147s returns the original hash unmodified 147s with big hash (force nested tries) 147s returns the original hash unmodified for all changes 147s with unequal keys which hash to the same value 147s stores and can retrieve both 147s when a String is inserted as key and then mutated 147s is not affected 147s 147s Immutable::Hash 147s #<= 147s for {} and {} 147s returns true 147s for {"A"=>1} and {} 147s returns false 147s for {} and {"A"=>1} 147s returns true 147s for {"A"=>1} and {"A"=>1} 147s returns true 147s for {"A"=>1} and {"A"=>2} 147s returns false 147s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 147s returns true 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 147s returns false 147s for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} 147s returns false 147s #< 147s for {} and {} 147s returns false 147s for {"A"=>1} and {} 147s returns false 147s for {} and {"A"=>1} 147s returns true 147s for {"A"=>1} and {"A"=>1} 147s returns false 147s for {"A"=>1} and {"A"=>2} 147s returns false 147s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 147s returns true 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 147s returns false 147s for {"B"=>0} and {"A"=>1, "B"=>2, "C"=>3} 147s returns false 147s 147s Immutable::Hash 147s #>= 147s for {} and {} 147s returns true 147s for {"A"=>1} and {} 147s returns true 147s for {} and {"A"=>1} 147s returns false 147s for {"A"=>1} and {"A"=>1} 147s returns true 147s for {"A"=>1} and {"A"=>2} 147s returns false 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 147s returns true 147s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 147s returns false 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} 147s returns false 147s #> 147s for {} and {} 147s returns false 147s for {"A"=>1} and {} 147s returns true 147s for {} and {"A"=>1} 147s returns false 147s for {"A"=>1} and {"A"=>1} 147s returns false 147s for {"A"=>1} and {"A"=>2} 147s returns false 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>2} 147s returns true 147s for {"B"=>2} and {"A"=>1, "B"=>2, "C"=>3} 147s returns false 147s for {"A"=>1, "B"=>2, "C"=>3} and {"B"=>0} 147s returns false 147s 147s Immutable::Hash 147s #take 147s returns the first N key/val pairs from hash 147s #take_while 147s passes elements to the block until the block returns nil/false 147s returns an array of all elements before the one which returned nil/false 147s passes all elements if the block never returns nil/false 147s 147s Immutable::Hash 147s #to_a 147s returns an Array of [key, value] pairs in same order as #each 147s 147s Immutable::Hash 147s #to_hash 147s converts an empty Immutable::Hash to an empty Ruby Hash 147s converts a non-empty Immutable::Hash to a Hash with the same keys and values 147s doesn't modify the receiver 147s #to_h 147s converts an empty Immutable::Hash to an empty Ruby Hash 147s converts a non-empty Immutable::Hash to a Hash with the same keys and values 147s doesn't modify the receiver 147s 147s Immutable::Hash 147s #to_proc 147s on Hash without default proc 147s returns a Proc instance 147s returns a Proc that returns the value of an existing key 147s returns a Proc that returns nil for a missing key 147s on Hash with a default proc 147s returns a Proc instance 147s returns a Proc that returns the value of an existing key 147s returns a Proc that returns the result of the hash's default proc for a missing key 147s 147s Immutable::Hash 147s #update_in 147s with one level on existing key 147s passes the value to the block 147s replaces the value with the result of the block 147s should preserve the original 147s with multi-level on existing keys 147s passes the value to the block 147s replaces the value with the result of the block 147s should preserve the original 147s with multi-level creating sub-hashes when keys don't exist 147s passes nil to the block 147s creates subhashes on the way to set the value 147s with multi-level including vector with existing keys 147s passes the value to the block 147s replaces the value with the result of the block 147s should preserve the original 147s with empty key_path 147s raises ArguemntError 147s 147s Immutable::Hash 147s #values_at 147s on Hash without default proc 147s returns an empty vector when no keys are given 147s returns a vector of values for the given keys 147s fills nil when keys are missing 147s on Hash with default proc 147s fills the result of the default proc when keys are missing 147s 147s Immutable::Hash 147s #values 147s returns the keys as a Vector 147s with duplicates 147s returns the keys as a Vector 147s 147s Immutable::List 147s #add 147s on [] with "A" 147s preserves the original 147s returns ["A"] 147s on ["A"] with "B" 147s preserves the original 147s returns ["B", "A"] 147s on ["A"] with "A" 147s preserves the original 147s returns ["A", "A"] 147s on ["A", "B", "C"] with "D" 147s preserves the original 147s returns ["D", "A", "B", "C"] 147s 147s Immutable::List 147s #all? 147s on a really big list 147s doesn't run out of stack 147s when empty 147s with a block returns true 147s with no block returns true 147s when not empty 147s with a block 147s if the block always returns true 147s returns true 147s if the block ever returns false 147s returns false 147s with no block 147s if all values are truthy 147s returns true 147s if any value is nil 147s returns false 147s if any value is false 147s returns false 147s 147s Immutable::List 147s #any? 147s on a really big list 147s doesn't run out of stack 147s when empty 147s with a block returns false 147s with no block returns false 147s when not empty 147s with a block 147s returns true if the block ever returns true ("A") 147s returns true if the block ever returns true ("B") 147s returns true if the block ever returns true ("C") 147s returns true if the block ever returns true (nil) 147s returns false if the block always returns false 147s with no block 147s returns true if any value is truthy 147s returns false if all values are falsey 147s 147s Immutable::List 147s #append 147s is lazy 147s on [] and [] 147s preserves the left 147s preserves the right 147s returns [] 147s on ["A"] and [] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on [] and ["A"] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on ["A", "B"] and ["C", "D"] 147s preserves the left 147s preserves the right 147s returns ["A", "B", "C", "D"] 147s #concat 147s is lazy 147s on [] and [] 147s preserves the left 147s preserves the right 147s returns [] 147s on ["A"] and [] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on [] and ["A"] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on ["A", "B"] and ["C", "D"] 147s preserves the left 147s preserves the right 147s returns ["A", "B", "C", "D"] 147s #+ 147s is lazy 147s on [] and [] 147s preserves the left 147s preserves the right 147s returns [] 147s on ["A"] and [] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on [] and ["A"] 147s preserves the left 147s preserves the right 147s returns ["A"] 147s on ["A", "B"] and ["C", "D"] 147s preserves the left 147s preserves the right 147s returns ["A", "B", "C", "D"] 147s 147s Immutable::List 147s #at 147s on a really big list 147s doesn't run out of stack 147s [] with 10 147s returns nil 147s ["A"] with 10 147s returns nil 147s ["A", "B", "C"] with 0 147s returns "A" 147s ["A", "B", "C"] with 2 147s returns "C" 147s ["A", "B", "C"] with -1 147s returns "C" 147s ["A", "B", "C"] with -2 147s returns "B" 147s ["A", "B", "C"] with -4 147s returns nil 147s 147s Immutable::List 147s #break 147s is lazy 147s on [] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [1] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [1, 2] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [1, 2, 3] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [1, 2, 3, 4] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [2, 3, 4] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [3, 4] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s on [4] 147s with a block 147s preserves the original 147s returns a frozen array with two items 147s correctly identifies the prefix 147s correctly identifies the remainder 147s without a block 147s returns a frozen array with two items 147s returns self as the prefix 147s leaves the remainder empty 147s 147s Immutable::List 147s #car 147s is responded to 147s on [] 147s preserves the original 147s returns nil 147s #car 147s is responded to 147s on ["A"] 147s preserves the original 147s returns "A" 147s #car 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns "A" 147s #cadr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns "B" 147s #caddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns "C" 147s #cadddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns nil 147s #caddddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns nil 147s #cdr 147s is responded to 147s on [] 147s preserves the original 147s returns Immutable::List[] 147s #cdr 147s is responded to 147s on ["A"] 147s preserves the original 147s returns Immutable::List[] 147s #cdr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns Immutable::List["B", "C"] 147s #cddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns Immutable::List["C"] 147s #cdddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns Immutable::List[] 147s #cddddr 147s is responded to 147s on ["A", "B", "C"] 147s preserves the original 147s returns Immutable::List[] 147s 147s Immutable::List 147s #chunk 147s is lazy 147s on [] 147s preserves the original 147s returns [] 147s on ["A"] 147s preserves the original 147s returns [Immutable::List["A"]] 147s on ["A", "B", "C"] 147s preserves the original 147s returns [Immutable::List["A", "B"], Immutable::List["C"]] 147s 147s Immutable::List 147s #clear 147s on [] 147s preserves the original 147s returns an empty list 147s on ["A"] 147s preserves the original 147s returns an empty list 147s on ["A", "B", "C"] 147s preserves the original 147s returns an empty list 147s 147s Immutable::List 147s #combination 147s is lazy 147s on ["A", "B", "C", "D"] in groups of 1 147s preserves the original 147s returns [Immutable::List["A"], Immutable::List["B"], Immutable::List["C"], Immutable::List["D"]] 147s on ["A", "B", "C", "D"] in groups of 2 147s preserves the original 147s returns [Immutable::List["A", "B"], Immutable::List["A", "C"], Immutable::List["A", "D"], Immutable::List["B", "C"], Immutable::List["B", "D"], Immutable::List["C", "D"]] 147s on ["A", "B", "C", "D"] in groups of 3 147s preserves the original 147s returns [Immutable::List["A", "B", "C"], Immutable::List["A", "B", "D"], Immutable::List["A", "C", "D"], Immutable::List["B", "C", "D"]] 147s on ["A", "B", "C", "D"] in groups of 4 147s preserves the original 147s returns [Immutable::List["A", "B", "C", "D"]] 147s on ["A", "B", "C", "D"] in groups of 0 147s preserves the original 147s returns [Immutable::List[]] 147s on ["A", "B", "C", "D"] in groups of 5 147s preserves the original 147s returns [] 147s on [] in groups of 0 147s preserves the original 147s returns [Immutable::List[]] 147s on [] in groups of 1 147s preserves the original 147s returns [] 147s 147s Immutable::List 147s #compact 147s is lazy 147s on [] 147s preserves the original 147s returns [] 147s on ["A"] 147s preserves the original 147s returns ["A"] 147s on ["A", "B", "C"] 147s preserves the original 147s returns ["A", "B", "C"] 147s on [nil] 147s preserves the original 147s returns [] 147s on [nil, "B"] 147s preserves the original 147s returns ["B"] 147s on ["A", nil] 147s preserves the original 147s returns ["A"] 147s on [nil, nil] 147s preserves the original 147s returns [] 147s on ["A", nil, "C"] 147s preserves the original 147s returns ["A", "C"] 147s on [nil, "B", nil] 147s preserves the original 147s returns ["B"] 147s 147s Immutable::List 147s #<=> 147s with [] and [1] 147s returns -1 147s with [1] and [] 147s returns 1 147s with [] and [] 147s returns 0 147s with [1] and [2] 147s returns -1 147s with [2] and [1] 147s returns 1 147s with [1] and [1] 147s returns 0 147s with [1] and [1, 2] 147s returns -1 147s with [1, 2] and [1] 147s returns 1 147s with [1] and [1] 147s returns 0 147s with [2, 3, 4] and [3, 4, 5] 147s returns -1 147s with [3, 4, 5] and [2, 3, 4] 147s returns 1 147s with [2, 3, 4] and [2, 3, 4] 147s returns 0 147s 147s Immutable::List 147s #cons 147s on [] with "A" 147s preserves the original 147s returns ["A"] 147s on ["A"] with "B" 147s preserves the original 147s returns ["B", "A"] 147s on ["A"] with "A" 147s preserves the original 147s returns ["A", "A"] 147s on ["A", "B", "C"] with "D" 147s preserves the original 147s returns ["D", "A", "B", "C"] 147s 147s Immutable 147s .list 147s with no arguments 147s always returns the same instance 147s returns an empty list 147s with a number of items 147s always returns a different instance 147s is the same as repeatedly using #cons 147s .stream 147s with no block 147s returns an empty list 147s with a block 147s repeatedly calls the block 147s .interval 147s for numbers 147s is equivalent to a list with explicit values 147s for strings 147s is equivalent to a list with explicit values 147s .repeat 147s returns an infinite list with specified value for each element 147s .replicate 147s returns a list with the specified value repeated the specified number of times 147s .iterate 147s 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 147s .enumerate 147s returns a list based on the values yielded from the enumerator 147s realizes values as they are needed 147s [] 147s takes a variable number of items and returns a list 147s returns an empty list when called without arguments 147s 147s Immutable::List 147s on [] 147s returns self 147s on ["A"] 147s returns self 147s on ["A", "B", "C"] 147s returns self 147s on [] 147s returns self 147s on ["A"] 147s returns self 147s on ["A", "B", "C"] 147s returns self 147s 147s Immutable::List 147s #count 147s on a really big list 147s doesn't run out of stack 147s on [] 147s with a block 147s returns 0 147s without a block 147s returns length 147s on [1] 147s with a block 147s returns 1 147s without a block 147s returns length 147s on [1, 2] 147s with a block 147s returns 1 147s without a block 147s returns length 147s on [1, 2, 3] 147s with a block 147s returns 2 147s without a block 147s returns length 147s on [1, 2, 3, 4] 147s with a block 147s returns 2 147s without a block 147s returns length 147s on [1, 2, 3, 4, 5] 147s with a block 147s returns 3 147s without a block 147s returns length 147s 147s Immutable 147s #cycle 147s is lazy 147s with an empty list 147s returns an empty list 147s with a non-empty list 147s preserves the original 147s infinitely cycles through all values 147s 147s Immutable::List 147s #delete_at 147s removes the element at the specified index 147s makes no modification if the index is out of range 147s 147s Immutable::List 147s #delete 147s removes elements that are #== to the argument 147s 147s Immutable::List 147s #drop 147s is lazy 147s with 10 from [] 147s preserves the original 147s returns [] 147s with 10 from ["A"] 147s preserves the original 147s returns [] 147s with -1 from ["A"] 147s preserves the original 147s returns ["A"] 147s with 0 from ["A", "B", "C"] 147s preserves the original 147s returns ["A", "B", "C"] 147s with 2 from ["A", "B", "C"] 147s preserves the original 147s returns ["C"] 147s 147s Immutable::List 147s #drop_while 147s is lazy 147s on [] 147s with a block 147s preserves the original 147s returns [] 147s without a block 147s returns an Enumerator 147s on ["A"] 147s with a block 147s preserves the original 147s returns [] 147s without a block 147s returns an Enumerator 147s on ["A", "B", "C"] 147s with a block 147s preserves the original 147s returns ["C"] 147s without a block 147s returns an Enumerator 147s 147s Immutable::List 147s #each_chunk 147s on a really big list 148s doesn't run out of stack 148s on [] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s on ["A"] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s on ["A", "B", "C"] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s #each_slice 148s on a really big list 148s doesn't run out of stack 148s on [] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s on ["A"] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s on ["A", "B", "C"] 148s with a block 148s preserves the original 148s iterates over the items in order 148s returns self 148s without a block 148s preserves the original 148s returns an Enumerator 148s 148s Immutable::List 148s #each 148s on a really big list 148s doesn't run out of stack 148s on [] 148s with a block 148s iterates over the items in order 148s returns nil 148s without a block 148s returns an Enumerator 148s on ["A"] 148s with a block 148s iterates over the items in order 148s returns nil 148s without a block 148s returns an Enumerator 148s on ["A", "B", "C"] 148s with a block 148s iterates over the items in order 148s returns nil 148s without a block 148s returns an Enumerator 148s 148s Immutable::List 148s #each_with_index 148s with no block 148s returns an Enumerator 148s with a block 148s returns self 148s iterates over the items in order, yielding item and index 148s 148s Immutable::List 148s #empty? 148s on a really big list 148s doesn't run out of stack 148s on [] 148s returns true 148s on ["A"] 148s returns false 148s on ["A", "B", "C"] 148s returns false 148s 148s Immutable::List 148s Immutable::List["A", "B", "C"] should == ["A", "B", "C"] 148s Immutable::List["A", "B", "C"] should not eql? ["A", "B", "C"] 148s Immutable::List["A", "B", "C"] should not == # 148s Immutable::List["A", "B", "C"] should not eql? # 148s Immutable::List[] should == [] 148s Immutable::List[] should not eql? [] 148s Immutable::List[] should eql? Immutable::List[] 148s Immutable::List[] should == Immutable::List[] 148s Immutable::List[] should not eql? Immutable::List[nil] 148s Immutable::List["A"] should not eql? Immutable::List[] 148s Immutable::List["A"] should eql? Immutable::List["A"] 148s Immutable::List["A"] should == Immutable::List["A"] 148s Immutable::List["A"] should not eql? Immutable::List["B"] 148s Immutable::List["A", "B"] should not eql? Immutable::List["A"] 148s Immutable::List["A", "B", "C"] should eql? Immutable::List["A", "B", "C"] 148s Immutable::List["A", "B", "C"] should == Immutable::List["A", "B", "C"] 148s Immutable::List["C", "A", "B"] should not eql? Immutable::List["A", "B", "C"] 148s Immutable::List["A"] should == ["A"] 148s ["A"] should == Immutable::List["A"] 148s Immutable::List["A"] should not eql? ["A"] 148s ["A"] should not eql? Immutable::List["A"] 148s #eql? 148s on a really big list 149s doesn't run out of stack 149s 149s Immutable::List 149s #fill 149s can replace a range of items at the beginning of a list 149s can replace a range of items in the middle of a list 149s can replace a range of items at the end of a list 149s can replace all the items in a list 149s can fill past the end of the list 149s is lazy 149s with 1 argument 149s replaces all the items in the list by default 149s with 2 arguments 149s replaces up to the end of the list by default 149s when index and length are 0 149s leaves the list unmodified 149s 149s Immutable::List 149s #find_all 149s is lazy 149s with an empty array 149s with a block 149s preserves the original 149s returns the found list 149s without a block 149s returns an Enumerator 149s with a single item array 149s with a block 149s preserves the original 149s returns the found list 149s without a block 149s returns an Enumerator 149s with a multi-item array 149s with a block 149s preserves the original 149s returns the found list 149s without a block 149s returns an Enumerator 149s with a multi-item single find_allable array 149s with a block 149s preserves the original 149s returns the found list 149s without a block 149s returns an Enumerator 149s with a multi-item multi-find_allable array 149s with a block 149s preserves the original 149s returns the found list 149s without a block 149s returns an Enumerator 149s 149s Immutable::List 149s #find_index 149s on a really big list 149s doesn't run out of stack 149s looking for "A" in [] 149s returns nil 149s looking for nil in [] 149s returns nil 149s looking for "A" in ["A"] 149s returns 0 149s looking for "B" in ["A"] 149s returns nil 149s looking for nil in ["A"] 149s returns nil 149s looking for "A" in ["A", "B", nil] 149s returns 0 149s looking for "B" in ["A", "B", nil] 149s returns 1 149s looking for nil in ["A", "B", nil] 149s returns 2 149s looking for "C" in ["A", "B", nil] 149s returns nil 149s looking for 2 in [2] 149s returns 0 149s looking for 2.0 in [2] 149s returns 0 149s looking for 2.0 in [2.0] 149s returns 0 149s looking for 2 in [2.0] 149s returns 0 149s #index 149s on a really big list 149s doesn't run out of stack 149s looking for "A" in [] 149s returns nil 149s looking for nil in [] 149s returns nil 149s looking for "A" in ["A"] 149s returns 0 149s looking for "B" in ["A"] 149s returns nil 149s looking for nil in ["A"] 149s returns nil 149s looking for "A" in ["A", "B", nil] 149s returns 0 149s looking for "B" in ["A", "B", nil] 149s returns 1 149s looking for nil in ["A", "B", nil] 149s returns 2 149s looking for "C" in ["A", "B", nil] 149s returns nil 149s looking for 2 in [2] 149s returns 0 149s looking for 2.0 in [2] 149s returns 0 149s looking for 2.0 in [2.0] 149s returns 0 149s looking for 2 in [2.0] 149s returns 0 149s 149s Immutable::List 149s #find 149s on a really big list 149s doesn't run out of stack 149s on [] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on [] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns "A" 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns "A" 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns "B" 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s #detect 149s on a really big list 149s doesn't run out of stack 149s on [] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on [] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns "A" 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns "A" 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns "B" 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A", "B", nil] 149s with a block 149s returns nil 149s without a block 149s returns an Enumerator 149s 149s Immutable::List 149s #flat_map 149s with an empty list 149s returns the flattened values as a Immutable::List 149s returns a Immutable::List 149s with a block that returns an empty list 149s returns the flattened values as a Immutable::List 149s returns a Immutable::List 149s with a list of one item 149s returns the flattened values as a Immutable::List 149s returns a Immutable::List 149s with a list of multiple items 149s returns the flattened values as a Immutable::List 149s returns a Immutable::List 149s 149s Immutable 149s #flatten 149s is lazy 149s on [] 149s preserves the original 149s returns an empty list 149s on ["A"] 149s preserves the original 149s returns an empty list 149s on ["A", "B", "C"] 149s preserves the original 149s returns an empty list 149s on ["A", Immutable::List["B"], "C"] 149s preserves the original 149s returns an empty list 149s on [Immutable::List["A"], Immutable::List["B"], Immutable::List["C"]] 149s preserves the original 149s returns an empty list 149s 149s Immutable::List 149s #grep 149s is lazy 149s without a block 149s on [] 149s returns [] 149s on ["A"] 149s returns ["A"] 149s on [1] 149s returns [] 149s on ["A", 2, "C"] 149s returns ["A", "C"] 149s with a block 149s on [] 149s preserves the original 149s returns [] 149s on ["A"] 149s preserves the original 149s returns ["a"] 149s on [1] 149s preserves the original 149s returns [] 149s on ["A", 2, "C"] 149s preserves the original 149s returns ["a", "c"] 149s 149s Immutable::List 149s #group_by 149s on a really big list 149s doesn't run out of stack 149s with a block 149s on [] 149s returns [] 149s on [1] 149s returns [{true=>Immutable::List[1]}] 149s on [1, 2, 3, 4] 149s returns [{true=>Immutable::List[3, 1], false=>Immutable::List[4, 2]}] 149s without a block 149s on [] 149s returns [] 149s on [1] 149s returns [{1=>Immutable::List[1]}] 149s on [1, 2, 3, 4] 149s returns [{1=>Immutable::List[1], 2=>Immutable::List[2], 3=>Immutable::List[3], 4=>Immutable::List[4]}] 149s #group 149s on a really big list 149s doesn't run out of stack 149s with a block 149s on [] 149s returns [] 149s on [1] 149s returns [{true=>Immutable::List[1]}] 149s on [1, 2, 3, 4] 149s returns [{true=>Immutable::List[3, 1], false=>Immutable::List[4, 2]}] 149s without a block 149s on [] 149s returns [] 149s on [1] 149s returns [{1=>Immutable::List[1]}] 149s on [1, 2, 3, 4] 149s returns [{1=>Immutable::List[1], 2=>Immutable::List[2], 3=>Immutable::List[3], 4=>Immutable::List[4]}] 149s 149s Immutable::List 149s #hash 149s values are sufficiently distributed 149s on a really big list 149s doesn't run out of stack 149s on an empty list 149s returns 0 149s 149s Immutable::List 149s #head 149s on [] 149s returns nil 149s on ["A"] 149s returns "A" 149s on ["A", "B", "C"] 149s returns "A" 149s #first 149s on [] 149s returns nil 149s on ["A"] 149s returns "A" 149s on ["A", "B", "C"] 149s returns "A" 149s 149s Immutable::List 149s #include? 149s on a really big list 149s doesn't run out of stack 149s on [] 149s returns false 149s on [] 149s returns false 149s on ["A"] 149s returns true 149s on ["A"] 149s returns false 149s on ["A"] 149s returns false 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns false 149s on [2] 149s returns true 149s on [2] 149s returns true 149s on [2.0] 149s returns true 149s on [2.0] 149s returns true 149s #member? 149s on a really big list 149s doesn't run out of stack 149s on [] 149s returns false 149s on [] 149s returns false 149s on ["A"] 149s returns true 149s on ["A"] 149s returns false 149s on ["A"] 149s returns false 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns true 149s on ["A", "B", nil] 149s returns false 149s on [2] 149s returns true 149s on [2] 149s returns true 149s on [2.0] 149s returns true 149s on [2.0] 149s returns true 149s 149s Immutable::List 149s #index 149s on a really big list 149s doesn't run out of stack 149s looking for "A" in [] 149s returns nil 149s looking for nil in [] 149s returns nil 149s looking for "A" in ["A"] 149s returns 0 149s looking for "B" in ["A"] 149s returns nil 149s looking for nil in ["A"] 149s returns nil 149s looking for "A" in ["A", "B", nil] 149s returns 0 149s looking for "B" in ["A", "B", nil] 149s returns 1 149s looking for nil in ["A", "B", nil] 149s returns 2 149s looking for "C" in ["A", "B", nil] 149s returns nil 149s looking for 2 in [2] 149s returns 0 149s looking for 2.0 in [2] 149s returns 0 149s looking for 2.0 in [2.0] 149s returns 0 149s looking for 2 in [2.0] 149s returns 0 149s 149s Immutable::List 149s #indices 149s when called with a block 149s is lazy 149s on a large list which doesn't contain desired item 149s doesn't blow the stack 149s looking for "A" in [] 149s returns [] 149s looking for "B" in ["A"] 149s returns [] 149s looking for "B" in ["A", "B", "A"] 149s returns [1] 149s looking for "A" in ["A", "B", "A"] 149s returns [0, 2] 149s looking for 2 in [2] 149s returns [0] 149s looking for 2.0 in [2] 149s returns [0] 149s looking for 2.0 in [2.0] 149s returns [0] 149s looking for 2 in [2.0] 149s returns [0] 149s when called with a single argument 149s is lazy 149s looking for "A" in [] 149s returns [] 149s looking for "B" in ["A"] 149s returns [] 149s looking for "B" in ["A", "B", "A"] 149s returns [1] 149s looking for "A" in ["A", "B", "A"] 149s returns [0, 2] 149s looking for 2 in [2] 149s returns [0] 149s looking for 2.0 in [2] 149s returns [0] 149s looking for 2.0 in [2.0] 149s returns [0] 149s looking for 2 in [2.0] 149s returns [0] 149s 149s Immutable::List 149s #init 149s is lazy 149s on [] 149s preserves the original 149s returns the list without the last element: [] 149s on ["A"] 149s preserves the original 149s returns the list without the last element: [] 149s on ["A", "B", "C"] 149s preserves the original 149s returns the list without the last element: ["A", "B"] 149s 149s Immutable::List 149s #inits 149s is lazy 149s on [] 149s preserves the original 149s returns [] 149s on ["A"] 149s preserves the original 149s returns [Immutable::List["A"]] 149s on ["A", "B", "C"] 149s preserves the original 149s returns [Immutable::List["A"], Immutable::List["A", "B"], Immutable::List["A", "B", "C"]] 149s 149s Immutable::List 149s #insert 149s can add items at the beginning of a list 149s can add items in the middle of a list 149s can add items at the end of a list 149s can add items past the end of a list 149s accepts a negative index, which counts back from the end of the list 149s raises IndexError if a negative index is too great 149s is lazy 149s 149s Immutable::List 149s #inspect 149s on a really big list 149s doesn't run out of stack 149s on [] 149s returns "Immutable::List[]" 149s returns a string which can be eval'd to get an equivalent object 149s on ["A"] 149s returns "Immutable::List[\"A\"]" 149s returns a string which can be eval'd to get an equivalent object 149s on ["A", "B", "C"] 149s returns "Immutable::List[\"A\", \"B\", \"C\"]" 149s returns a string which can be eval'd to get an equivalent object 149s 149s Immutable::List 149s #intersperse 149s is lazy 149s on [] 149s preserves the original 149s returns [] 149s on ["A"] 149s preserves the original 149s returns ["A"] 149s on ["A", "B", "C"] 149s preserves the original 149s returns ["A", "|", "B", "|", "C"] 149s 149s Immutable::List 149s #join 149s on a really big list 149s doesn't run out of stack 149s with a separator 149s on [] 149s preserves the original 149s returns "" 149s on ["A"] 149s preserves the original 149s returns "A" 149s on ["A", "B", "C"] 149s preserves the original 149s returns "A|B|C" 149s without a separator 149s on [] 149s preserves the original 149s returns "" 149s on ["A"] 149s preserves the original 149s returns "A" 149s on ["A", "B", "C"] 149s preserves the original 149s returns "ABC" 149s without a separator (with global default separator set) 149s uses the default global separator 149s 149s Immutable::List 149s #last 149s on a really big list 149s doesn't run out of stack 149s on [] 149s returns nil 149s on ["A"] 149s returns "A" 149s on ["A", "B", "C"] 149s returns "C" 149s 149s Immutable::List 149s #<< 149s adds an item onto the end of a list 149s on an empty list 149s returns a list with one item 149s 149s Immutable::List 149s #map 149s is lazy 149s on [] 149s with a block 149s preserves the original 149s returns [] 149s is lazy 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s preserves the original 149s returns ["a"] 149s is lazy 149s without a block 149s returns an Enumerator 149s on ["A", "B", "C"] 149s with a block 149s preserves the original 149s returns ["a", "b", "c"] 149s is lazy 149s without a block 149s returns an Enumerator 149s #collect 149s is lazy 149s on [] 149s with a block 149s preserves the original 149s returns [] 149s is lazy 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s preserves the original 149s returns ["a"] 149s is lazy 149s without a block 149s returns an Enumerator 149s on ["A", "B", "C"] 149s with a block 149s preserves the original 149s returns ["a", "b", "c"] 149s is lazy 149s without a block 149s returns an Enumerator 149s 149s Immutable::List 149s #max 149s on a really big list 150s doesn't run out of stack 150s with a block 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["Ichi", "Ni", "San"] 150s returns "Ichi" 150s without a block 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["Ichi", "Ni", "San"] 150s returns "San" 150s 150s Immutable::List 150s without a comparator 150s on an empty list 150s returns an empty list 150s on a single list 150s returns the list 150s with multiple lists 150s merges the lists based on natural sort order 150s with a comparator 150s on an empty list 150s returns an empty list 150s on a single list 150s returns the list 150s with multiple lists 150s merges the lists based on the specified transformer 150s 150s Immutable::List 150s without a comparator 150s on an empty list 150s returns an empty list 150s on a single list 150s returns the list 150s with multiple lists 150s merges the lists based on natural sort order 150s with a comparator 150s on an empty list 150s returns an empty list 150s on a single list 150s returns the list 150s with multiple lists 150s merges the lists based on the specified comparator 150s 150s Immutable::List 150s #min 150s on a really big list 150s doesn't run out of stack 150s with a block 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["Ichi", "Ni", "San"] 150s returns "Ni" 150s without a block 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["Ichi", "Ni", "San"] 150s returns "Ichi" 150s 150s Immutable::List 150s ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads 150s doesn't go into an infinite loop if lazy list block raises an exception 150s doesn't give horrendously bad performance if thread realizing the list sleeps 150s 150s Immutable::List 150s #none? 150s on a really big list 150s doesn't run out of stack 150s when empty 150s with a block returns true 150s with no block returns true 150s when not empty 150s with a block 150s returns false if the block ever returns true ("A") 150s returns false if the block ever returns true ("B") 150s returns false if the block ever returns true ("C") 150s returns false if the block ever returns true (nil) 150s returns true if the block always returns false 150s with no block 150s returns false if any value is truthy 150s returns true if all values are falsey 150s 150s Immutable::List 150s #one? 150s on a really big list 150s doesn't run out of stack 150s when empty 150s with a block returns false 150s with no block returns false 150s when not empty 150s with a block 150s returns false if the block returns true more than once 150s returns false if the block never returns true 150s returns true if the block only returns true once 150s with no block 150s returns false if more than one value is truthy 150s returns true if only one value is truthy 150s 150s Immutable::List 150s #partition 150s is lazy 150s calls the passed block only once for each item 150s returns a lazy list of items for which predicate is true 150s returns a lazy list of items for which predicate is false 150s calls the passed block only once for each item, even with multiple threads 150s on [] 150s with a block 150s preserves the original 150s returns a frozen array with two items 150s correctly identifies the matches 150s correctly identifies the remainder 150s without a block 150s returns an Enumerator 150s on [1] 150s with a block 150s preserves the original 150s returns a frozen array with two items 150s correctly identifies the matches 150s correctly identifies the remainder 150s without a block 150s returns an Enumerator 150s on [1, 2] 150s with a block 150s preserves the original 150s returns a frozen array with two items 150s correctly identifies the matches 150s correctly identifies the remainder 150s without a block 151s returns an Enumerator 151s on [1, 2, 3] 151s with a block 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s without a block 151s returns an Enumerator 151s on [1, 2, 3, 4] 151s with a block 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s without a block 151s returns an Enumerator 151s on [2, 3, 4] 151s with a block 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s without a block 151s returns an Enumerator 151s on [3, 4] 151s with a block 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s without a block 151s returns an Enumerator 151s on [4] 151s with a block 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s without a block 151s returns an Enumerator 151s 151s Immutable::List 151s #permutation 151s with no block 151s returns an Enumerator 151s with no argument 151s yields all permutations of the list 151s with a length argument 151s yields all N-size permutations of the list 151s with a length argument greater than length of list 151s yields nothing 151s with a length argument of 0 151s yields an empty list 151s with a block 151s returns the original list 151s 151s Immutable::List 151s #pop 151s with an empty list 151s returns an empty list 151s with a list with a few items 151s removes the last item 151s 151s Immutable::List 151s #product 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns 1 151s on [2] 151s returns 2 151s on [1, 3, 5, 7, 11] 151s returns 1155 151s 151s Immutable::List 151s #reduce 151s on a really big list 151s doesn't run out of stack 151s on [] 151s with an initial value of 10 and a block 151s returns 10 151s on [1] 151s with an initial value of 10 and a block 151s returns 9 151s on [1, 2, 3] 151s with an initial value of 10 and a block 151s returns 4 151s on [] 151s with no initial value and a block 151s returns nil 151s on [1] 151s with no initial value and a block 151s returns 1 151s on [1, 2, 3] 151s with no initial value and a block 151s returns -4 151s with no block and a symbol argument 151s uses the symbol as the name of a method to reduce with 151s with no block and a string argument 151s uses the string as the name of a method to reduce with 151s #inject 151s on a really big list 151s doesn't run out of stack 151s on [] 151s with an initial value of 10 and a block 151s returns 10 151s on [1] 151s with an initial value of 10 and a block 151s returns 9 151s on [1, 2, 3] 151s with an initial value of 10 and a block 151s returns 4 151s on [] 151s with no initial value and a block 151s returns nil 151s on [1] 151s with no initial value and a block 151s returns 1 151s on [1, 2, 3] 151s with no initial value and a block 151s returns -4 151s with no block and a symbol argument 151s uses the symbol as the name of a method to reduce with 151s with no block and a string argument 151s uses the string as the name of a method to reduce with 151s 151s Immutable::List 151s #reject 151s is lazy 151s on [] 151s with a block 151s returns [] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns ["A"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A", "B", "C"] 151s with a block 151s returns ["A", "B", "C"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A", "b", "C"] 151s with a block 151s returns ["A", "C"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["a", "b", "c"] 151s with a block 151s returns [] 151s is lazy 151s without a block 151s returns an Enumerator 151s #delete_if 151s is lazy 151s on [] 151s with a block 151s returns [] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns ["A"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A", "B", "C"] 151s with a block 151s returns ["A", "B", "C"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A", "b", "C"] 151s with a block 151s returns ["A", "C"] 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["a", "b", "c"] 151s with a block 151s returns [] 151s is lazy 151s without a block 151s returns an Enumerator 151s 151s Immutable::List 151s #reverse 151s is lazy 151s on a really big list 151s doesn't run out of stack 151s on [] 151s preserves the original 151s returns [] 151s on ["A"] 151s preserves the original 151s returns ["A"] 151s on ["A", "B", "C"] 151s preserves the original 151s returns ["C", "B", "A"] 151s 151s Immutable::List 151s #rotate 151s when passed no argument 151s returns a new list with the first element moved to the end 151s with an integral argument n 151s returns a new list with the first (n % size) elements moved to the end 151s with a non-numeric argument 151s raises a TypeError 151s with an argument of zero (or one evenly divisible by list length) 151s it returns self 151s 151s Immutable::List 151s #sample 151s returns a randomly chosen item 151s 151s Immutable::List 151s #select 151s is lazy 151s with an empty array 151s with a block 151s preserves the original 151s returns the selected list 151s without a block 151s returns an Enumerator 151s with a single item array 151s with a block 151s preserves the original 151s returns the selected list 151s without a block 151s returns an Enumerator 151s with a multi-item array 151s with a block 151s preserves the original 151s returns the selected list 151s without a block 151s returns an Enumerator 151s with a multi-item single selectable array 151s with a block 151s preserves the original 151s returns the selected list 151s without a block 151s returns an Enumerator 151s with a multi-item multi-selectable array 151s with a block 151s preserves the original 151s returns the selected list 151s without a block 151s returns an Enumerator 151s 151s Immutable::List 151s #size 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns 0 151s on ["A"] 151s returns 1 151s on ["A", "B", "C"] 151s returns 3 151s #length 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns 0 151s on ["A"] 151s returns 1 151s on ["A", "B", "C"] 151s returns 3 151s 151s Immutable::List 151s #slice 151s when passed a positive integral index 151s returns the element at that index 151s leaves the original unchanged 151s when passed a negative integral index 151s returns the element which is number (index.abs) counting from the end of the list 151s when passed a positive integral index and count 151s returns 'count' elements starting from 'index' 151s leaves the original unchanged 151s when passed a negative integral index and count 151s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 151s when passed a Range 151s returns the elements whose indexes are within the given Range 151s leaves the original unchanged 151s when passed a subclass of Range 151s works the same as with a Range 151s #[] 151s when passed a positive integral index 151s returns the element at that index 151s leaves the original unchanged 151s when passed a negative integral index 151s returns the element which is number (index.abs) counting from the end of the list 151s when passed a positive integral index and count 151s returns 'count' elements starting from 'index' 151s leaves the original unchanged 151s when passed a negative integral index and count 151s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 151s when passed a Range 151s returns the elements whose indexes are within the given Range 151s leaves the original unchanged 151s when passed a subclass of Range 151s works the same as with a Range 151s 151s Immutable::List 151s #sort 151s is lazy 151s on [] 151s with a block 151s preserves the original 151s returns [] 151s without a block 151s preserves the original 151s returns [] 151s on ["A"] 151s with a block 151s preserves the original 151s returns ["A"] 151s without a block 151s preserves the original 151s returns ["A"] 151s on ["Ichi", "Ni", "San"] 151s with a block 151s preserves the original 151s returns ["Ni", "San", "Ichi"] 151s without a block 151s preserves the original 151s returns ["Ichi", "Ni", "San"] 151s #sort_by 151s is lazy 151s on [] 151s with a block 151s preserves the original 151s returns [] 151s without a block 151s preserves the original 151s returns [] 151s on ["A"] 151s with a block 151s preserves the original 151s returns ["A"] 151s without a block 151s preserves the original 151s returns ["A"] 151s on ["Ichi", "Ni", "San"] 151s with a block 151s preserves the original 151s returns ["Ni", "San", "Ichi"] 151s without a block 151s preserves the original 151s returns ["Ichi", "Ni", "San"] 151s 151s List#span 151s is lazy 151s given a predicate (in the form of a block), splits the list into two lists 151s (returned as an array) such that elements in the first list (the prefix) are 151s taken from the head of the list while the predicate is satisfied, and elements 151s in the second list (the remainder) are the remaining elements from the list 151s once the predicate is not satisfied. For example: 151s given the list [] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [] 151s returns the remainder as [] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [1] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [1] 151s returns the remainder as [] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [1, 2] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [1, 2] 151s returns the remainder as [] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [1, 2, 3] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [1, 2] 151s returns the remainder as [3] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [1, 2, 3, 4] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [1, 2] 151s returns the remainder as [3, 4] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [2, 3, 4] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [2] 151s returns the remainder as [3, 4] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [3, 4] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [] 151s returns the remainder as [3, 4] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s given the list [4] 151s and a predicate that returns true for values <= 2 151s preserves the original 151s returns the prefix as [] 151s returns the remainder as [4] 151s calls the block only once for each element 151s without a predicate 151s returns a frozen array 151s returns self as the prefix 151s returns an empty list as the remainder 151s 151s Immutable::List 151s #split_at 151s is lazy 151s on [] 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s on [1] 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s on [1, 2] 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s on [1, 2, 3] 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s on [1, 2, 3, 4] 151s preserves the original 151s returns a frozen array with two items 151s correctly identifies the matches 151s correctly identifies the remainder 151s 151s Immutable::List 151s #subsequences 151s yields all sublists with 1 or more consecutive items 151s with no block 151s returns an Enumerator 151s 151s Immutable::List 151s #sum 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns 0 151s on [2] 151s returns 2 151s on [1, 3, 5, 7, 11] 151s returns 27 151s 151s Immutable::List 151s #tail 151s on a really big list 151s doesn't run out of stack 151s on [] 151s preserves the original 151s returns [] 151s on ["A"] 151s preserves the original 151s returns [] 151s on ["A", "B", "C"] 151s preserves the original 151s returns ["B", "C"] 151s 151s Immutable::List 151s #tails 151s is lazy 151s on [] 151s preserves the original 151s returns [] 151s on ["A"] 151s preserves the original 151s returns [Immutable::List["A"]] 151s on ["A", "B", "C"] 151s preserves the original 151s returns [Immutable::List["A", "B", "C"], Immutable::List["B", "C"], Immutable::List["C"]] 151s 151s Immutable::List 151s #take 151s is lazy 151s 10 from [] 151s preserves the original 151s returns [] 151s 10 from ["A"] 151s preserves the original 151s returns ["A"] 151s -1 from ["A"] 151s preserves the original 151s returns [] 151s 0 from ["A", "B", "C"] 151s preserves the original 151s returns [] 151s 2 from ["A", "B", "C"] 151s preserves the original 151s returns ["A", "B"] 151s 151s Immutable::List 151s #take_while 151s is lazy 151s on [] 151s with a block 151s returns [] 151s preserves the original 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns ["A"] 151s preserves the original 151s is lazy 151s without a block 151s returns an Enumerator 151s on ["A", "B", "C"] 151s with a block 151s returns ["A", "B"] 151s preserves the original 151s is lazy 151s without a block 151s returns an Enumerator 151s 151s Immutable::List 151s #to_a 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns [] 151s leaves the original unchanged 151s returns a mutable array 151s on ["A"] 151s returns ["A"] 151s leaves the original unchanged 151s returns a mutable array 151s on ["A", "B", "C"] 151s returns ["A", "B", "C"] 151s leaves the original unchanged 151s returns a mutable array 151s #entries 151s on a really big list 151s doesn't run out of stack 151s on [] 151s returns [] 151s leaves the original unchanged 151s returns a mutable array 151s on ["A"] 151s returns ["A"] 151s leaves the original unchanged 151s returns a mutable array 151s on ["A", "B", "C"] 151s returns ["A", "B", "C"] 151s leaves the original unchanged 151s returns a mutable array 151s 151s Immutable::List 151s #to_ary 151s on a really big list 151s doesn't run out of stack 151s enables implicit conversion to 151s block parameters 151s method arguments 151s works with splat 151s 151s Immutable::List 151s #to_list 151s on [] 151s returns self 151s on ["A"] 151s returns self 151s on ["A", "B", "C"] 151s returns self 151s 151s Immutable::List 151s #to_set 151s on [] 151s returns a set with the same values 151s on ["A"] 151s returns a set with the same values 151s on ["A", "B", "C"] 151s returns a set with the same values 151s 151s Immutable::List 151s #transpose 151s takes a list of lists and returns a list of all the first elements, all the 2nd elements, and so on 151s only goes as far as the shortest list 151s 151s Immutable::List 151s #union 151s is lazy 151s returns [] 151s for [] and [] 151s for [] and [] 151s returns ["A"] 151s for ["A"] and [] 151s for [] and ["A"] 151s returns ["A", "B", "C"] 151s for ["A", "B", "C"] and [] 151s for [] and ["A", "B", "C"] 151s returns ["A"] 151s for ["A", "A"] and ["A"] 151s for ["A"] and ["A", "A"] 151s #| 151s is lazy 151s returns [] 151s for [] and [] 151s for [] and [] 151s returns ["A"] 151s for ["A"] and [] 151s for [] and ["A"] 151s returns ["A", "B", "C"] 151s for ["A", "B", "C"] and [] 151s for [] and ["A", "B", "C"] 151s returns ["A"] 151s for ["A", "A"] and ["A"] 151s for ["A"] and ["A", "A"] 151s 151s Immutable::List 151s #uniq 151s is lazy 151s when passed a block 151s uses the block to identify duplicates 151s on [] 151s preserves the original 151s returns [] 151s on ["A"] 151s preserves the original 151s returns ["A"] 151s on ["A", "B", "C"] 151s preserves the original 151s returns ["A", "B", "C"] 151s on ["A", "B", "A", "C", "C"] 151s preserves the original 151s returns ["A", "B", "C"] 151s 151s Immutable::List 151s #zip 151s is lazy 151s on [] and [] 151s returns [] 151s on ["A"] and ["aye"] 151s returns [Immutable::List["A", "aye"]] 151s on ["A"] and [] 151s returns [Immutable::List["A", nil]] 151s on [] and ["A"] 151s returns [Immutable::List[nil, "A"]] 151s on ["A", "B", "C"] and ["aye", "bee", "see"] 151s returns [Immutable::List["A", "aye"], Immutable::List["B", "bee"], Immutable::List["C", "see"]] 151s 151s Immutable 151s .from 151s with {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} as input 151s should return Immutable::Hash["d" => Immutable::Set[7, 5, 6], "a" => 1, "e" => Immutable::Hash["g" => 9, "f" => 8], "b" => Immutable::Vector[2, Immutable::Hash["c" => 3], 4], "h" => /ijk/] 151s with {} as input 151s should return Immutable::Hash[] 151s with {"a"=>1, "b"=>2, "c"=>3} as input 151s should return Immutable::Hash["a" => 1, "c" => 3, "b" => 2] 151s with [] as input 151s should return Immutable::Vector[] 151s with [1, 2, 3] as input 151s should return Immutable::Vector[1, 2, 3] 151s with # as input 151s should return Immutable::Set[] 151s with # as input 151s should return Immutable::Set[2, 1, 3] 151s with 42 as input 151s should return 42 151s with #> as input 151s should return #> 151s with # as input 151s should return Immutable::Hash[:name => nil, :address => nil] 151s with # as input 151s should return Immutable::Hash[:name => "Dave", :address => "123 Main"] 151s with mixed object 151s should return Immutable data 151s .to_ruby 151s with Immutable::Hash["d" => Immutable::Set[7, 5, 6], "a" => 1, "e" => Immutable::Hash["g" => 9, "f" => 8], "b" => Immutable::Vector[2, Immutable::Hash["c" => 3], 4], "h" => /ijk/] as input 151s should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} 151s with Immutable::Hash[] as input 151s should return {} 151s with Immutable::Hash["a" => 1, "c" => 3, "b" => 2] as input 151s should return {"a"=>1, "b"=>2, "c"=>3} 151s with Immutable::Vector[] as input 151s should return [] 151s with Immutable::Vector[1, 2, 3] as input 151s should return [1, 2, 3] 151s with Immutable::Set[] as input 151s should return # 151s with Immutable::Set[2, 1, 3] as input 151s should return # 151s with 42 as input 151s should return 42 151s with #> as input 151s should return #> 151s with Immutable::Deque[] as input 151s should return [] 151s with Immutable::Deque[Immutable::Hash["a" => 1]] as input 151s should return [{"a" => 1}] 151s with Immutable::SortedSet[] as input 151s should return ::SortedSet.new 151s with Immutable::SortedSet[1, 2, 3] as input 151s should return ::SortedSet.new 151s with mixed object 151s should return Ruby data structures 151s 151s Immutable::Set 151s #add 151s can add nil to a set 151s works on large sets, with many combinations of input 151s with a unique value 151s preserves the original 151s returns a copy with the superset of values 151s with a duplicate value 151s preserves the original values 151s returns self 151s #<< 151s can add nil to a set 151s works on large sets, with many combinations of input 151s with a unique value 151s preserves the original 151s returns a copy with the superset of values 151s with a duplicate value 151s preserves the original values 151s returns self 151s #add? 151s with a unique value 151s preserves the original 151s returns a copy with the superset of values 151s with a duplicate value 151s preserves the original values 151s returns false 151s 151s Immutable::Set 151s #all? 151s when empty 151s with a block returns true 151s with no block returns true 151s when not empty 151s with a block 151s returns true if the block always returns true 151s returns false if the block ever returns false 151s propagates an exception from the block 151s stops iterating as soon as the block returns false 151s with no block 151s returns true if all values are truthy 151s returns false if any value is nil 151s returns false if any value is false 151s 151s Immutable::Set 151s #any? 151s when empty 151s with a block returns false 151s with no block returns false 151s when not empty 151s with a block 151s returns true if the block ever returns true ("A") 151s returns true if the block ever returns true ("B") 151s returns true if the block ever returns true ("C") 151s returns true if the block ever returns true (nil) 151s returns false if the block always returns false 151s propagates exceptions raised in the block 151s stops iterating as soon as the block returns true 151s with no block 151s returns true if any value is truthy 151s returns false if all values are falsey 151s 151s Immutable::Set 151s #clear 151s on [] 151s preserves the original 151s returns an empty set 151s on ["A"] 151s preserves the original 151s returns an empty set 151s on ["A", "B", "C"] 151s preserves the original 151s returns an empty set 151s from a subclass 151s returns an empty instance of the subclass 151s 151s Immutable::Set 151s #compact 151s on [] 151s preserves the original 151s returns [] 151s on ["A"] 151s preserves the original 151s returns ["A"] 151s on ["A", "B", "C"] 151s preserves the original 151s returns ["A", "B", "C"] 151s on [nil] 151s preserves the original 151s returns [] 151s on [nil, "B"] 151s preserves the original 151s returns ["B"] 151s on ["A", nil] 151s preserves the original 151s returns ["A"] 151s on [nil, nil] 151s preserves the original 151s returns [] 151s on ["A", nil, "C"] 151s preserves the original 151s returns ["A", "C"] 151s on [nil, "B", nil] 151s preserves the original 151s returns ["B"] 151s 151s Immutable::Set 151s .set 151s with no values 151s returns the empty set 151s with a list of values 151s is equivalent to repeatedly using #add 151s 151s Immutable::Set 151s #dup 151s returns self 151s #clone 151s returns self 151s 151s Immutable::Set 151s #count 151s works on large sets 151s on [] 151s with a block 151s returns 0 151s without a block 151s returns length 151s on [1] 151s with a block 151s returns 1 151s without a block 151s returns length 151s on [1, 2] 151s with a block 151s returns 1 151s without a block 151s returns length 151s on [1, 2, 3] 151s with a block 151s returns 2 151s without a block 151s returns length 151s on [1, 2, 3, 4] 151s with a block 151s returns 2 151s without a block 151s returns length 151s on [1, 2, 3, 4, 5] 151s with a block 151s returns 3 151s without a block 151s returns length 151s 151s Immutable::Set 151s #delete 151s works on large sets, with many combinations of input 151s with an existing value 151s preserves the original 151s returns a copy with the remaining values 151s with a non-existing value 151s preserves the original values 151s returns self 151s when removing the last value in a set 151s returns the canonical empty set 151s #delete? 151s with an existing value 151s preserves the original 151s returns a copy with the remaining values 151s with a non-existing value 151s preserves the original values 151s returns false 151s 151s Immutable::Set 151s #difference 151s works on a wide variety of inputs 151s for [] and [] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s doesn't modify the original Sets 151s returns ["A"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s doesn't modify the original Sets 151s returns ["A", "C"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["A", "C"] 151s doesn't modify the original Sets 151s returns ["B"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 151s doesn't modify the original Sets 151s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 151s doesn't modify the original Sets 151s returns ["A", "M", "Y", "Z"] 151s when passed a Ruby Array 151s returns the expected Set 151s #subtract 151s works on a wide variety of inputs 151s for [] and [] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s doesn't modify the original Sets 151s returns ["A"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s doesn't modify the original Sets 151s returns ["A", "C"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["A", "C"] 151s doesn't modify the original Sets 151s returns ["B"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 151s doesn't modify the original Sets 151s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 151s doesn't modify the original Sets 151s returns ["A", "M", "Y", "Z"] 151s when passed a Ruby Array 151s returns the expected Set 151s #- 151s works on a wide variety of inputs 151s for [] and [] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s doesn't modify the original Sets 151s returns ["A"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s doesn't modify the original Sets 151s returns ["A", "C"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["A", "C"] 151s doesn't modify the original Sets 151s returns ["B"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 151s doesn't modify the original Sets 151s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 151s doesn't modify the original Sets 151s returns ["A", "M", "Y", "Z"] 151s when passed a Ruby Array 151s returns the expected Set 151s 151s Immutable::Set 151s #disjoint? 151s for [] and [] 151s returns true 151s for ["A"] and [] 151s returns true 151s for [] and ["A"] 151s returns true 151s for ["A"] and ["A"] 151s returns false 151s for ["A", "B", "C"] and ["B"] 151s returns false 151s for ["B"] and ["A", "B", "C"] 151s returns false 151s for ["A", "B", "C"] and ["D", "E"] 151s returns true 151s for ["F", "G", "H", "I"] and ["A", "B", "C"] 151s returns true 151s for ["A", "B", "C"] and ["A", "B", "C"] 151s returns false 151s for ["A", "B", "C"] and ["A", "B", "C", "D"] 151s returns false 151s for ["D", "E", "F", "G"] and ["A", "B", "C"] 151s returns true 151s 151s Immutable::Set 151s #each 151s yields both of a pair of colliding keys 151s without a block 151s returns an Enumerator 151s with an empty block 151s returns self 151s with a block 151s yields all values 151s 151s Immutable::Set 151s #empty? 151s on [] 151s returns true 151s on ["A"] 151s returns false 151s on ["A", "B", "C"] 151s returns false 151s on [nil] 151s returns false 151s on [false] 151s returns false 151s .empty 151s returns the canonical empty set 151s from a subclass 151s returns an empty instance of the subclass 151s calls overridden #initialize when creating empty Set 151s 151s Immutable::Set 151s #== 151s when comparing to a standard set 151s returns false 151s when comparing to a arbitrary object 151s returns false 151s with an empty set for each comparison 151s returns true 151s with an empty set and a set with nil 151s returns false 151s with a single item array and empty array 151s returns false 151s with matching single item array 151s returns true 151s with mismatching single item array 151s returns false 151s with a multi-item array and single item array 151s returns false 151s with matching multi-item array 151s returns true 151s with a mismatching multi-item array 151s returns true 151s 151s Immutable::Set 151s #eql? 151s when comparing to a standard set 151s returns false 151s when comparing to a arbitrary object 151s returns false 151s when comparing with a subclass of Immutable::Set 151s returns false 151s with an empty set for each comparison 151s returns true 151s with an empty set and a set with nil 151s returns false 151s with a single item array and empty array 151s returns false 151s with matching single item array 151s returns true 151s with mismatching single item array 151s returns false 151s with a multi-item array and single item array 151s returns false 151s with matching multi-item array 151s returns true 151s with a mismatching multi-item array 151s returns true 151s 151s Immutable::Set 151s #exclusion 151s works for a wide variety of inputs 151s for [] and [] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s doesn't modify the original Sets 151s returns ["A"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s doesn't modify the original Sets 151s returns ["A", "C"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B", "C", "D"] 151s doesn't modify the original Sets 151s returns ["A", "D"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["D", "E", "F"] 151s doesn't modify the original Sets 151s returns ["A", "B", "C", "D", "E", "F"] 151s when passed a Ruby Array 151s returns the expected Set 151s #^ 151s works for a wide variety of inputs 151s for [] and [] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s doesn't modify the original Sets 151s returns ["A"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s doesn't modify the original Sets 151s returns [] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s doesn't modify the original Sets 151s returns ["A", "C"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B", "C", "D"] 151s doesn't modify the original Sets 151s returns ["A", "D"] 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["D", "E", "F"] 151s doesn't modify the original Sets 151s returns ["A", "B", "C", "D", "E", "F"] 151s when passed a Ruby Array 151s returns the expected Set 151s 151s Immutable::Set 151s #find 151s on [] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on [] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns "A" 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns "A" 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns "B" 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s #detect 151s on [] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on [] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns "A" 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A"] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns "A" 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns "B" 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s on ["A", "B", nil] 151s with a block 151s returns nil 151s without a block 151s returns an Enumerator 151s 151s Immutable::Set 151s #first 151s returns nil if only member of set is nil 151s returns the first item yielded by #each 151s on an empty set 151s returns nil 151s on a non-empty set 151s returns an arbitrary value from the set 151s 151s Immutable 151s #flatten 151s on ["A"] 151s preserves the original 151s returns the inlined values 151s on ["A", "B", "C"] 151s preserves the original 151s returns the inlined values 151s on ["A", Immutable::Set["B"], "C"] 151s preserves the original 151s returns the inlined values 151s on [Immutable::Set["A"], Immutable::Set["B"], Immutable::Set["C"]] 151s preserves the original 151s returns the inlined values 151s on an empty set 151s returns an empty set 151s on a set with multiple levels of nesting 151s inlines lower levels of nesting 151s from a subclass 151s returns an instance of the subclass 151s 151s Immutable::Set 151s #grep 151s without a block 151s with an empty set 151s returns the filtered values 151s with a single item set 151s returns the filtered values 151s with a single item set that doesn't contain match 151s returns the filtered values 151s with a multi-item set where one isn't a match 151s returns the filtered values 151s with a block 151s with an empty set 151s returns the filtered values 151s with a single item set 151s returns the filtered values 151s with a single item set that doesn't contain match 151s returns the filtered values 151s with a multi-item set where one isn't a match 151s returns the filtered values 151s 151s Immutable::Set 151s #grep_v 151s without a block 151s with an empty set 151s returns the filtered values 151s with a single item set 151s returns the filtered values 151s with a single item set that doesn't contain match 151s returns the filtered values 151s with a multi-item set where one isn't a match 151s returns the filtered values 151s with a block 151s resulting items are processed with the block 151s returns the filtered values 151s 151s Immutable::Set 151s #group_by 151s returns a hash without default proc 151s with a block 151s on [] 151s returns [] 151s on [1] 151s returns [{true=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[2, 4]}] 151s without a block 151s on [] 151s returns [] 151s on [1] 151s returns [{1=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 151s on an empty set 151s returns an empty hash 151s from a subclass 151s returns an Hash whose values are instances of the subclass 151s #group 151s returns a hash without default proc 151s with a block 151s on [] 151s returns [] 151s on [1] 151s returns [{true=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[2, 4]}] 151s without a block 151s on [] 151s returns [] 151s on [1] 151s returns [{1=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 151s on an empty set 151s returns an empty hash 151s from a subclass 151s returns an Hash whose values are instances of the subclass 151s #classify 151s returns a hash without default proc 151s with a block 151s on [] 151s returns [] 151s on [1] 151s returns [{true=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[2, 4]}] 151s without a block 151s on [] 151s returns [] 151s on [1] 151s returns [{1=>Immutable::Set[1]}] 151s on [1, 2, 3, 4] 151s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 151s on an empty set 151s returns an empty hash 151s from a subclass 151s returns an Hash whose values are instances of the subclass 151s 151s Immutable::Set 151s #hash 151s generates the same hash value for a set regardless of the order things were added to it 151s values are sufficiently distributed 151s on an empty set 151s returns 0 151s 151s Immutable::Set 151s #include? 151s returns true for an existing value ("A") 151s returns true for an existing value ("B") 151s returns true for an existing value ("C") 151s returns true for an existing value (2.0) 151s returns true for an existing value (nil) 151s returns false for a non-existing value 151s returns true even if existing value is nil 151s returns true even if existing value is false 151s returns false for a mutable item which is mutated after adding 151s uses #eql? for equality 151s returns the right answers after a lot of addings and removings 151s #member? 151s returns true for an existing value ("A") 151s returns true for an existing value ("B") 151s returns true for an existing value ("C") 151s returns true for an existing value (2.0) 151s returns true for an existing value (nil) 151s returns false for a non-existing value 151s returns true even if existing value is nil 151s returns true even if existing value is false 151s returns false for a mutable item which is mutated after adding 151s uses #eql? for equality 151s returns the right answers after a lot of addings and removings 151s 151s Immutable::Set 151s #inspect 151s on [] 151s returns "Immutable::Set[]" 151s returns a string which can be eval'd to get an equivalent set 151s on ["A"] 151s returns "Immutable::Set[\"A\"]" 151s returns a string which can be eval'd to get an equivalent set 151s on ["A", "B", "C"] 151s returns a programmer-readable representation of the set contents 151s returns a string which can be eval'd to get an equivalent set 151s from a subclass 151s returns a programmer-readable representation of the set contents 151s returns a string which can be eval'd to get an equivalent set 151s 151s Immutable::Set 151s #intersect? 151s for [] and [] 151s returns false 151s for ["A"] and [] 151s returns false 151s for [] and ["A"] 151s returns false 151s for ["A"] and ["A"] 151s returns true 151s for ["A", "B", "C"] and ["B"] 151s returns true 151s for ["B"] and ["A", "B", "C"] 151s returns true 151s for ["A", "B", "C"] and ["D", "E"] 151s returns false 151s for ["F", "G", "H", "I"] and ["A", "B", "C"] 151s returns false 151s for ["A", "B", "C"] and ["A", "B", "C"] 151s returns true 151s for ["A", "B", "C"] and ["A", "B", "C", "D"] 151s returns true 151s for ["D", "E", "F", "G"] and ["A", "B", "C"] 151s returns false 151s 151s Immutable::Set 151s #intersection 151s returns results consistent with Array#& 151s for [] and [] 151s returns [], without changing the original Sets 151s for [] and [] 151s returns [], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s returns [], without changing the original Sets 151s for [] and ["A"] 151s returns [], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s returns ["A"], without changing the original Sets 151s for ["A"] and ["A"] 151s returns ["A"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s returns ["B"], without changing the original Sets 151s for ["B"] and ["A", "B", "C"] 151s returns ["B"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["A", "C"] 151s returns ["A", "C"], without changing the original Sets 151s for ["A", "C"] and ["A", "B", "C"] 151s returns ["A", "C"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s #& 151s returns results consistent with Array#& 151s for [] and [] 151s returns [], without changing the original Sets 151s for [] and [] 151s returns [], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and [] 151s returns [], without changing the original Sets 151s for [] and ["A"] 151s returns [], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A"] and ["A"] 151s returns ["A"], without changing the original Sets 151s for ["A"] and ["A"] 151s returns ["A"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["B"] 151s returns ["B"], without changing the original Sets 151s for ["B"] and ["A", "B", "C"] 151s returns ["B"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s for ["A", "B", "C"] and ["A", "C"] 151s returns ["A", "C"], without changing the original Sets 151s for ["A", "C"] and ["A", "B", "C"] 151s returns ["A", "C"], without changing the original Sets 151s when passed a Ruby Array 151s returns the expected Set 151s 151s Immutable::Set 151s #join 151s with a separator 151s on [] 151s preserves the original 151s returns "" 151s on ["A"] 151s preserves the original 151s returns "A" 151s on ["A", "B", "C"] 151s preserves the original 151s returns "A|B|C" 151s without a separator 151s on [] 151s preserves the original 151s returns "" 151s on ["A"] 151s preserves the original 151s returns "A" 151s on ["A", "B", "C"] 151s preserves the original 151s returns "ABC" 151s without a separator (with global default separator set) 151s on ['A', 'B', 'C'] 151s preserves the original 151s returns nil 151s 151s Immutable::Set 151s #map 151s works on large sets 151s when empty 151s returns self 151s when not empty 151s with a block 151s preserves the original values 151s returns a new set with the mapped values 151s with no block 151s returns an Enumerator 151s from a subclass 151s returns an instance of the subclass 151s when multiple items map to the same value 151s filters out the duplicates 151s #collect 151s works on large sets 151s when empty 151s returns self 151s when not empty 151s with a block 151s preserves the original values 151s returns a new set with the mapped values 151s with no block 151s returns an Enumerator 151s from a subclass 151s returns an instance of the subclass 151s when multiple items map to the same value 152s filters out the duplicates 152s 152s Immutable::Set 152s #marshal_dump/#marshal_load 152s can survive dumping and loading into a new process 152s is still possible to test items by key after loading 152s 152s Immutable::Set 152s #max 152s with a block 152s on [] 152s returns nil 152s on ["A"] 152s returns "A" 152s on ["Ichi", "Ni", "San"] 152s returns "Ichi" 152s without a block 152s on [] 152s returns nil 152s on ["A"] 152s returns "A" 152s on ["Ichi", "Ni", "San"] 152s returns "San" 152s 152s Immutable::Set 152s #min 152s with a block 152s on [] 152s returns nil 152s on ["A"] 152s returns "A" 152s on ["Ichi", "Ni", "San"] 152s returns "Ni" 152s without a block 152s on [] 152s returns nil 152s on ["A"] 152s returns "A" 152s on ["Ichi", "Ni", "San"] 152s returns "Ichi" 152s 152s Immutable::Set 152s .new 152s initializes a new set 152s accepts a Range 152s returns a Set which doesn't change even if the initializer is mutated 152s is amenable to overriding of #initialize 152s from a subclass 152s returns a frozen instance of the subclass 152s [] 152s accepts any number of arguments and initializes a new set 152s 152s Immutable::Set 152s #none? 152s when empty 152s with a block returns true 152s with no block returns true 152s when not empty 152s with a block 152s returns false if the block ever returns true ("A") 152s returns false if the block ever returns true ("B") 152s returns false if the block ever returns true ("C") 152s returns false if the block ever returns true (nil) 152s returns true if the block always returns false 152s stops iterating as soon as the block returns true 152s with no block 152s returns false if any value is truthy 152s returns true if all values are falsey 152s 152s Immutable::Set 152s #one? 152s when empty 152s with a block returns false 152s with no block returns false 152s when not empty 152s with a block 152s returns false if the block returns true more than once 152s returns false if the block never returns true 152s returns true if the block only returns true once 152s with no block 152s returns false if more than one value is truthy 152s returns true if only one value is truthy 152s returns false if no values are truthy 152s 152s Immutable::Set 152s #partition 152s on [] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [1] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [1, 2] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [1, 2, 3] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [1, 2, 3, 4] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [2, 3, 4] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [3, 4] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s on [4] 152s with a block 152s preserves the original 152s returns a frozen array with two items 152s correctly identifies the matches 152s correctly identifies the remainder 152s without a block 152s returns an Enumerator 152s 152s Immutable::Set 152s #product 152s on [] 152s returns 1 152s doesn't change the original Set 152s on [2] 152s returns 2 152s doesn't change the original Set 152s on [1, 3, 5, 7, 11] 152s returns 1155 152s doesn't change the original Set 152s 152s Immutable::Set 152s #reduce 152s on [] 152s with an initial value of 10 152s and a block 152s returns 10 152s on [1] 152s with an initial value of 10 152s and a block 152s returns 9 152s on [1, 2, 3] 152s with an initial value of 10 152s and a block 152s returns 4 152s on [] 152s with no initial value 152s and a block 152s returns nil 152s on [1] 152s with no initial value 152s and a block 152s returns 1 152s on [1, 2, 3] 152s with no initial value 152s and a block 152s returns 6 152s with no block and a symbol argument 152s uses the symbol as the name of a method to reduce with 152s with no block and a string argument 152s uses the string as the name of a method to reduce with 152s #inject 152s on [] 152s with an initial value of 10 152s and a block 152s returns 10 152s on [1] 152s with an initial value of 10 152s and a block 152s returns 9 152s on [1, 2, 3] 152s with an initial value of 10 152s and a block 152s returns 4 152s on [] 152s with no initial value 152s and a block 152s returns nil 152s on [1] 152s with no initial value 152s and a block 152s returns 1 152s on [1, 2, 3] 152s with no initial value 152s and a block 152s returns 6 152s with no block and a symbol argument 152s uses the symbol as the name of a method to reduce with 152s with no block and a string argument 152s uses the string as the name of a method to reduce with 152s 152s Immutable::Set 152s #reject 152s when nothing matches 152s returns self 152s when only some things match 152s with a block 152s preserves the original 152s returns a set with the matching values 152s with no block 152s returns self 152s on a large set, with many combinations of input 152s still works 152s #delete_if 152s when nothing matches 152s returns self 152s when only some things match 152s with a block 152s preserves the original 152s returns a set with the matching values 152s with no block 152s returns self 152s on a large set, with many combinations of input 152s still works 152s 152s Immutable::Set 152s #reverse_each 152s without a block 152s returns an Enumerator 152s with an empty block 152s returns self 152s with a block 152s yields all values 152s 152s Immutable::Set 152s #sample 152s returns a randomly chosen item 152s 152s Immutable::Set 152s #select 152s works on a large set, with many combinations of input 152s when everything matches 152s returns self 152s when only some things match 152s with a block 152s preserves the original 152s returns a set with the matching values 152s with no block 152s returns an Enumerator 152s when nothing matches 152s preserves the original 152s returns the canonical empty set 152s from a subclass 152s returns an instance of the same class 152s #find_all 153s works on a large set, with many combinations of input 153s when everything matches 153s returns self 153s when only some things match 153s with a block 153s preserves the original 153s returns a set with the matching values 153s with no block 153s returns an Enumerator 153s when nothing matches 153s preserves the original 153s returns the canonical empty set 153s from a subclass 153s returns an instance of the same class 153s 153s Immutable::Set 153s #size 153s returns 0 for [] 153s returns 1 for ["A"] 153s returns 3 for ["A", "B", "C"] 153s #length 153s returns 0 for [] 153s returns 1 for ["A"] 153s returns 3 for ["A", "B", "C"] 153s 153s Immutable::Set 153s #sort 153s on [] 153s with a block 153s returns [] 153s doesn't change the original Set 153s without a block 153s returns [] 153s doesn't change the original Set 153s on ["A"] 153s with a block 153s returns ["A"] 153s doesn't change the original Set 153s without a block 153s returns ["A"] 153s doesn't change the original Set 153s on ["Ichi", "Ni", "San"] 153s with a block 153s returns ["Ni", "San", "Ichi"] 153s doesn't change the original Set 153s without a block 153s returns ["Ichi", "Ni", "San"] 153s doesn't change the original Set 153s #sort_by 153s on [] 153s with a block 153s returns [] 153s doesn't change the original Set 153s without a block 153s returns [] 153s doesn't change the original Set 153s on ["A"] 153s with a block 153s returns ["A"] 153s doesn't change the original Set 153s without a block 153s returns ["A"] 153s doesn't change the original Set 153s on ["Ichi", "Ni", "San"] 153s with a block 153s returns ["Ni", "San", "Ichi"] 153s doesn't change the original Set 153s without a block 153s returns ["Ichi", "Ni", "San"] 153s doesn't change the original Set 153s #sort_by 153s calls the passed block no more than twice for each item 153s 153s Immutable::Set 153s #subset? 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s #<= 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s #proper_subset? 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s #< 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s 153s Immutable::Set 153s #sum 153s on [] 153s returns 0 153s doesn't change the original Set 153s on [2] 153s returns 2 153s doesn't change the original Set 153s on [1, 3, 5, 7, 11] 153s returns 27 153s doesn't change the original Set 153s 153s Immutable::Set 153s #superset? 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s #>= 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s #proper_superset? 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s #> 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s 153s Immutable::Set 153s #to_a 153s on 'a'..'a' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'b' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'c' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'d' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'e' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'f' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'g' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'h' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'i' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'j' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'k' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'l' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'m' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'n' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'o' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'p' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'q' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'r' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'s' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'t' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'u' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'v' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'w' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'x' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'y' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'z' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s #entries 153s on 'a'..'a' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'b' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'c' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'d' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'e' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'f' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'g' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'h' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'i' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'j' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'k' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'l' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'m' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'n' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'o' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'p' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'q' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'r' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'s' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'t' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'u' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'v' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'w' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'x' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'y' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s on 'a'..'z' 153s returns an equivalent array 153s doesn't change the original Set 153s returns a mutable array 153s 153s Immutable::Set 153s #to_list 153s on [] 153s returns a list 153s doesn't change the original Set 153s the returned list 153s has the correct length 153s contains all values 153s on ["A"] 153s returns a list 153s doesn't change the original Set 153s the returned list 153s has the correct length 153s contains all values 153s on ["A", "B", "C"] 153s returns a list 153s doesn't change the original Set 153s the returned list 153s has the correct length 153s contains all values 153s 153s Immutable::Set 153s #to_set 153s on [] 153s returns self 153s on ["A"] 153s returns self 153s on ["A", "B", "C"] 153s returns self 153s 153s Immutable::Set 153s #union 153s for [] and [] 153s returns [], without changing the original Sets 153s for [] and [] 153s returns [], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"], without changing the original Sets 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["X", "Y", "Z"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s for ["X", "Y", "Z"] and ["A", "B", "C"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s when receiving a subset 153s returns self 153s #| 153s for [] and [] 153s returns [], without changing the original Sets 153s for [] and [] 153s returns [], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"], without changing the original Sets 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["X", "Y", "Z"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s for ["X", "Y", "Z"] and ["A", "B", "C"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s when receiving a subset 153s returns self 153s #+ 153s for [] and [] 153s returns [], without changing the original Sets 153s for [] and [] 153s returns [], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"], without changing the original Sets 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["X", "Y", "Z"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s for ["X", "Y", "Z"] and ["A", "B", "C"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s when receiving a subset 153s returns self 153s #merge 153s for [] and [] 153s returns [], without changing the original Sets 153s for [] and [] 153s returns [], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and ["A"] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for [] and ["A"] 153s returns ["A"], without changing the original Sets 153s for ["A"] and [] 153s returns ["A"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"], without changing the original Sets 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns ["A", "B", "C"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s for ["A", "B", "C"] and ["X", "Y", "Z"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s for ["X", "Y", "Z"] and ["A", "B", "C"] 153s returns ["A", "B", "C", "X", "Y", "Z"], without changing the original Sets 153s when passed a Ruby Array 153s returns the expected Set 153s from a subclass 153s returns an instance of the subclass 153s when receiving a subset 153s returns self 153s 153s Immutable::SortedSet 153s #above 153s when called without a block 153s returns a sorted set of all items higher than the argument 153s when called with a block 153s yields all the items higher than the argument 153s on an empty set 153s returns an empty set 153s with an argument higher than all the values in the set 153s returns an empty set 153s 153s Immutable::SortedSet 153s #add 153s with a unique value 153s preserves the original 153s returns a copy with the superset of values (in order) 153s with a duplicate value 153s preserves the original values 153s returns self 153s on a set ordered by a comparator 153s inserts the new item in the correct place 153s #<< 153s with a unique value 153s preserves the original 153s returns a copy with the superset of values (in order) 153s with a duplicate value 153s preserves the original values 153s returns self 153s on a set ordered by a comparator 153s inserts the new item in the correct place 153s #add? 153s with a unique value 153s preserves the original 153s returns a copy with the superset of values 153s with a duplicate value 153s preserves the original values 153s returns false 153s 153s Immutable::SortedSet 153s #at 153s [] with 10 153s returns nil 153s ["A"] with 10 153s returns nil 153s ["A", "B", "C"] with 0 153s returns "A" 153s ["A", "B", "C"] with 1 153s returns "B" 153s ["A", "B", "C"] with 2 153s returns "C" 153s ["A", "B", "C"] with 3 153s returns nil 153s ["A", "B", "C"] with -1 153s returns "C" 153s ["A", "B", "C"] with -2 153s returns "B" 153s ["A", "B", "C"] with -3 153s returns "A" 153s ["A", "B", "C"] with -4 153s returns nil 153s 153s Immutable::SortedSet 153s #below 153s when called without a block 153s returns a sorted set of all items lower than the argument 153s when called with a block 153s yields all the items lower than the argument 153s on an empty set 153s returns an empty set 153s with an argument lower than all the values in the set 153s returns an empty set 153s 153s Immutable::SortedSet 153s #between 153s when called without a block 153s returns a sorted set of all items from the first argument to the second 153s when called with a block 153s yields all the items lower than the argument 153s on an empty set 153s returns an empty set 153s with a 'to' argument lower than the 'from' argument 153s returns an empty set 153s 153s Immutable::SortedSet 153s #clear 153s on [] 153s preserves the original 153s returns an empty set 153s on ["A"] 153s preserves the original 153s returns an empty set 153s on ["A", "B", "C"] 153s preserves the original 153s returns an empty set 153s from a subclass 153s returns an empty instance of the subclass 153s with a comparator 153s returns an empty instance with same comparator 153s 153s Immutable::SortedSet 153s on [] 153s returns self 153s on ["A"] 153s returns self 153s on ["A", "B", "C"] 153s returns self 153s on 1..32 153s returns self 153s on [] 153s returns self 153s on ["A"] 153s returns self 153s on ["A", "B", "C"] 153s returns self 153s on 1..32 153s returns self 153s 153s Immutable::SortedSet 153s #delete_at 153s removes the element at the specified index 153s makes no modification if the index is out of range 153s 153s Immutable::SortedSet 153s #delete 153s on an empty set 153s returns an empty set 153s with an existing value 153s preserves the original 153s returns a copy with the remaining of values 153s with a non-existing value 153s preserves the original values 153s returns self 153s when removing the last value in a sorted set 153s maintains the set order 153s when the set is in natural order 153s returns the canonical empty set 153s on [1, 2, 3], when deleting [1, 2, 3] 153s returns [] 153s on [1, 2, 3, 4], when deleting [1, 2, 3] 153s returns [4] 153s on [1, 2, 3, 4], when deleting [1, 2, 4] 153s returns [3] 153s on [1, 2, 3, 4], when deleting [1, 3, 4] 153s returns [2] 153s on [1, 2, 3, 4], when deleting [2, 3, 4] 153s returns [1] 153s on [1, 2, 3, 4, 5], when deleting [1, 2, 3] 153s returns [4, 5] 153s on [1, 2, 3, 4, 5], when deleting [1, 2, 4] 153s returns [3, 5] 153s on [1, 2, 3, 4, 5], when deleting [1, 2, 5] 153s returns [3, 4] 153s on [1, 2, 3, 4, 5], when deleting [1, 3, 4] 153s returns [2, 5] 153s on [1, 2, 3, 4, 5], when deleting [1, 3, 5] 153s returns [2, 4] 153s on [1, 2, 3, 4, 5], when deleting [1, 4, 5] 153s returns [2, 3] 153s on [1, 2, 3, 4, 5], when deleting [2, 3, 4] 153s returns [1, 5] 153s on [1, 2, 3, 4, 5], when deleting [2, 3, 5] 153s returns [1, 4] 153s on [1, 2, 3, 4, 5], when deleting [2, 4, 5] 153s returns [1, 3] 153s on [1, 2, 3, 4, 5], when deleting [3, 4, 5] 153s returns [1, 2] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 3] 153s returns [4, 5, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 4] 153s returns [3, 5, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 5] 153s returns [3, 4, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 2, 6] 153s returns [3, 4, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 4] 153s returns [2, 5, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 5] 153s returns [2, 4, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 3, 6] 153s returns [2, 4, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 5] 153s returns [2, 3, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 4, 6] 153s returns [2, 3, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [1, 5, 6] 153s returns [2, 3, 4] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 4] 153s returns [1, 5, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 5] 153s returns [1, 4, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 3, 6] 153s returns [1, 4, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 5] 153s returns [1, 3, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 4, 6] 153s returns [1, 3, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [2, 5, 6] 153s returns [1, 3, 4] 153s on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 5] 153s returns [1, 2, 6] 153s on [1, 2, 3, 4, 5, 6], when deleting [3, 4, 6] 153s returns [1, 2, 5] 153s on [1, 2, 3, 4, 5, 6], when deleting [3, 5, 6] 153s returns [1, 2, 4] 153s on [1, 2, 3, 4, 5, 6], when deleting [4, 5, 6] 153s returns [1, 2, 3] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 3] 153s returns [4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 4] 153s returns [3, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 5] 153s returns [3, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 6] 153s returns [3, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 2, 7] 153s returns [3, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 4] 153s returns [2, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 5] 153s returns [2, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 6] 153s returns [2, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 3, 7] 153s returns [2, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 5] 153s returns [2, 3, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 6] 153s returns [2, 3, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 4, 7] 153s returns [2, 3, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 6] 153s returns [2, 3, 4, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 5, 7] 153s returns [2, 3, 4, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [1, 6, 7] 153s returns [2, 3, 4, 5] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 4] 153s returns [1, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 5] 153s returns [1, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 6] 153s returns [1, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 3, 7] 153s returns [1, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 5] 153s returns [1, 3, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 6] 153s returns [1, 3, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 4, 7] 153s returns [1, 3, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 6] 153s returns [1, 3, 4, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 5, 7] 153s returns [1, 3, 4, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [2, 6, 7] 153s returns [1, 3, 4, 5] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 5] 153s returns [1, 2, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 6] 153s returns [1, 2, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 4, 7] 153s returns [1, 2, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 6] 153s returns [1, 2, 4, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 5, 7] 153s returns [1, 2, 4, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [3, 6, 7] 153s returns [1, 2, 4, 5] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 6] 153s returns [1, 2, 3, 7] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 5, 7] 153s returns [1, 2, 3, 6] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [4, 6, 7] 153s returns [1, 2, 3, 5] 153s on [1, 2, 3, 4, 5, 6, 7], when deleting [5, 6, 7] 153s returns [1, 2, 3, 4] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 3] 153s returns [4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 4] 153s returns [3, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 5] 153s returns [3, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 6] 153s returns [3, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 7] 153s returns [3, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 2, 8] 153s returns [3, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 4] 153s returns [2, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 5] 153s returns [2, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 6] 153s returns [2, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 7] 153s returns [2, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 3, 8] 153s returns [2, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 5] 153s returns [2, 3, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 6] 153s returns [2, 3, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 7] 153s returns [2, 3, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 4, 8] 153s returns [2, 3, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 6] 153s returns [2, 3, 4, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 7] 153s returns [2, 3, 4, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 5, 8] 153s returns [2, 3, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 7] 153s returns [2, 3, 4, 5, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 6, 8] 153s returns [2, 3, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [1, 7, 8] 153s returns [2, 3, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 4] 153s returns [1, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 5] 153s returns [1, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 6] 153s returns [1, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 7] 153s returns [1, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 3, 8] 153s returns [1, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 5] 153s returns [1, 3, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 6] 153s returns [1, 3, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 7] 153s returns [1, 3, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 4, 8] 153s returns [1, 3, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 6] 153s returns [1, 3, 4, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 7] 153s returns [1, 3, 4, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 5, 8] 153s returns [1, 3, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 7] 153s returns [1, 3, 4, 5, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 6, 8] 153s returns [1, 3, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [2, 7, 8] 153s returns [1, 3, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 5] 153s returns [1, 2, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 6] 153s returns [1, 2, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 7] 153s returns [1, 2, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 4, 8] 153s returns [1, 2, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 6] 153s returns [1, 2, 4, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 7] 153s returns [1, 2, 4, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 5, 8] 153s returns [1, 2, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 7] 153s returns [1, 2, 4, 5, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 6, 8] 153s returns [1, 2, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [3, 7, 8] 153s returns [1, 2, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 6] 153s returns [1, 2, 3, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 7] 153s returns [1, 2, 3, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 5, 8] 153s returns [1, 2, 3, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 7] 153s returns [1, 2, 3, 5, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 6, 8] 153s returns [1, 2, 3, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [4, 7, 8] 153s returns [1, 2, 3, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 7] 153s returns [1, 2, 3, 4, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 6, 8] 153s returns [1, 2, 3, 4, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [5, 7, 8] 153s returns [1, 2, 3, 4, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8], when deleting [6, 7, 8] 153s returns [1, 2, 3, 4, 5] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 3] 153s returns [4, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 4] 153s returns [3, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 5] 153s returns [3, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 6] 153s returns [3, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 7] 153s returns [3, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 8] 153s returns [3, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 2, 9] 153s returns [3, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 4] 153s returns [2, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 5] 153s returns [2, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 6] 153s returns [2, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 7] 153s returns [2, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 8] 153s returns [2, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 3, 9] 153s returns [2, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 5] 153s returns [2, 3, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 6] 153s returns [2, 3, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 7] 153s returns [2, 3, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 8] 153s returns [2, 3, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 4, 9] 153s returns [2, 3, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 6] 153s returns [2, 3, 4, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 7] 153s returns [2, 3, 4, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 8] 153s returns [2, 3, 4, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 5, 9] 153s returns [2, 3, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 7] 153s returns [2, 3, 4, 5, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 8] 153s returns [2, 3, 4, 5, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 6, 9] 153s returns [2, 3, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 8] 153s returns [2, 3, 4, 5, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 7, 9] 153s returns [2, 3, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [1, 8, 9] 153s returns [2, 3, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 4] 153s returns [1, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 5] 153s returns [1, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 6] 153s returns [1, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 7] 153s returns [1, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 8] 153s returns [1, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 3, 9] 153s returns [1, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 5] 153s returns [1, 3, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 6] 153s returns [1, 3, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 7] 153s returns [1, 3, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 8] 153s returns [1, 3, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 4, 9] 153s returns [1, 3, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 6] 153s returns [1, 3, 4, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 7] 153s returns [1, 3, 4, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 8] 153s returns [1, 3, 4, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 5, 9] 153s returns [1, 3, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 7] 153s returns [1, 3, 4, 5, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 8] 153s returns [1, 3, 4, 5, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 6, 9] 153s returns [1, 3, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 8] 153s returns [1, 3, 4, 5, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 7, 9] 153s returns [1, 3, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [2, 8, 9] 153s returns [1, 3, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 5] 153s returns [1, 2, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 6] 153s returns [1, 2, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 7] 153s returns [1, 2, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 8] 153s returns [1, 2, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 4, 9] 153s returns [1, 2, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 6] 153s returns [1, 2, 4, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 7] 153s returns [1, 2, 4, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 8] 153s returns [1, 2, 4, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 5, 9] 153s returns [1, 2, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 7] 153s returns [1, 2, 4, 5, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 8] 153s returns [1, 2, 4, 5, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 6, 9] 153s returns [1, 2, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 8] 153s returns [1, 2, 4, 5, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 7, 9] 153s returns [1, 2, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [3, 8, 9] 153s returns [1, 2, 4, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 6] 153s returns [1, 2, 3, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 7] 153s returns [1, 2, 3, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 8] 153s returns [1, 2, 3, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 5, 9] 153s returns [1, 2, 3, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 7] 153s returns [1, 2, 3, 5, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 8] 153s returns [1, 2, 3, 5, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 6, 9] 153s returns [1, 2, 3, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 8] 153s returns [1, 2, 3, 5, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 7, 9] 153s returns [1, 2, 3, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [4, 8, 9] 153s returns [1, 2, 3, 5, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 7] 153s returns [1, 2, 3, 4, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 8] 153s returns [1, 2, 3, 4, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 6, 9] 153s returns [1, 2, 3, 4, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 8] 153s returns [1, 2, 3, 4, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 7, 9] 153s returns [1, 2, 3, 4, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [5, 8, 9] 153s returns [1, 2, 3, 4, 6, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 8] 153s returns [1, 2, 3, 4, 5, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 7, 9] 153s returns [1, 2, 3, 4, 5, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [6, 8, 9] 153s returns [1, 2, 3, 4, 5, 7] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9], when deleting [7, 8, 9] 153s returns [1, 2, 3, 4, 5, 6] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 3] 153s returns [4, 5, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 4] 153s returns [3, 5, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 5] 153s returns [3, 4, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 6] 153s returns [3, 4, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 7] 153s returns [3, 4, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 8] 153s returns [3, 4, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 9] 153s returns [3, 4, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 2, 10] 153s returns [3, 4, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 4] 153s returns [2, 5, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 5] 153s returns [2, 4, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 6] 153s returns [2, 4, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 7] 153s returns [2, 4, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 8] 153s returns [2, 4, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 9] 153s returns [2, 4, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 3, 10] 153s returns [2, 4, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 5] 153s returns [2, 3, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 6] 153s returns [2, 3, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 7] 153s returns [2, 3, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 8] 153s returns [2, 3, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 9] 153s returns [2, 3, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 4, 10] 153s returns [2, 3, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 6] 153s returns [2, 3, 4, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 7] 153s returns [2, 3, 4, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 8] 153s returns [2, 3, 4, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 9] 153s returns [2, 3, 4, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 5, 10] 153s returns [2, 3, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 7] 153s returns [2, 3, 4, 5, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 8] 153s returns [2, 3, 4, 5, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 9] 153s returns [2, 3, 4, 5, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 6, 10] 153s returns [2, 3, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 8] 153s returns [2, 3, 4, 5, 6, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 9] 153s returns [2, 3, 4, 5, 6, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 7, 10] 153s returns [2, 3, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 9] 153s returns [2, 3, 4, 5, 6, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 8, 10] 153s returns [2, 3, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [1, 9, 10] 153s returns [2, 3, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 4] 153s returns [1, 5, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 5] 153s returns [1, 4, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 6] 153s returns [1, 4, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 7] 153s returns [1, 4, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 8] 153s returns [1, 4, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 9] 153s returns [1, 4, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 3, 10] 153s returns [1, 4, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 5] 153s returns [1, 3, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 6] 153s returns [1, 3, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 7] 153s returns [1, 3, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 8] 153s returns [1, 3, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 9] 153s returns [1, 3, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 4, 10] 153s returns [1, 3, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 6] 153s returns [1, 3, 4, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 7] 153s returns [1, 3, 4, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 8] 153s returns [1, 3, 4, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 9] 153s returns [1, 3, 4, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 5, 10] 153s returns [1, 3, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 7] 153s returns [1, 3, 4, 5, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 8] 153s returns [1, 3, 4, 5, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 9] 153s returns [1, 3, 4, 5, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 6, 10] 153s returns [1, 3, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 8] 153s returns [1, 3, 4, 5, 6, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 9] 153s returns [1, 3, 4, 5, 6, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 7, 10] 153s returns [1, 3, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 9] 153s returns [1, 3, 4, 5, 6, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 8, 10] 153s returns [1, 3, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [2, 9, 10] 153s returns [1, 3, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 5] 153s returns [1, 2, 6, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 6] 153s returns [1, 2, 5, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 7] 153s returns [1, 2, 5, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 8] 153s returns [1, 2, 5, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 9] 153s returns [1, 2, 5, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 4, 10] 153s returns [1, 2, 5, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 6] 153s returns [1, 2, 4, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 7] 153s returns [1, 2, 4, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 8] 153s returns [1, 2, 4, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 9] 153s returns [1, 2, 4, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 5, 10] 153s returns [1, 2, 4, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 7] 153s returns [1, 2, 4, 5, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 8] 153s returns [1, 2, 4, 5, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 9] 153s returns [1, 2, 4, 5, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 6, 10] 153s returns [1, 2, 4, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 8] 153s returns [1, 2, 4, 5, 6, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 9] 153s returns [1, 2, 4, 5, 6, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 7, 10] 153s returns [1, 2, 4, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 9] 153s returns [1, 2, 4, 5, 6, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 8, 10] 153s returns [1, 2, 4, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [3, 9, 10] 153s returns [1, 2, 4, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 6] 153s returns [1, 2, 3, 7, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 7] 153s returns [1, 2, 3, 6, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 8] 153s returns [1, 2, 3, 6, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 9] 153s returns [1, 2, 3, 6, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 5, 10] 153s returns [1, 2, 3, 6, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 7] 153s returns [1, 2, 3, 5, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 8] 153s returns [1, 2, 3, 5, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 9] 153s returns [1, 2, 3, 5, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 6, 10] 153s returns [1, 2, 3, 5, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 8] 153s returns [1, 2, 3, 5, 6, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 9] 153s returns [1, 2, 3, 5, 6, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 7, 10] 153s returns [1, 2, 3, 5, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 9] 153s returns [1, 2, 3, 5, 6, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 8, 10] 153s returns [1, 2, 3, 5, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [4, 9, 10] 153s returns [1, 2, 3, 5, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 7] 153s returns [1, 2, 3, 4, 8, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 8] 153s returns [1, 2, 3, 4, 7, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 9] 153s returns [1, 2, 3, 4, 7, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 6, 10] 153s returns [1, 2, 3, 4, 7, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 8] 153s returns [1, 2, 3, 4, 6, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 9] 153s returns [1, 2, 3, 4, 6, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 7, 10] 153s returns [1, 2, 3, 4, 6, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 9] 153s returns [1, 2, 3, 4, 6, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 8, 10] 153s returns [1, 2, 3, 4, 6, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [5, 9, 10] 153s returns [1, 2, 3, 4, 6, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 8] 153s returns [1, 2, 3, 4, 5, 9, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 9] 153s returns [1, 2, 3, 4, 5, 8, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 7, 10] 153s returns [1, 2, 3, 4, 5, 8, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 9] 153s returns [1, 2, 3, 4, 5, 7, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 8, 10] 153s returns [1, 2, 3, 4, 5, 7, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [6, 9, 10] 153s returns [1, 2, 3, 4, 5, 7, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 9] 153s returns [1, 2, 3, 4, 5, 6, 10] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 8, 10] 153s returns [1, 2, 3, 4, 5, 6, 9] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [7, 9, 10] 153s returns [1, 2, 3, 4, 5, 6, 8] 153s on [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], when deleting [8, 9, 10] 153s returns [1, 2, 3, 4, 5, 6, 7] 153s #delete? 153s with an existing value 153s preserves the original 153s returns a copy with the remaining values 153s with a non-existing value 153s preserves the original values 153s returns false 153s 153s Immutable::SortedSet 153s #difference 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns [] 153s for ["A", "B", "C"] and ["B"] 153s returns ["A", "C"] 153s for ["A", "B", "C"] and ["A", "C"] 153s returns ["B"] 153s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 153s returns ["A", "C", "D"] 153s #subtract 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns [] 153s for ["A", "B", "C"] and ["B"] 153s returns ["A", "C"] 153s for ["A", "B", "C"] and ["A", "C"] 153s returns ["B"] 153s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 153s returns ["A", "C", "D"] 153s #- 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns [] 153s for ["A", "B", "C"] and ["B"] 153s returns ["A", "C"] 153s for ["A", "B", "C"] and ["A", "C"] 153s returns ["B"] 153s for ["A", "B", "C", "D", "E", "F"] and ["B", "E", "F", "G", "M", "X"] 153s returns ["A", "C", "D"] 153s 153s Immutable::SortedSet 153s #disjoint? 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["D", "E"] 153s returns true 153s for ["F", "G", "H", "I"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["D", "E", "F", "G"] and ["A", "B", "C"] 153s returns true 153s 153s Immutable::SortedSet 153s #drop 153s 0 from [] 153s preserves the original 153s returns [] 153s 10 from [] 153s preserves the original 153s returns [] 153s 10 from ["A"] 153s preserves the original 153s returns [] 153s 0 from ["A", "B", "C"] 153s preserves the original 153s returns ["A", "B", "C"] 153s 1 from ["A", "B", "C"] 153s preserves the original 153s returns ["B", "C"] 153s 2 from ["A", "B", "C"] 153s preserves the original 153s returns ["C"] 153s 3 from ["A", "B", "C"] 153s preserves the original 153s returns [] 153s when argument is zero 153s returns self 153s when the set has a custom order 153s maintains the custom order 153s keeps the comparator even when set is cleared 153s when called on a subclass 153s should return an instance of the subclass 153s 153s Immutable::SortedSet 153s #drop_while 153s on [] 153s with a block 153s preserves the original 153s returns [] 153s without a block 153s returns an Enumerator 153s on ["A"] 153s with a block 153s preserves the original 153s returns [] 153s without a block 153s returns an Enumerator 153s on ["A", "B", "C"] 153s with a block 153s preserves the original 153s returns ["C"] 153s without a block 153s returns an Enumerator 153s on ["A", "B", "C", "D", "E", "F", "G"] 153s with a block 153s preserves the original 153s returns ["C", "D", "E", "F", "G"] 153s without a block 153s returns an Enumerator 153s 153s Immutable::SortedSet 153s #each 153s with no block 153s returns an Enumerator 153s with a block 153s returns self 153s iterates over the items in order 153s 153s Immutable::SortedSet 153s #empty? 153s on [] 153s returns true 153s on ["A"] 153s returns false 153s on ["A", "B", "C"] 153s returns false 153s .empty 153s returns the canonical empty set 153s from a subclass 153s returns an empty instance of the subclass 153s 153s Immutable::SortedSet 153s #eql? 153s when comparing to a standard set 153s returns false 153s when comparing to a arbitrary object 153s returns false 153s when comparing to an Immutable::Set 153s returns false 153s when comparing with a subclass of Immutable::SortedSet 153s returns false 153s with an empty set for each comparison 153s returns true 153s with an empty set and a set with nil 153s returns false 153s with a single item array and empty array 153s returns false 153s with matching single item array 153s returns true 153s with mismatching single item array 153s returns false 153s with a multi-item array and single item array 153s returns false 153s with matching multi-item array 153s returns true 153s with a mismatching multi-item array 153s returns true 153s with the same values, but a different sort order 153s returns false 153s 153s Immutable::SortedSet 153s #exclusion 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns [] 153s for ["A", "B", "C"] and ["B"] 153s returns ["A", "C"] 153s for ["A", "B", "C"] and ["B", "C", "D"] 153s returns ["A", "D"] 153s for ["A", "B", "C"] and ["D", "E", "F"] 153s returns ["A", "B", "C", "D", "E", "F"] 153s #^ 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns [] 153s for ["A", "B", "C"] and ["B"] 153s returns ["A", "C"] 153s for ["A", "B", "C"] and ["B", "C", "D"] 153s returns ["A", "D"] 153s for ["A", "B", "C"] and ["D", "E", "F"] 153s returns ["A", "B", "C", "D", "E", "F"] 153s 153s Immutable::SortedSet 153s #fetch 153s gives precedence to default block over default argument if passed both 153s with no default provided 153s when the index exists 153s returns the value at the index 153s when the key does not exist 153s raises an IndexError 153s with a default value 153s when the index exists 153s returns the value at the index 153s when the index does not exist 153s returns the default value 153s with a default block 153s when the index exists 153s returns the value at the index 153s when the index does not exist 153s invokes the block with the missing index as parameter 153s 153s Immutable::SortedSet 153s #find_index 153s looking for "A" in [] without block 153s returns nil 153s looking for "A" in [] with block 153s returns nil 153s looking for nil in [] with block 153s returns nil 153s looking for "A" in ["A"] without block 153s returns 0 153s looking for "A" in ["A"] with block 153s returns 0 153s looking for "B" in ["A"] without block 153s returns nil 153s looking for "B" in ["A"] with block 153s returns nil 153s looking for nil in ["A"] with block 153s returns nil 153s looking for "A" in ["A", "B", "C"] without block 153s returns 0 153s looking for "A" in ["A", "B", "C"] with block 153s returns 0 153s looking for "B" in ["A", "B", "C"] without block 153s returns 1 153s looking for "B" in ["A", "B", "C"] with block 153s returns 1 153s looking for "C" in ["A", "B", "C"] without block 153s returns 2 153s looking for "C" in ["A", "B", "C"] with block 153s returns 2 153s looking for "D" in ["A", "B", "C"] without block 153s returns nil 153s looking for "D" in ["A", "B", "C"] with block 153s returns nil 153s looking for 1 in 0..1 without block 153s returns 1 153s looking for 1 in 0..1 with block 153s returns 1 153s looking for 5 in 0..10 without block 153s returns 5 153s looking for 5 in 0..10 with block 153s returns 5 153s looking for 10 in 0..10 without block 153s returns 10 153s looking for 10 in 0..10 with block 153s returns 10 153s looking for 2 in [2] without block 153s returns 0 153s looking for 2 in [2] with block 153s returns 0 153s looking for 2.0 in [2] without block 153s returns 0 153s looking for 2.0 in [2] with block 153s returns 0 153s looking for 2.0 in [2.0] without block 153s returns 0 153s looking for 2.0 in [2.0] with block 153s returns 0 153s looking for 2 in [2.0] without block 153s returns 0 153s looking for 2 in [2.0] with block 153s returns 0 153s #index 153s looking for "A" in [] without block 153s returns nil 153s looking for "A" in [] with block 153s returns nil 153s looking for nil in [] with block 153s returns nil 153s looking for "A" in ["A"] without block 153s returns 0 153s looking for "A" in ["A"] with block 153s returns 0 153s looking for "B" in ["A"] without block 153s returns nil 153s looking for "B" in ["A"] with block 153s returns nil 153s looking for nil in ["A"] with block 153s returns nil 153s looking for "A" in ["A", "B", "C"] without block 153s returns 0 153s looking for "A" in ["A", "B", "C"] with block 153s returns 0 153s looking for "B" in ["A", "B", "C"] without block 153s returns 1 153s looking for "B" in ["A", "B", "C"] with block 153s returns 1 153s looking for "C" in ["A", "B", "C"] without block 153s returns 2 153s looking for "C" in ["A", "B", "C"] with block 153s returns 2 153s looking for "D" in ["A", "B", "C"] without block 153s returns nil 153s looking for "D" in ["A", "B", "C"] with block 153s returns nil 153s looking for 1 in 0..1 without block 153s returns 1 153s looking for 1 in 0..1 with block 153s returns 1 153s looking for 5 in 0..10 without block 153s returns 5 153s looking for 5 in 0..10 with block 153s returns 5 153s looking for 10 in 0..10 without block 153s returns 10 153s looking for 10 in 0..10 with block 153s returns 10 153s looking for 2 in [2] without block 153s returns 0 153s looking for 2 in [2] with block 153s returns 0 153s looking for 2.0 in [2] without block 153s returns 0 153s looking for 2.0 in [2] with block 153s returns 0 153s looking for 2.0 in [2.0] without block 153s returns 0 153s looking for 2.0 in [2.0] with block 153s returns 0 153s looking for 2 in [2.0] without block 153s returns 0 153s looking for 2 in [2.0] with block 153s returns 0 153s 153s Immutable::SortedSet 153s #first 153s on [] 153s returns nil 153s on ["A"] 153s returns "A" 153s on ["A", "B", "C"] 153s returns "A" 153s on ["Z", "Y", "X"] 153s returns "X" 153s 153s Immutable::SortedSet 153s #from 153s when called without a block 153s returns a sorted set of all items equal to or greater than the argument 153s when called with a block 153s yields all the items equal to or greater than than the argument 153s on an empty set 153s returns an empty set 153s with an argument higher than all the values in the set 153s returns an empty set 153s 153s Immutable::SortedSet 153s #group_by 153s with a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 153s without a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 153s from a subclass 153s returns an Hash whose values are instances of the subclass 153s #group 153s with a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 153s without a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 153s from a subclass 153s returns an Hash whose values are instances of the subclass 153s #classify 153s with a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 153s without a block 153s on [] 153s preserves the original 153s returns [] 153s on [1] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1]}] 153s on [1, 2, 3, 4] 153s preserves the original 153s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 153s from a subclass 153s returns an Hash whose values are instances of the subclass 153s 153s Immutable::SortedSet 153s #include? 153s returns true for an existing value (1) 153s returns true for an existing value (2) 153s returns true for an existing value (3) 153s returns true for an existing value (4.0) 153s returns false for a non-existing value 153s uses #<=> for equality 153s #member? 153s returns true for an existing value (1) 153s returns true for an existing value (2) 153s returns true for an existing value (3) 153s returns true for an existing value (4.0) 153s returns false for a non-existing value 153s uses #<=> for equality 153s 153s Immutable::SortedSet 153s #inspect 153s on [] 153s returns "Immutable::SortedSet[]" 153s returns a string which can be eval'd to get an equivalent set 153s on ["A"] 153s returns "Immutable::SortedSet[\"A\"]" 153s returns a string which can be eval'd to get an equivalent set 153s on ["C", "B", "A"] 153s returns "Immutable::SortedSet[\"A\", \"B\", \"C\"]" 153s returns a string which can be eval'd to get an equivalent set 153s from a subclass 153s returns a programmer-readable representation of the set contents 153s returns a string which can be eval'd to get an equivalent set 153s 153s Immutable::SortedSet 153s #intersect? 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["D", "E"] 153s returns false 153s for ["F", "G", "H", "I"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["D", "E", "F", "G"] and ["A", "B", "C"] 153s returns false 153s 153s Immutable::SortedSet 153s #intersection 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns [] 153s for [] and ["A"] 153s returns [] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and ["B"] 153s returns ["B"] 153s for ["B"] and ["A", "B", "C"] 153s returns ["B"] 153s for ["A", "B", "C"] and ["A", "C"] 153s returns ["A", "C"] 153s for ["A", "C"] and ["A", "B", "C"] 153s returns ["A", "C"] 153s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 153s returns ["M", "T"] 153s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 153s returns ["M", "T"] 153s #& 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns [] 153s for [] and ["A"] 153s returns [] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and ["B"] 153s returns ["B"] 153s for ["B"] and ["A", "B", "C"] 153s returns ["B"] 153s for ["A", "B", "C"] and ["A", "C"] 153s returns ["A", "C"] 153s for ["A", "C"] and ["A", "B", "C"] 153s returns ["A", "C"] 153s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 153s returns ["M", "T"] 153s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 153s returns ["M", "T"] 153s 153s Immutable::SortedSet 153s #last 153s with an empty set 153s returns the last item 153s with a single item set 153s returns the last item 153s with a multi-item set 153s returns the last item 153s 153s Immutable::SortedSet 153s #map 153s when empty 153s returns self 153s when not empty 153s with a block 153s preserves the original values 153s returns a new set with the mapped values 153s filters out duplicates 153s with no block 153s returns an Enumerator 153s on a set ordered by a comparator 153s returns a new set with the mapped values 153s filters out duplicates 153s #collect 153s when empty 153s returns self 153s when not empty 153s with a block 153s preserves the original values 153s returns a new set with the mapped values 153s filters out duplicates 153s with no block 153s returns an Enumerator 153s on a set ordered by a comparator 153s returns a new set with the mapped values 153s filters out duplicates 153s 153s Immutable::SortedSet 153s #marshal_dump/#marshal_load 153s can survive dumping and loading into a new process 153s is still possible to find items by index after loading 153s raises a TypeError if set has a custom sort order 153s 153s Immutable::SortedSet 153s #max 153s with a block 153s on [] 153s returns nil 153s on ["A"] 153s returns "A" 153s on ["Ichi", "Ni", "San"] 153s returns "Ichi" 153s without a block 153s on [] 153s returns nil 153s on ["A"] 153s returns "A" 153s on ["Ichi", "Ni", "San"] 153s returns "San" 153s 153s Immutable::SortedSet 153s #min 153s on [] 153s returns nil 153s on ["A"] 153s returns "A" 153s on ["Ichi", "Ni", "San"] 153s returns "Ichi" 153s on [1, 2, 3, 4, 5] 153s returns 1 153s on [0, -0.0, 2.2, -4, -4.2] 153s returns -4.2 153s 153s Immutable::SortedSet 153s .new 153s accepts a single enumerable argument and creates a new sorted set 153s also works with a Range 153s doesn't mutate the initializer 153s doesn't change if the initializer is later mutated 153s is amenable to overriding of #initialize 153s accepts a block with arity 1 153s accepts a block with arity 2 153s can use a block produced by Symbol#to_proc 153s filters out duplicates 153s when passed a comparator with arity 2 153s still filters out duplicates 153s still doesn't mutate the initializer 153s still doesn't change if the initializer is later mutated 153s when passed a block with arity 1 153s still filters out duplicates 153s still doesn't mutate the initializer 153s still doesn't change if the initializer is later mutated 153s from a subclass 153s returns a frozen instance of the subclass 153s .[] 153s accepts a variable number of items and creates a new sorted set 153s filters out duplicate items 153s 153s Immutable::SortedSet 153s #reverse_each 153s with no block 153s returns an Enumerator 153s with a block 153s returns self 153s iterates over the items in order 153s 153s Immutable::SortedSet 153s #sample 153s returns a randomly chosen item 153s 153s Immutable::SortedSet 153s #select 153s when everything matches 153s preserves the original 153s returns self 153s when only some things match 153s with a block 153s preserves the original 153s returns a set with the matching values 153s with no block 153s returns an Enumerator 153s when nothing matches 153s preserves the original 153s returns the canonical empty set 153s from a subclass 153s returns an instance of the same class 153s #find_all 153s when everything matches 153s preserves the original 153s returns self 153s when only some things match 153s with a block 153s preserves the original 153s returns a set with the matching values 153s with no block 153s returns an Enumerator 153s when nothing matches 153s preserves the original 153s returns the canonical empty set 153s from a subclass 153s returns an instance of the same class 153s 153s Immutable::SortedSet 153s #size 153s returns 0 for [] 153s returns 1 for ["A"] 153s returns 3 for ["A", "B", "C"] 153s #length 153s returns 0 for [] 153s returns 1 for ["A"] 153s returns 3 for ["A", "B", "C"] 153s 153s Immutable::SortedSet 153s #slice 153s when passed a positive integral index 153s returns the element at that index 153s leaves the original unchanged 153s when passed a negative integral index 153s returns the element which is number (index.abs) counting from the end of the sorted_set 153s when passed a positive integral index and count 153s returns 'count' elements starting from 'index' 153s leaves the original unchanged 153s when passed a negative integral index and count 153s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 153s when passed a Range 153s returns the elements whose indexes are within the given Range 153s leaves the original unchanged 153s when passed an empty Range 153s does not lose custom sort order 153s when passed a length of zero 153s does not lose custom sort order 153s when passed a subclass of Range 153s works the same as with a Range 153s on a subclass of SortedSet 153s with index and count or a range, returns an instance of the subclass 153s #[] 153s when passed a positive integral index 153s returns the element at that index 153s leaves the original unchanged 153s when passed a negative integral index 153s returns the element which is number (index.abs) counting from the end of the sorted_set 153s when passed a positive integral index and count 153s returns 'count' elements starting from 'index' 153s leaves the original unchanged 153s when passed a negative integral index and count 153s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 153s when passed a Range 153s returns the elements whose indexes are within the given Range 153s leaves the original unchanged 153s when passed an empty Range 153s does not lose custom sort order 153s when passed a length of zero 153s does not lose custom sort order 153s when passed a subclass of Range 153s works the same as with a Range 153s on a subclass of SortedSet 153s with index and count or a range, returns an instance of the subclass 153s 153s Immutable::SortedSet 153s #sort 153s on [] 153s with a block 153s preserves the original 153s returns [] 153s without a block 153s preserves the original 153s returns [] 153s on ["A"] 153s with a block 153s preserves the original 153s returns ["A"] 153s without a block 153s preserves the original 153s returns ["A"] 153s on ["Ichi", "Ni", "San"] 153s with a block 153s preserves the original 153s returns ["Ni", "San", "Ichi"] 153s without a block 153s preserves the original 153s returns ["Ichi", "Ni", "San"] 153s #sort_by 153s on [] 153s with a block 153s preserves the original 153s returns [] 153s without a block 153s preserves the original 153s returns [] 153s on ["A"] 153s with a block 153s preserves the original 153s returns ["A"] 153s without a block 153s preserves the original 153s returns ["A"] 153s on ["Ichi", "Ni", "San"] 153s with a block 153s preserves the original 153s returns ["Ni", "San", "Ichi"] 153s without a block 153s preserves the original 153s returns ["Ichi", "Ni", "San"] 153s sort 153s on a SortedSet with custom sort order 153s returns a SortedSet with the natural sort order 153s 153s Immutable::SortedSet 153s #subset? 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s #proper_subset? 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns false 153s for [] and ["A"] 153s returns true 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns false 153s for ["B"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "C"] 153s returns false 153s for ["A", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns true 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns false 153s 153s Immutable::SortedSet 153s #superset? 153s for [] and [] 153s returns true 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns true 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns true 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s #proper_superset? 153s for [] and [] 153s returns false 153s for ["A"] and [] 153s returns true 153s for [] and ["A"] 153s returns false 153s for ["A"] and ["A"] 153s returns false 153s for ["A", "B", "C"] and ["B"] 153s returns true 153s for ["B"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "C"] 153s returns true 153s for ["A", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C"] 153s returns false 153s for ["A", "B", "C"] and ["A", "B", "C", "D"] 153s returns false 153s for ["A", "B", "C", "D"] and ["A", "B", "C"] 153s returns true 153s 153s Immutable::SortedSet 153s #take 153s 10 from [] 153s preserves the original 153s returns [] 153s 10 from ["A"] 153s preserves the original 153s returns ["A"] 153s 0 from ["A", "B", "C"] 153s preserves the original 153s returns [] 153s 2 from ["A", "B", "C"] 153s preserves the original 153s returns ["A", "B"] 153s when argument is at least size of receiver 153s returns self 153s when the set has a custom order 153s maintains the custom order 153s keeps the comparator even when set is cleared 153s when called on a subclass 153s should return an instance of the subclass 153s 153s Immutable::SortedSet 153s #take_while 153s on [] 153s with a block 153s returns [] 153s preserves the original 153s without a block 153s returns an Enumerator 153s on ["A"] 153s with a block 153s returns ["A"] 153s preserves the original 153s without a block 153s returns an Enumerator 153s on ["A", "B", "C"] 153s with a block 153s returns ["A", "B"] 153s preserves the original 153s without a block 153s returns an Enumerator 153s 153s Immutable::SortedSet 153s #to_set 153s on [] 153s returns a set with the same values 153s on ["A"] 153s returns a set with the same values 153s on ["A", "B", "C"] 153s returns a set with the same values 153s 153s Immutable::SortedSet 153s #union 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for [] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"] 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"] 153s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s #| 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for [] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"] 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"] 153s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s #+ 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for [] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"] 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"] 153s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s #merge 153s for [] and [] 153s returns [] 153s for [] and [] 153s returns [] 153s for ["A"] and [] 153s returns ["A"] 153s for [] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A"] and ["A"] 153s returns ["A"] 153s for ["A", "B", "C"] and [] 153s returns ["A", "B", "C"] 153s for [] and ["A", "B", "C"] 153s returns ["A", "B", "C"] 153s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 153s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 153s union 153s filters out duplicates when passed an Array 153s doesn't mutate an Array which is passed in 153s on a set ordered by a comparator 153s still filters out duplicates when passed an Array 153s still doesn't mutate an Array which is passed in 153s 153s Immutable::SortedSet 153s #up_to 153s when called without a block 153s returns a sorted set of all items equal to or less than the argument 153s when called with a block 153s yields all the items equal to or less than than the argument 153s on an empty set 153s returns an empty set 153s with an argument less than all the values in the set 153s returns an empty set 153s 153s Immutable::SortedSet 153s .uniq_by_comparator! 153s can handle empty arrays 153s can handle arrays with 1 element 153s can handle arrays with 2 elements and no dupes 153s can handle arrays with 2 elements and dupes 153s can handle arrays with lots of elements 153s works with funny comparators 153s 153s Immutable::SortedSet 153s #values_at 153s accepts any number of indices, and returns a sorted_set of items at those indices 153s when passed invalid indices 153s filters them out 153s when passed no arguments 153s returns an empty sorted_set 153s from a subclass 153s returns an instance of the subclass 153s 153s Immutable::Vector 153s #add 153s with a empty vector adding a single item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a duplicate item 153s preserves the original 153s adds the item to the vector 153s with a 31-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 32-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 33-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1023-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1024-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1025-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s from a subclass 153s returns an instance of the subclass 153s #<< 153s with a empty vector adding a single item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a duplicate item 153s preserves the original 153s adds the item to the vector 153s with a 31-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 32-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 33-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1023-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1024-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1025-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s from a subclass 153s returns an instance of the subclass 153s #push 153s with a empty vector adding a single item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a single-item vector adding a duplicate item 153s preserves the original 153s adds the item to the vector 153s with a 31-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 32-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 33-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1023-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1024-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s with a 1025-item vector adding a different item 153s preserves the original 153s adds the item to the vector 153s from a subclass 153s returns an instance of the subclass 153s 153s Immutable::Vector 153s #any? 153s when created with no values 153s with a block 153s returns false 153s with a block 153s returns false 153s when created with values 153s with a block that returns true 153s returns true 153s with a block that doesn't return true 153s returns false 153s without a block 153s with some values that are truthy 153s returns true 153s with all values that are falsey 153s returns false 153s 153s Immutable::Vector 153s #assoc 153s searches for a 2-element array with a given 1st item 153s returns nil if a matching 1st item is not found 153s uses #== to compare 1st items with provided object 153s skips elements which are not indexable 153s #rassoc 153s searches for a 2-element array with a given 2nd item 153s returns nil if a matching 2nd item is not found 153s uses #== to compare 2nd items with provided object 153s skips elements which are not indexable 153s 153s Immutable::Vector 153s #bsearch 153s with a block which returns false for elements below desired position, and true for those at/above 153s returns the first element for which the predicate is true 153s if the block always returns false 153s returns nil 153s if the block always returns true 153s returns the first element 153s with a block which returns a negative number for elements below desired position, zero for the right element, and positive for those above 153s returns the element for which the block returns zero 153s if the block always returns positive 153s returns nil 153s if the block always returns negative 153s returns nil 153s if the block returns sometimes positive, sometimes negative, but never zero 153s returns nil 153s if not passed a block 153s returns an Enumerator 153s on an empty vector 153s returns nil 153s 153s Immutable::Vector 153s #clear 153s on [] 153s preserves the original 153s returns an empty vector 153s from a subclass 153s returns an instance of the subclass 153s on ["A"] 153s preserves the original 153s returns an empty vector 153s from a subclass 153s returns an instance of the subclass 153s on ["A", "B", "C"] 153s preserves the original 153s returns an empty vector 153s from a subclass 153s returns an instance of the subclass 153s 153s Immutable::Vector 153s #combination 153s works on many combinations of input 153s leaves the original unmodified 153s with a block 153s returns self 153s with no block 153s returns an Enumerator 153s when passed an argument which is out of bounds 153s yields nothing and returns self 153s when passed an argument zero 153s yields an empty array 153s when passed an argument equal to the vector's length 153s yields self as an array 153s when passed an argument 1 153s yields each item in the vector, as single-item vectors 153s when passed another integral argument 153s yields all combinations of the given length 153s on an empty vector 153s works the same 153s 153s Immutable::Vector 153s #compact 153s returns a new Vector with all nils removed 153s doesn't remove false 153s on an empty vector 153s returns self 153s from a subclass 153s returns an instance of the subclass 153s 153s Immutable::Vector 153s #<=> 153s with [] and [1] 153s returns -1 153s with [1] and [] 153s returns 1 153s with [] and [] 153s returns 0 153s with [1] and [2] 153s returns -1 153s with [2] and [1] 153s returns 1 153s with [1] and [1] 153s returns 0 153s with [1] and [1, 2] 153s returns -1 153s with [1, 2] and [1] 153s returns 1 153s with [1] and [1] 153s returns 0 153s with [2, 3, 4] and [3, 4, 5] 153s returns -1 153s with [3, 4, 5] and [2, 3, 4] 153s returns 1 153s with [2, 3, 4] and [2, 3, 4] 153s returns 0 153s with [[0]] and [[1]] 153s returns -1 153s with [[1]] and [[0]] 153s returns 1 153s with [[0]] and [[0]] 154s returns 0 154s 154s Immutable::Vector 154s #+ 154s preserves the original 154s appends the elements in the other enumerable 154s on a 1-item vector 154s works the same 154s on a 31-item vector 154s works the same 154s on a 32-item vector 154s works the same 154s on a 33-item vector 154s works the same 154s on a 1023-item vector 154s works the same 154s on a 1024-item vector 154s works the same 154s on a 1025-item vector 154s works the same 154s #concat 154s preserves the original 154s appends the elements in the other enumerable 154s on a 1-item vector 154s works the same 154s on a 31-item vector 154s works the same 154s on a 32-item vector 154s works the same 154s on a 33-item vector 154s works the same 154s on a 1023-item vector 154s works the same 154s on a 1024-item vector 154s works the same 154s on a 1025-item vector 154s works the same 154s 154s Immutable::Vector 154s on [] 154s returns self 154s on ["A"] 154s returns self 154s on ["A", "B", "C"] 154s returns self 154s on 1..32 154s returns self 154s on [] 154s returns self 154s on ["A"] 154s returns self 154s on ["A", "B", "C"] 154s returns self 154s on 1..32 154s returns self 154s 154s Immutable::Vector 154s #count 154s returns the number of elements 154s returns the number of elements that equal the argument 154s returns the number of element for which the block evaluates to true 154s 154s Immutable::Vector 154s #delete_at 154s removes the element at the specified index 154s makes no modification if the index is out of range 154s works when deleting last item at boundary where vector trie needs to get shallower 154s works on an empty vector 154s works on a vector with 1 item 154s works on a vector with 32 items 154s has the right size and contents after many deletions 154s 154s Immutable::Vector 154s #delete 154s removes elements that are #== to the argument 154s on an empty vector 154s returns self 154s on a subclass of Vector 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #dig 154s returns value at the index with one argument 154s returns value at index in nested arrays 154s raises an error when indexing deeper than possible 154s returns nil if you index past the end of an array 154s raises an error when indexing with a key vectors don't understand 154s 154s Immutable::Vector 154s #drop 154s raises an ArgumentError if number of elements specified is negative 154s 10 from [] 154s preserves the original 154s returns [] 154s 10 from ["A"] 154s preserves the original 154s returns [] 154s 1 from ["A"] 154s preserves the original 154s returns [] 154s 0 from ["A"] 154s preserves the original 154s returns ["A"] 154s 0 from ["A", "B", "C"] 154s preserves the original 154s returns ["A", "B", "C"] 154s 2 from ["A", "B", "C"] 154s preserves the original 154s returns ["C"] 154s 3 from 1..32 154s preserves the original 154s returns 4..32 154s 32 from 1..33 154s preserves the original 154s returns [33] 154s when number of elements specified is zero 154s returns self 154s 154s Immutable::Vector 154s #drop_while 154s returns an empty vector if block is always true 154s stops dropping items if block returns nil 154s stops dropping items if block returns false 154s on [] 154s with a block 154s preserves the original 154s returns [] 154s without a block 154s returns an Enumerator 154s on ["A"] 154s with a block 154s preserves the original 154s returns [] 154s without a block 154s returns an Enumerator 154s on ["A", "B", "C"] 154s with a block 154s preserves the original 154s returns ["C"] 154s without a block 154s returns an Enumerator 154s on an empty vector 154s returns an empty vector 154s 154s Immutable::Vector 154s #each_index 154s with a block 154s yields all the valid indices into the vector 154s returns self 154s without a block 154s returns an Enumerator 154s on an empty vector 154s doesn't yield anything 154s on a 1-item vector 154s yields all valid indices 154s on a 2-item vector 154s yields all valid indices 154s on a 10-item vector 154s yields all valid indices 154s on a 31-item vector 154s yields all valid indices 154s on a 32-item vector 154s yields all valid indices 154s on a 33-item vector 154s yields all valid indices 154s on a 1000-item vector 154s yields all valid indices 154s on a 1024-item vector 154s yields all valid indices 154s on a 1025-item vector 154s yields all valid indices 154s 154s Immutable::Vector 154s #each 154s with no block 154s returns an Enumerator 154s on a 31-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on a 32-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on a 33-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on a 1023-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on a 1024-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on a 1025-item vector 154s with a block 154s returns self 154s yields all the items 154s iterates over the items in order 154s on an empty vector 154s doesn't yield anything 154s 154s Immutable::Vector 154s #each_with_index 154s with no block 154s returns an Enumerator 154s on a 1-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 2-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 31-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 32-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 33-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 1023-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 1024-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on a 1025-item vector 154s with a block 154s returns self 154s iterates over the items in order 154s on an empty vector 154s doesn't yield anything 154s 154s Immutable::Vector 154s #empty? 154s on [] 154s returns true 154s on ["A"] 154s returns false 154s on ["A", "B", "C"] 154s returns false 154s .empty 154s returns the canonical empty vector 154s from a subclass 154s returns an empty instance of the subclass 154s calls overridden #initialize when creating empty Hash 154s 154s Immutable::Vector 154s #eql 154s returns false when comparing with an array with the same contents 154s returns false when comparing with an arbitrary object 154s returns false when comparing an empty vector with an empty array 154s returns false when comparing with a subclass of Immutable::Vector 154s #== 154s returns true when comparing with an array with the same contents 154s returns false when comparing with an arbitrary object 154s returns true when comparing an empty vector with an empty array 154s returns true when comparing with a subclass of Immutable::Vector 154s works on larger vectors 154s #eql? 154s returns true 154s for vectors [] and [] 154s for vectors [] and [] 154s returns false 154s for vectors [] and [nil] 154s for vectors [nil] and [] 154s returns false 154s for vectors ["A"] and [] 154s for vectors [] and ["A"] 154s returns true 154s for vectors ["A"] and ["A"] 154s for vectors ["A"] and ["A"] 154s returns false 154s for vectors ["A"] and ["B"] 154s for vectors ["B"] and ["A"] 154s returns false 154s for vectors ["A", "B"] and ["A"] 154s for vectors ["A"] and ["A", "B"] 154s returns true 154s for vectors ["A", "B", "C"] and ["A", "B", "C"] 154s for vectors ["A", "B", "C"] and ["A", "B", "C"] 154s returns false 154s for vectors ["C", "A", "B"] and ["A", "B", "C"] 154s for vectors ["A", "B", "C"] and ["C", "A", "B"] 154s #== 154s returns true 154s for vectors [] and [] 154s for vectors [] and [] 154s returns false 154s for vectors [] and [nil] 154s for vectors [nil] and [] 154s returns false 154s for vectors ["A"] and [] 154s for vectors [] and ["A"] 154s returns true 154s for vectors ["A"] and ["A"] 154s for vectors ["A"] and ["A"] 154s returns false 154s for vectors ["A"] and ["B"] 154s for vectors ["B"] and ["A"] 154s returns false 154s for vectors ["A", "B"] and ["A"] 154s for vectors ["A"] and ["A", "B"] 154s returns true 154s for vectors ["A", "B", "C"] and ["A", "B", "C"] 154s for vectors ["A", "B", "C"] and ["A", "B", "C"] 154s returns false 154s for vectors ["C", "A", "B"] and ["A", "B", "C"] 154s for vectors ["A", "B", "C"] and ["C", "A", "B"] 154s 154s Immutable::Vector 154s #fetch 154s gives precedence to default block over default argument if passed both 154s with no default provided 154s when the index exists 154s returns the value at the index 154s when the key does not exist 154s raises an IndexError 154s with a default value 154s when the index exists 154s returns the value at the index 154s when the index does not exist 154s returns the default value 154s with a default block 154s when the index exists 154s returns the value at the index 154s when the index does not exist 154s invokes the block with the missing index as parameter 154s 154s Immutable::Vector 154s #fill 154s can replace a range of items at the beginning of a vector 154s can replace a range of items in the middle of a vector 154s can replace a range of items at the end of a vector 154s can replace all the items in a vector 154s can fill past the end of the vector 154s behaves like Array#fill, on a variety of inputs 154s with 1 argument 154s replaces all the items in the vector by default 154s with 2 arguments 154s replaces up to the end of the vector by default 154s when index and length are 0 154s leaves the vector unmodified 154s when expanding a vector past boundary where vector trie needs to deepen 154s works the same 154s on a 1000-item vector 154s works the same 154s on a 1023-item vector 154s works the same 154s on a 1024-item vector 154s works the same 154s on a 1025-item vector 154s works the same 154s on a 2000-item vector 154s works the same 154s 154s Immutable::Vector 154s #first 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["A", "B", "C"] 154s returns "A" 154s on 1..32 154s returns 1 154s 154s Immutable::Vector 154s #flat_map 154s with an empty vector 154s returns the flattened values as an Immutable::Vector 154s returns an Immutable::Vector 154s with a block that returns an empty vector 154s returns the flattened values as an Immutable::Vector 154s returns an Immutable::Vector 154s with a vector of one item 154s returns the flattened values as an Immutable::Vector 154s returns an Immutable::Vector 154s with a vector of multiple items 154s returns the flattened values as an Immutable::Vector 154s returns an Immutable::Vector 154s 154s Immutable::Vector 154s #flatten 154s recursively flattens nested vectors into containing vector 154s flattens nested arrays as well 154s leaves the original unmodified 154s with an integral argument 154s only flattens down to the specified depth 154s with an argument of zero 154s returns self 154s on a subclass 154s returns an instance of the subclass 154s on a vector with no nested vectors 154s returns an unchanged vector 154s on a Vector larger than 32 items initialized with Vector.new 154s returns an unchanged vector 154s 154s Immutable::Vector 154s #get 154s when empty 154s always returns nil 154s when not empty 154s with a positive index 154s within the absolute bounds of the vector 154s returns the value at the specified index from the head 154s outside the absolute bounds of the vector 154s returns nil 154s with a negative index 154s within the absolute bounds of the vector 154s returns the value at the specified index from the tail 154s outside the absolute bounds of the vector 154s returns nil 154s on a 1-item vector 154s works correctly, even after various addings and removings 154s on a 10-item vector 154s works correctly, even after various addings and removings 154s on a 31-item vector 154s works correctly, even after various addings and removings 154s on a 32-item vector 154s works correctly, even after various addings and removings 154s on a 33-item vector 154s works correctly, even after various addings and removings 154s on a 1024-item vector 154s works correctly, even after various addings and removings 154s on a 1025-item vector 154s works correctly, even after various addings and removings 154s on a 2000-item vector 154s works correctly, even after various addings and removings 154s #at 154s when empty 154s always returns nil 154s when not empty 154s with a positive index 154s within the absolute bounds of the vector 154s returns the value at the specified index from the head 154s outside the absolute bounds of the vector 154s returns nil 154s with a negative index 154s within the absolute bounds of the vector 154s returns the value at the specified index from the tail 154s outside the absolute bounds of the vector 154s returns nil 154s on a 1-item vector 154s works correctly, even after various addings and removings 154s on a 10-item vector 154s works correctly, even after various addings and removings 154s on a 31-item vector 154s works correctly, even after various addings and removings 154s on a 32-item vector 154s works correctly, even after various addings and removings 154s on a 33-item vector 154s works correctly, even after various addings and removings 154s on a 1024-item vector 154s works correctly, even after various addings and removings 154s on a 1025-item vector 154s works correctly, even after various addings and removings 154s on a 2000-item vector 154s works correctly, even after various addings and removings 154s 154s Immutable::Vector 154s #group_by 154s returns a hash without default proc 154s with a block 154s on [] 154s returns [] 154s on [1] 154s returns [{true=>Immutable::Vector[1]}] 154s on [1, 2, 3, 4] 154s returns [{true=>Immutable::Vector[1, 3], false=>Immutable::Vector[2, 4]}] 154s without a block 154s on [] 154s returns [] 154s on [1] 154s returns [{1=>Immutable::Vector[1]}] 154s on [1, 2, 3, 4] 154s returns [{1=>Immutable::Vector[1], 2=>Immutable::Vector[2], 3=>Immutable::Vector[3], 4=>Immutable::Vector[4]}] 154s on an empty vector 154s returns an empty hash 154s from a subclass 154s returns an Hash whose values are instances of the subclass 154s 154s Immutable::Vector 154s #include? 154s on [] 154s returns false 154s on [] 154s returns false 154s on ["A"] 154s returns true 154s on ["A"] 154s returns false 154s on ["A"] 154s returns false 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns false 154s on ["A", "B", false] 154s returns true 154s on [2] 154s returns true 154s on [2] 154s returns true 154s on [2.0] 154s returns true 154s on [2.0] 154s returns true 154s #member? 154s on [] 154s returns false 154s on [] 154s returns false 154s on ["A"] 154s returns true 154s on ["A"] 154s returns false 154s on ["A"] 154s returns false 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns true 154s on ["A", "B", nil] 154s returns false 154s on ["A", "B", false] 154s returns true 154s on [2] 154s returns true 154s on [2] 154s returns true 154s on [2.0] 154s returns true 154s on [2.0] 154s returns true 154s 154s Immutable::Vector 154s #insert 154s can add items at the beginning of a vector 154s can add items in the middle of a vector 154s can add items at the end of a vector 154s can add items past the end of a vector 154s accepts a negative index, which counts back from the end of the vector 154s raises IndexError if a negative index is too great 154s works when adding an item past boundary when vector trie needs to deepen 154s works when adding to an empty Vector 154s has the right size and contents after many insertions 154s 154s Immutable::Vector 154s #inspect 154s with an empty array 154s returns its contents as a programmer-readable string 154s returns a string which can be eval'd to get back an equivalent vector 154s with a single item array 154s returns its contents as a programmer-readable string 154s returns a string which can be eval'd to get back an equivalent vector 154s with a multi-item array 154s returns its contents as a programmer-readable string 154s returns a string which can be eval'd to get back an equivalent vector 154s from a subclass 154s returns its contents as a programmer-readable string 154s returns a string which can be eval'd to get back an equivalent vector 154s 154s Immutable::Vector 154s #join 154s with a separator 154s on [] 154s preserves the original 154s returns "" 154s on ["A"] 154s preserves the original 154s returns "A" 154s on ["A", "B", "C"] 154s preserves the original 154s returns "A|B|C" 154s without a separator 154s on [] 154s preserves the original 154s returns "" 154s on ["A"] 154s preserves the original 154s returns "A" 154s on ["A", "B", "C"] 154s preserves the original 154s returns "ABC" 154s without a separator (with global default separator set) 154s on ["A", "B", "C"] 154s returns "A**B**C" 154s 154s Immutable::Vector 154s #last 154s with an empty vector 154s returns the last item 154s with a single item vector 154s returns the last item 154s with a multi-item vector 154s returns the last item 154s with a 31-item vector 154s returns the last item 154s with a 32-item vector 154s returns the last item 154s with a 33-item vector 154s returns the last item 154s with a 1023-item vector 154s returns the last item 154s with a 1024-item vector 154s returns the last item 154s with a 1025-item vector 154s returns the last item 154s 154s Immutable::Vector 154s #length 154s with an empty vector 154s returns the values 154s with a single item vector 154s returns the values 154s with a multi-item vector 154s returns the values 154s with a 31-item vector 154s returns the values 154s with a 32-item vector 154s returns the values 154s with a 33-item vector 154s returns the values 154s with a 1023-item vector 154s returns the values 154s with a 1024-item vector 154s returns the values 154s with a 1025-item vector 154s returns the values 154s 154s Immutable::Vector 154s #<< 154s with a empty array adding a single item 154s preserves the original 154s ltlts the item to the vector 154s with a single-item array adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a single-item array adding a duplicate item 154s preserves the original 154s ltlts the item to the vector 154s with a 31-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a 32-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a 33-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a 1023-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a 1024-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s with a 1025-item vector adding a different item 154s preserves the original 154s ltlts the item to the vector 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #map 154s when empty 154s returns self 154s when not empty 154s with a block 154s preserves the original values 154s returns a new vector with the mapped values 154s with no block 154s returns an Enumerator 154s from a subclass 154s returns an instance of the subclass 154s on a large vector 154s works 154s #collect 154s when empty 154s returns self 154s when not empty 154s with a block 154s preserves the original values 154s returns a new vector with the mapped values 154s with no block 154s returns an Enumerator 154s from a subclass 154s returns an instance of the subclass 154s on a large vector 154s works 154s 154s Immutable::Vector 154s #marshal_dump/#marshal_load 154s can survive dumping and loading into a new process 154s is still possible to find items by index after loading 154s 154s Immutable::Vector 154s #max 154s with a block 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["Ichi", "Ni", "San"] 154s returns "Ichi" 154s without a block 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["Ichi", "Ni", "San"] 154s returns "San" 154s 154s Immutable::Vector 154s #min 154s with a block 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["Ichi", "Ni", "San"] 154s returns "Ni" 154s without a block 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["Ichi", "Ni", "San"] 154s returns "Ichi" 154s 154s Immutable::Vector 154s #* 154s raises a TypeError if passed nil 154s raises an ArgumentError if passed no arguments 154s with a String argument 154s acts just like #join 154s with an Integer argument 154s concatenates n copies of the array 154s raises an ArgumentError if integer is negative 154s works on large vectors 154s with a subclass of Vector 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s .new 154s accepts a single enumerable argument and creates a new vector 154s makes a defensive copy of a non-frozen mutable Array passed in 154s is amenable to overriding of #initialize 154s from a subclass 154s returns a frozen instance of the subclass 154s .[] 154s accepts a variable number of items and creates a new vector 154s 154s Immutable::Vector 154s #partition 154s on [] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [1] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [1, 2] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [1, 2, 3] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [1, 2, 3, 4] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [2, 3, 4] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [3, 4] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s on [4] 154s with a block 154s preserves the original 154s returns a frozen array with two items 154s correctly identifies the matches 154s correctly identifies the remainder 154s without a block 154s returns an Enumerator 154s 154s Immutable::Vector 154s #permutation 154s handles duplicate elements correctly 154s leaves the original unmodified 154s behaves like Array#permutation 154s without a block or arguments 154s returns an Enumerator of all permutations 154s without a block, but with integral argument 154s returns an Enumerator of all permutations of given length 154s with a block 154s returns self 154s and no argument 154s yields all permutations 154s and an integral argument 154s yields all permutations of the given length 154s on an empty vector 154s yields the empty permutation 154s with an argument of zero 154s yields the empty permutation 154s with a length greater than the size of the vector 154s yields no permutations 154s 154s Immutable::Vector 154s #pop 154s on [] 154s preserves the original 154s returns [] 154s on ["A"] 154s preserves the original 154s returns [] 154s on ["A", "B", "C"] 154s preserves the original 154s returns ["A", "B"] 154s on 1..32 154s preserves the original 154s returns 1..31 154s on 1..33 154s preserves the original 154s returns 1..32 154s 154s Immutable::Vector 154s #product 154s when passed no arguments 154s multiplies all items in vector 154s when passed one or more vectors 154s when passed a block 154s yields an array for each combination of items from the vectors 154s returns self 154s when not passed a block 154s returns the cartesian product in an array 154s when one of the arguments is empty 154s returns an empty array 154s when the receiver is empty 154s returns an empty array 154s when passed one or more Arrays 154s also calculates the cartesian product correctly 154s 154s Immutable::Vector 154s #reduce 154s on [] 154s with an initial value of 10 154s and a block 154s returns 10 154s on [1] 154s with an initial value of 10 154s and a block 154s returns 9 154s on [1, 2, 3] 154s with an initial value of 10 154s and a block 154s returns 4 154s on [] 154s with no initial value 154s and a block 154s returns nil 154s on [1] 154s with no initial value 154s and a block 154s returns 1 154s on [1, 2, 3] 154s with no initial value 154s and a block 154s returns -4 154s with no block and a symbol argument 154s uses the symbol as the name of a method to reduce with 154s with no block and a string argument 154s uses the string as the name of a method to reduce with 154s #inject 154s on [] 154s with an initial value of 10 154s and a block 154s returns 10 154s on [1] 154s with an initial value of 10 154s and a block 154s returns 9 154s on [1, 2, 3] 154s with an initial value of 10 154s and a block 154s returns 4 154s on [] 154s with no initial value 154s and a block 154s returns nil 154s on [1] 154s with no initial value 154s and a block 154s returns 1 154s on [1, 2, 3] 154s with no initial value 154s and a block 154s returns -4 154s with no block and a symbol argument 154s uses the symbol as the name of a method to reduce with 154s with no block and a string argument 154s uses the string as the name of a method to reduce with 154s 154s Immutable::Vector 154s #reject 154s works with a variety of inputs 154s on [] 154s with a block 154s returns [] 154s without a block 154s returns an Enumerator 154s on ["A"] 154s with a block 154s returns ["A"] 154s without a block 154s returns an Enumerator 154s on ["A", "B", "C"] 154s with a block 154s returns ["A", "B", "C"] 154s without a block 154s returns an Enumerator 154s on ["A", "b", "C"] 154s with a block 154s returns ["A", "C"] 154s without a block 154s returns an Enumerator 154s on ["a", "b", "c"] 154s with a block 154s returns [] 154s without a block 154s returns an Enumerator 154s #delete_if 154s works with a variety of inputs 154s on [] 154s with a block 154s returns [] 154s without a block 154s returns an Enumerator 154s on ["A"] 154s with a block 154s returns ["A"] 154s without a block 154s returns an Enumerator 154s on ["A", "B", "C"] 154s with a block 154s returns ["A", "B", "C"] 154s without a block 154s returns an Enumerator 154s on ["A", "b", "C"] 154s with a block 154s returns ["A", "C"] 154s without a block 154s returns an Enumerator 154s on ["a", "b", "c"] 154s with a block 154s returns [] 154s without a block 154s returns an Enumerator 154s 154s Immutable::Vector 154s #repeated_combination 154s leaves the original unmodified 154s behaves like Array#repeated_combination 154s with no block 154s returns an Enumerator 154s with a block 154s returns self 154s with a negative argument 154s yields nothing and returns self 154s with a zero argument 154s yields an empty array 154s with a argument of 1 154s yields each item in the vector, as single-item vectors 154s on an empty vector, with an argument greater than zero 154s yields nothing 154s with a positive argument, greater than 1 154s yields all combinations of the given size (where a single element can appear more than once in a row) 154s 154s Immutable::Vector 154s #repeated_permutation 154s handles duplicate elements correctly 154s allows permutations larger than the number of elements 154s leaves the original unmodified 154s behaves like Array#repeated_permutation 154s without a block 154s and without argument 154s returns an Enumerator of all repeated permutations 154s with an integral argument 154s returns an Enumerator of all repeated permutations of the given length 154s with a block 154s returns self 154s on an empty vector 154s yields the empty permutation 154s with an argument of zero 154s yields the empty permutation 154s with no argument 154s yields all repeated permutations 154s with a positive integral argument 154s yields all repeated permutations of the given length 154s 154s Immutable::Vector 154s #reverse_each 154s on a 2-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 31-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 32-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 33-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 1000-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 1024-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 1025-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s on a 2000-item vector 154s with a block (internal iteration) 154s returns self 154s yields all items in the opposite order as #each 154s with no block 154s returns an Enumerator 154s 154s Immutable::Vector 154s #reverse 154s on [] 154s returns [] 154s on [1] 154s returns [1] 154s on [1, 2] 154s returns [2, 1] 154s 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] 154s 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] 154s 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] 154s 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] 154s 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] 154s 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] 154s 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] 154s 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] 154s 154s Immutable::Vector 154s #rindex 154s when passed an object present in the vector 154s returns the last index where the object is present 154s when passed an object not present in the vector 154s returns nil 154s with a block 154s returns the last index of an object which the predicate is true for 154s without an argument OR block 154s returns an Enumerator 154s 154s Immutable::Vector 154s #rotate 154s leaves the original unmodified 154s when passed no argument 154s returns a new vector with the first element moved to the end 154s with an integral argument n 154s returns a new vector with the first (n % size) elements moved to the end 154s with a floating-point argument n 154s coerces the argument to integer using to_int 154s with a non-numeric argument 154s raises a TypeError 154s with an argument of zero 154s returns self 154s with an argument equal to the vector's size 154s returns self 154s on a 31-item vector 154s behaves like Array#rotate 154s on a 32-item vector 154s behaves like Array#rotate 154s on a 33-item vector 154s behaves like Array#rotate 154s on a 1000-item vector 154s behaves like Array#rotate 154s on a 1023-item vector 154s behaves like Array#rotate 154s on a 1024-item vector 154s behaves like Array#rotate 154s on a 1025-item vector 154s behaves like Array#rotate 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #sample 154s returns a randomly chosen item 154s 154s Immutable::Vector 154s #select 154s works with a variety of inputs 154s with a block 154s preserves the original 154s returns a vector with the matching values 154s with no block 154s returns an Enumerator 154s when nothing matches 154s preserves the original 154s returns an empty vector 154s on an empty vector 154s returns self 154s from a subclass 154s returns an instance of the subclass 154s #find_all 154s works with a variety of inputs 154s with a block 154s preserves the original 154s returns a vector with the matching values 154s with no block 154s returns an Enumerator 154s when nothing matches 154s preserves the original 154s returns an empty vector 154s on an empty vector 154s returns self 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #set 154s when empty 154s 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.XX6Anr/build.LVO/src/spec/lib/immutable/vector/set_spec.rb:11:in `block (4 levels) in '. 154s raises an error for index -1 154s allows indexes 0 and 1 to be set 154s when not empty 154s with a block 154s and a positive index 154s within the absolute bounds of the vector 154s passes the current value to the block 154s replaces the value with the result of the block 154s supports to_proc methods 154s just past the end of the vector 154s passes nil to the block and adds a new value 154s further outside the bounds of the vector 154s passes nil to the block, fills up missing nils, and adds a new value 154s and a negative index 154s within the absolute bounds of the vector 154s passes the current value to the block 154s replaces the value with the result of the block 154s supports to_proc methods 154s outside the absolute bounds of the vector 154s 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.XX6Anr/build.LVO/src/spec/lib/immutable/vector/set_spec.rb:75:in `block (7 levels) in '. 154s raises an error 154s with a value 154s and a positive index 154s within the absolute bounds of the vector 154s preserves the original 154s sets the new value at the specified index 154s just past the end of the vector 154s adds a new value 154s outside the absolute bounds of the vector 154s fills up with nils 154s with a negative index 154s preserves the original 154s sets the new value at the specified index 154s outside the absolute bounds of the vector 154s 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.XX6Anr/build.LVO/src/spec/lib/immutable/vector/set_spec.rb:125:in `block (6 levels) in '. 154s raises an error 154s from a subclass 154s returns an instance of the subclass 154s on a 10-item vector 154s works correctly 154s on a 31-item vector 154s works correctly 154s on a 32-item vector 154s works correctly 154s on a 33-item vector 154s works correctly 154s on a 1000-item vector 154s works correctly 154s on a 1023-item vector 154s works correctly 154s on a 1024-item vector 154s works correctly 154s on a 1025-item vector 154s works correctly 154s on a 2000-item vector 154s works correctly 154s with an identical value to an existing item 154s on a 1-item vector 154s returns self 154s on a 2-item vector 154s returns self 154s on a 5-item vector 154s returns self 154s on a 31-item vector 154s returns self 154s on a 32-item vector 154s returns self 154s on a 33-item vector 154s returns self 154s on a 100-item vector 154s returns self 154s on a 200-item vector 154s returns self 154s 154s Immutable::Vector 154s #shift 154s on [] 154s preserves the original 154s returns [] 154s on ["A"] 154s preserves the original 154s returns [] 154s on ["A", "B", "C"] 154s preserves the original 154s returns ["B", "C"] 154s on 1..31 154s preserves the original 154s returns 2..31 154s on 1..32 154s preserves the original 154s returns 2..32 154s on 1..33 154s preserves the original 154s returns 2..33 154s 154s Immutable::Vector 154s #shuffle 154s returns the same values, in a usually different order 154s leaves the original unchanged 154s from a subclass 154s returns an instance of the subclass 154s on a 32-item vector 154s works correctly 154s on a 33-item vector 154s works correctly 154s on a 1023-item vector 154s works correctly 154s on a 1024-item vector 154s works correctly 154s on a 1025-item vector 154s works correctly 154s 154s Immutable::Vector 154s #slice 154s when passed a positive integral index 154s returns the element at that index 154s leaves the original unchanged 154s when passed a negative integral index 154s returns the element which is number (index.abs) counting from the end of the vector 154s when passed a positive integral index and count 154s returns 'count' elements starting from 'index' 154s leaves the original unchanged 154s when passed a negative integral index and count 154s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 154s when passed a Range 154s returns the elements whose indexes are within the given Range 154s leaves the original unchanged 154s when passed a subclass of Range 154s works the same as with a Range 154s on a subclass of Vector 154s with index and count or a range, returns an instance of the subclass 154s #[] 154s when passed a positive integral index 154s returns the element at that index 154s leaves the original unchanged 154s when passed a negative integral index 154s returns the element which is number (index.abs) counting from the end of the vector 154s when passed a positive integral index and count 154s returns 'count' elements starting from 'index' 154s leaves the original unchanged 154s when passed a negative integral index and count 154s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 154s when passed a Range 154s returns the elements whose indexes are within the given Range 154s leaves the original unchanged 154s when passed a subclass of Range 154s works the same as with a Range 154s on a subclass of Vector 154s with index and count or a range, returns an instance of the subclass 154s 154s Immutable::Vector 154s #sort 154s on [] 154s with a block 154s preserves the original 154s returns [] 154s without a block 154s preserves the original 154s returns [] 154s on ["A"] 154s with a block 154s preserves the original 154s returns ["A"] 154s without a block 154s preserves the original 154s returns ["A"] 154s on ["Ichi", "Ni", "San"] 154s with a block 154s preserves the original 154s returns ["Ni", "San", "Ichi"] 154s without a block 154s preserves the original 154s returns ["Ichi", "Ni", "San"] 154s on a 10-item vector 154s behaves like Arraysort 154s on a 31-item vector 154s behaves like Arraysort 154s on a 32-item vector 154s behaves like Arraysort 154s on a 33-item vector 154s behaves like Arraysort 154s on a 1023-item vector 154s behaves like Arraysort 154s on a 1024-item vector 154s behaves like Arraysort 154s on a 1025-item vector 155s behaves like Arraysort 155s #sort_by 155s on [] 155s with a block 155s preserves the original 155s returns [] 155s without a block 155s preserves the original 155s returns [] 155s on ["A"] 155s with a block 155s preserves the original 155s returns ["A"] 155s without a block 155s preserves the original 155s returns ["A"] 155s on ["Ichi", "Ni", "San"] 155s with a block 155s preserves the original 155s returns ["Ni", "San", "Ichi"] 155s without a block 155s preserves the original 155s returns ["Ichi", "Ni", "San"] 155s on a 10-item vector 155s behaves like Arraysort_by 155s on a 31-item vector 155s behaves like Arraysort_by 155s on a 32-item vector 155s behaves like Arraysort_by 155s on a 33-item vector 155s behaves like Arraysort_by 155s on a 1023-item vector 155s behaves like Arraysort_by 155s on a 1024-item vector 155s behaves like Arraysort_by 155s on a 1025-item vector 155s behaves like Arraysort_by 155s 155s Immutable::Vector 155s #sum 155s on [] 155s returns 0 155s on [2] 155s returns 2 155s on [1, 3, 5, 7, 11] 155s returns 27 155s 155s Immutable::Vector 155s #take 155s 10 from [] 155s preserves the original 155s returns [] 155s 10 from ["A"] 155s preserves the original 155s returns ["A"] 155s 0 from ["A", "B", "C"] 155s preserves the original 155s returns [] 155s 2 from ["A", "B", "C"] 155s preserves the original 155s returns ["A", "B"] 155s 1 from 1..32 155s preserves the original 155s returns [1] 155s 32 from 1..33 155s preserves the original 155s returns 1..32 155s 40 from 1..100 155s preserves the original 155s returns 1..40 155s when number of elements specified is identical to size 155s returns self 155s when number of elements specified is bigger than size 155s returns self 155s 155s Immutable::Vector 155s #take_while 155s on [] 155s with a block 155s returns [] 155s preserves the original 155s without a block 155s returns an Enumerator 155s on ["A"] 155s with a block 155s returns ["A"] 155s preserves the original 155s without a block 155s returns an Enumerator 155s on ["A", "B", "C"] 155s with a block 155s returns ["A", "B"] 155s preserves the original 155s without a block 155s returns an Enumerator 155s 155s Immutable::Vector 155s #to_a 155s with an empty vector 155s returns the values 155s with an single item vector 155s returns the values 155s with an multi-item vector 155s returns the values 155s with a 10-item vector 155s returns the values 155s with a 31-item vector 155s returns the values 155s with a 32-item vector 155s returns the values 155s with a 33-item vector 155s returns the values 155s with a 1000-item vector 155s returns the values 155s with a 1023-item vector 155s returns the values 155s with a 1024-item vector 155s returns the values 155s with a 1025-item vector 155s returns the values 155s 155s Immutable::Vector 155s #to_ary 155s converts using block parameters 155s converts using method arguments 155s converts using splat 155s 155s Immutable::Vector 155s #to_list 155s on [] 155s returns a list 155s the returned list 155s has the correct length 155s contains all values 155s on ["A"] 155s returns a list 155s the returned list 155s has the correct length 155s contains all values 155s on ["A", "B", "C"] 155s returns a list 155s the returned list 155s has the correct length 155s contains all values 155s 155s Immutable::Vector 155s #to_set 155s on [] 155s returns a set with the same values 155s on ["A"] 155s returns a set with the same values 155s on ["A", "B", "C"] 155s returns a set with the same values 155s on 1..10 155s returns a set with the same values 155s on 1..32 155s returns a set with the same values 155s on 1..33 155s returns a set with the same values 155s on 1..1000 155s returns a set with the same values 155s 155s Immutable::Vector 155s #transpose 155s takes a vector of vectors and transposes rows and columns 155s raises an IndexError if the vectors are not of the same length 155s also works on Vectors of Arrays 155s on 10-item vectors 155s behaves like Array#transpose 155s on 31-item vectors 155s behaves like Array#transpose 155s on 32-item vectors 155s behaves like Array#transpose 155s on 33-item vectors 155s behaves like Array#transpose 155s on 1000-item vectors 155s behaves like Array#transpose 155s on 1023-item vectors 155s behaves like Array#transpose 155s on 1024-item vectors 155s behaves like Array#transpose 155s on 1025-item vectors 155s behaves like Array#transpose 155s on 2000-item vectors 155s behaves like Array#transpose 155s on a subclass of Vector 155s returns instances of the subclass 155s if an item does not respond to #size and #[] 155s raises TypeError 155s 155s Immutable::Vector 155s #uniq 155s returns a vector with no duplicates 155s leaves the original unmodified 155s uses #eql? semantics 155s also uses #hash when determining which values are duplicates 155s keeps the first of each group of duplicate values 155s when passed a block 155s uses the return value of the block to determine which items are duplicate 155s on a vector with no duplicates 155s returns an unchanged vector 155s if the vector has more than 32 elements and is initialized with Vector.new 155s returns an unchanged vector 155s on a 10-item vector 155s behaves like Array#uniq 155s on a 31-item vector 155s behaves like Array#uniq 155s on a 32-item vector 155s behaves like Array#uniq 155s on a 33-item vector 155s behaves like Array#uniq 155s on a 1000-item vector 155s behaves like Array#uniq 155s on a 1023-item vector 155s behaves like Array#uniq 155s on a 1024-item vector 155s behaves like Array#uniq 155s on a 1025-item vector 155s behaves like Array#uniq 155s on a 2000-item vector 155s behaves like Array#uniq 155s from a subclass 155s returns an instance of the subclass 155s 155s Immutable::Vector 155s #unshift 155s on [] with "A" 155s preserves the original 155s returns ["A"] 155s on ["A"] with "B" 155s preserves the original 155s returns ["B", "A"] 155s on ["A"] with "A" 155s preserves the original 155s returns ["A", "A"] 155s on ["A", "B", "C"] with "D" 155s preserves the original 155s returns ["D", "A", "B", "C"] 155s on 1..31 with 0 155s preserves the original 155s returns 0..31 155s on 1..32 with 0 155s preserves the original 155s returns 0..32 155s on 1..33 with 0 155s preserves the original 155s returns 0..33 155s 155s Immutable::Vector 155s #update_in 155s with one level on existing key 155s passes the value to the block 155s replaces the value with the result of the block 155s should preserve the original 155s with multi-level vectors on existing keys 155s passes the value to the block 155s replaces the value with the result of the block 155s should preserve the original 155s with multi-level creating sub-hashes when keys don't exist 155s passes nil to the block 155s creates subhashes on the way to set the value 155s with multi-level including hash with existing keys 155s passes the value to the block 155s replaces the value with the result of the block 155s should preserve the original 155s with empty key_path 155s raises ArguemntError 155s 155s Immutable::Vector 155s #values_at 155s accepts any number of indices, and returns a vector of items at those indices 155s when passed invalid indices 155s fills in with nils 155s when passed no arguments 155s returns an empty vector 155s from a subclass 155s returns an instance of the subclass 155s 155s Immutable::Vector 155s #zip 155s with a block 155s yields arrays of one corresponding element from each input sequence 155s fills in the missing values with nils 155s returns nil 155s can handle multiple inputs, of different classes 155s without a block 155s returns a vector of arrays (one corresponding element from each input sequence) 155s on 10-item vectors 155s behaves like Array#zip 155s on 31-item vectors 155s behaves like Array#zip 155s on 32-item vectors 155s behaves like Array#zip 155s on 33-item vectors 155s behaves like Array#zip 155s on 1000-item vectors 155s behaves like Array#zip 155s on 1023-item vectors 155s behaves like Array#zip 155s on 1024-item vectors 155s behaves like Array#zip 155s on 1025-item vectors 155s behaves like Array#zip 155s from a subclass 155s returns an instance of the subclass 155s 155s Immutable 155s Hash 155s can be loaded separately 155s Set 155s can be loaded separately 155s Vector 155s can be loaded separately 155s List 155s can be loaded separately 155s SortedSet 155s can be loaded separately 155s Deque 155s can be loaded separately 155s 155s Top 10 slowest examples (3.49 seconds, 31.5% of total time): 155s Immutable::List#each_chunk on a really big list doesn't run out of stack 155s 0.66903 seconds ./spec/lib/immutable/list/each_slice_spec.rb:7 155s Immutable::List#each_slice on a really big list doesn't run out of stack 155s 0.5561 seconds ./spec/lib/immutable/list/each_slice_spec.rb:7 155s Immutable::List#partition calls the passed block only once for each item, even with multiple threads 155s 0.47462 seconds ./spec/lib/immutable/list/partition_spec.rb:38 155s Immutable::List ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads 155s 0.32992 seconds ./spec/lib/immutable/list/multithreading_spec.rb:5 155s Immutable::Set#select works on a large set, with many combinations of input 155s 0.27401 seconds ./spec/lib/immutable/set/select_spec.rb:59 155s Immutable::Set#find_all works on a large set, with many combinations of input 155s 0.25742 seconds ./spec/lib/immutable/set/select_spec.rb:59 155s Immutable::List#eql? on a really big list doesn't run out of stack 155s 0.25386 seconds ./spec/lib/immutable/list/eql_spec.rb:6 155s Immutable::Hash#select works on a large hash, with many combinations of input 155s 0.23401 seconds ./spec/lib/immutable/hash/select_spec.rb:43 155s Immutable::List#all? on a really big list doesn't run out of stack 155s 0.2251 seconds ./spec/lib/immutable/list/all_spec.rb:8 155s Immutable::Hash#find_all works on a large hash, with many combinations of input 155s 0.21147 seconds ./spec/lib/immutable/hash/select_spec.rb:43 155s 155s Top 10 slowest example groups: 155s Immutable::Hash 155s 0.16484 seconds average (0.32969 seconds / 2 examples) ./spec/lib/immutable/hash/marshal_spec.rb:3 155s Immutable::Deque 155s 0.16253 seconds average (0.32505 seconds / 2 examples) ./spec/lib/immutable/deque/marshal_spec.rb:3 155s Immutable::Set 155s 0.16013 seconds average (0.32027 seconds / 2 examples) ./spec/lib/immutable/set/marshal_spec.rb:3 155s Immutable::Vector 155s 0.15928 seconds average (0.31855 seconds / 2 examples) ./spec/lib/immutable/vector/marshal_spec.rb:3 155s Immutable::List 155s 0.14941 seconds average (0.44823 seconds / 3 examples) ./spec/lib/immutable/list/multithreading_spec.rb:4 155s Immutable 155s 0.11318 seconds average (0.67908 seconds / 6 examples) ./spec/lib/load_spec.rb:6 155s Immutable::SortedSet 155s 0.10526 seconds average (0.31579 seconds / 3 examples) ./spec/lib/immutable/sorted_set/marshal_spec.rb:3 155s Immutable::List 155s 0.0701 seconds average (0.21029 seconds / 3 examples) ./spec/lib/immutable/list/hash_spec.rb:3 155s Immutable::Hash 155s 0.05715 seconds average (0.57154 seconds / 10 examples) ./spec/lib/immutable/hash/size_spec.rb:3 155s Immutable::List 155s 0.03859 seconds average (1.23 seconds / 32 examples) ./spec/lib/immutable/list/each_slice_spec.rb:3 155s 155s Finished in 11.05 seconds (files took 1.35 seconds to load) 155s 4608 examples, 0 failures 155s 155s mv ./.gem2deb.lib lib 156s autopkgtest [07:07:15]: test gem2deb-test-runner: -----------------------] 156s gem2deb-test-runner PASS 156s autopkgtest [07:07:15]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 156s autopkgtest [07:07:15]: @@@@@@@@@@@@@@@@@@@@ summary 156s gem2deb-test-runner PASS