0s autopkgtest [07:09:49]: starting date and time: 2026-02-10 07:09:49+0000 0s autopkgtest [07:09:49]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [07:09:49]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.cfo9z4vu/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-arm64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-arm64-16.secgroup --name adt-resolute-arm64-ruby-immutable-ruby-20260210-070949-juju-7f2275-prod-proposed-migration-environment-20-3afef5cc-891f-4185-aea6-f69e6b53ceec --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-arm64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-arm64-ruby-immutable-ruby-20260210-070949-juju-7f2275-prod-proposed-migration-environment-20-3afef5cc-891f-4185-aea6-f69e6b53ceec from image adt/ubuntu-resolute-arm64-server-20260209.img (UUID 793037ca-75af-461b-82de-f8081300b2e3)... 106s autopkgtest [07:11:35]: testbed dpkg architecture: arm64 106s autopkgtest [07:11:35]: testbed apt version: 3.1.15 106s autopkgtest [07:11:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 106s autopkgtest [07:11:35]: testbed release detected to be: None 107s autopkgtest [07:11:36]: updating testbed package index (apt update) 107s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 107s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 107s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 108s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 108s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [178 kB] 108s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1727 kB] 109s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.1 kB] 109s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [263 kB] 109s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [6288 B] 109s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [120 B] 109s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [1769 kB] 111s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [31.3 kB] 111s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [23.0 kB] 111s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [688 B] 112s Fetched 4153 kB in 4s (1130 kB/s) 113s Reading package lists... 115s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 115s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 115s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 115s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 116s Reading package lists... 116s Reading package lists... 116s Building dependency tree... 116s Reading state information... 116s Calculating upgrade... 117s The following NEW packages will be installed: 117s gcc-16-base 117s The following packages will be upgraded: 117s cryptsetup-bin dracut-install iproute2 iptables libatomic1 libbrotli1 117s libcryptsetup12 libgcc-s1 libip4tc2 libip6tc2 libstdc++6 libxtables12 wget 118s 13 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 118s Need to get 3779 kB of archives. 118s After this operation, 218 kB of additional disk space will be used. 118s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 gcc-16-base arm64 16-20260208-1ubuntu1 [59.7 kB] 118s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libgcc-s1 arm64 16-20260208-1ubuntu1 [60.9 kB] 118s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 iptables arm64 1.8.11-2ubuntu3 [386 kB] 118s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libip4tc2 arm64 1.8.11-2ubuntu3 [24.3 kB] 118s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 libip6tc2 arm64 1.8.11-2ubuntu3 [24.7 kB] 118s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libxtables12 arm64 1.8.11-2ubuntu3 [36.7 kB] 118s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 iproute2 arm64 6.18.0-1ubuntu1 [1171 kB] 119s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libatomic1 arm64 16-20260208-1ubuntu1 [11.1 kB] 119s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libcryptsetup12 arm64 2:2.8.0-1ubuntu3 [274 kB] 119s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libstdc++6 arm64 16-20260208-1ubuntu1 [768 kB] 119s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 wget arm64 1.25.0-2ubuntu4 [344 kB] 119s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 cryptsetup-bin arm64 2:2.8.0-1ubuntu3 [227 kB] 119s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 dracut-install arm64 109-11ubuntu1 [45.3 kB] 119s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 libbrotli1 arm64 1.2.0-3 [346 kB] 120s dpkg-preconfigure: unable to re-open stdin: No such file or directory 120s Fetched 3779 kB in 3s (1457 kB/s) 120s Selecting previously unselected package gcc-16-base:arm64. 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 ... 136597 files and directories currently installed.) 120s Preparing to unpack .../gcc-16-base_16-20260208-1ubuntu1_arm64.deb ... 120s Unpacking gcc-16-base:arm64 (16-20260208-1ubuntu1) ... 120s Setting up gcc-16-base:arm64 (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 ... 136602 files and directories currently installed.) 120s Preparing to unpack .../libgcc-s1_16-20260208-1ubuntu1_arm64.deb ... 120s Unpacking libgcc-s1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 120s Setting up libgcc-s1:arm64 (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 ... 136602 files and directories currently installed.) 120s Preparing to unpack .../00-iptables_1.8.11-2ubuntu3_arm64.deb ... 120s Unpacking iptables (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 120s Preparing to unpack .../01-libip4tc2_1.8.11-2ubuntu3_arm64.deb ... 120s Unpacking libip4tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 120s Preparing to unpack .../02-libip6tc2_1.8.11-2ubuntu3_arm64.deb ... 120s Unpacking libip6tc2:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../03-libxtables12_1.8.11-2ubuntu3_arm64.deb ... 121s Unpacking libxtables12:arm64 (1.8.11-2ubuntu3) over (1.8.11-2ubuntu2) ... 121s Preparing to unpack .../04-iproute2_6.18.0-1ubuntu1_arm64.deb ... 121s Unpacking iproute2 (6.18.0-1ubuntu1) over (6.16.0-1ubuntu3) ... 121s Preparing to unpack .../05-libatomic1_16-20260208-1ubuntu1_arm64.deb ... 121s Unpacking libatomic1:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 121s Preparing to unpack .../06-libcryptsetup12_2%3a2.8.0-1ubuntu3_arm64.deb ... 121s Unpacking libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 121s Preparing to unpack .../07-libstdc++6_16-20260208-1ubuntu1_arm64.deb ... 121s Unpacking libstdc++6:arm64 (16-20260208-1ubuntu1) over (15.2.0-12ubuntu1) ... 121s Preparing to unpack .../08-wget_1.25.0-2ubuntu4_arm64.deb ... 121s Unpacking wget (1.25.0-2ubuntu4) over (1.25.0-2ubuntu3) ... 121s Preparing to unpack .../09-cryptsetup-bin_2%3a2.8.0-1ubuntu3_arm64.deb ... 121s Unpacking cryptsetup-bin (2:2.8.0-1ubuntu3) over (2:2.8.0-1ubuntu2) ... 122s Preparing to unpack .../10-dracut-install_109-11ubuntu1_arm64.deb ... 122s Unpacking dracut-install (109-11ubuntu1) over (109-9ubuntu1) ... 122s Preparing to unpack .../11-libbrotli1_1.2.0-3_arm64.deb ... 122s Unpacking libbrotli1:arm64 (1.2.0-3) over (1.1.0-2build6) ... 122s Setting up libip4tc2:arm64 (1.8.11-2ubuntu3) ... 122s Setting up wget (1.25.0-2ubuntu4) ... 122s Setting up libip6tc2:arm64 (1.8.11-2ubuntu3) ... 122s Setting up libbrotli1:arm64 (1.2.0-3) ... 122s Setting up libatomic1:arm64 (16-20260208-1ubuntu1) ... 122s Setting up libxtables12:arm64 (1.8.11-2ubuntu3) ... 122s Setting up dracut-install (109-11ubuntu1) ... 122s Setting up libcryptsetup12:arm64 (2:2.8.0-1ubuntu3) ... 122s Setting up libstdc++6:arm64 (16-20260208-1ubuntu1) ... 122s Setting up cryptsetup-bin (2:2.8.0-1ubuntu3) ... 122s Setting up iptables (1.8.11-2ubuntu3) ... 122s Setting up iproute2 (6.18.0-1ubuntu1) ... 122s Processing triggers for man-db (2.13.1-1build1) ... 123s Processing triggers for install-info (7.2-5) ... 123s Processing triggers for libc-bin (2.42-2ubuntu4) ... 123s autopkgtest [07:11:52]: upgrading testbed (apt dist-upgrade and autopurge) 124s Reading package lists... 124s Building dependency tree... 124s Reading state information... 124s Calculating upgrade... 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s Solving dependencies... 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 128s autopkgtest [07:11:57]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 19:46:27 UTC 2026 128s autopkgtest [07:11:57]: @@@@@@@@@@@@@@@@@@@@ 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:11:59]: testing package ruby-immutable-ruby version 0.1.0-2 130s autopkgtest [07:11:59]: build not needed 131s autopkgtest [07:12:00]: 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 133s 0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded. 133s Need to get 7480 kB of archives. 133s After this operation, 41.8 MB of additional disk space will be used. 133s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 rubygems-integration all 1.19build1 [5666 B] 133s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-csv all 3.3.4-1 [43.0 kB] 133s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-did-you-mean all 1.6.3-2build1 [14.9 kB] 133s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-net-telnet all 0.2.0-1build1 [13.5 kB] 133s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-ruby2-keywords all 0.0.5-1build1 [4398 B] 133s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-webrick all 1.9.1-1build1 [60.9 kB] 133s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-xmlrpc all 0.3.3-2build1 [24.9 kB] 133s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby3.3 arm64 3.3.8-2ubuntu2 [5971 kB] 140s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby3.3 arm64 3.3.8-2ubuntu2 [59.1 kB] 140s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libruby arm64 1:3.3 [5164 B] 140s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby-rubygems all 3.6.7-2ubuntu2 [332 kB] 140s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 ruby arm64 1:3.3 [3668 B] 140s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 rake all 13.2.1-1build1 [45.9 kB] 140s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-minitest all 5.26.1-1 [49.3 kB] 140s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-power-assert all 3.0.1-1 [11.4 kB] 140s Get:16 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-test-unit all 3.6.2-1 [67.0 kB] 140s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 gem2deb-test-runner arm64 2.2.5 [18.3 kB] 140s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 ruby-concurrent all 1.3.6-1 [284 kB] 140s Get:19 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-diff-lcs all 1.5.1-1 [22.8 kB] 140s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rbtree arm64 0.4.6-1build3 [23.6 kB] 140s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-sorted-set all 1.0.3-3 [4258 B] 140s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-immutable-ruby all 0.1.0-2 [47.1 kB] 140s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 140s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 140s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 140s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 140s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 140s Fetched 7480 kB in 8s (954 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 ... 136605 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:arm64. 140s Preparing to unpack .../07-libruby3.3_3.3.8-2ubuntu2_arm64.deb ... 140s Unpacking libruby3.3:arm64 (3.3.8-2ubuntu2) ... 141s Selecting previously unselected package ruby3.3. 141s Preparing to unpack .../08-ruby3.3_3.3.8-2ubuntu2_arm64.deb ... 141s Unpacking ruby3.3 (3.3.8-2ubuntu2) ... 141s Selecting previously unselected package libruby:arm64. 141s Preparing to unpack .../09-libruby_1%3a3.3_arm64.deb ... 141s Unpacking libruby:arm64 (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_arm64.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_arm64.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_arm64.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) ... 142s Selecting previously unselected package ruby-rspec-mocks. 142s Preparing to unpack .../25-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 142s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 142s Selecting previously unselected package ruby-rspec. 142s Preparing to unpack .../26-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 142s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 142s Setting up ruby-ruby2-keywords (0.0.5-1build1) ... 142s Setting up ruby-power-assert (3.0.1-1) ... 142s Setting up rubygems-integration (1.19build1) ... 142s Setting up ruby-concurrent (1.3.6-1) ... 142s Setting up ruby-minitest (5.26.1-1) ... 142s Setting up ruby-test-unit (3.6.2-1) ... 142s Setting up ruby-net-telnet (0.2.0-1build1) ... 142s Setting up ruby-csv (3.3.4-1) ... 142s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 142s Setting up ruby-webrick (1.9.1-1build1) ... 142s Setting up ruby-did-you-mean (1.6.3-2build1) ... 142s Setting up ruby-xmlrpc (0.3.3-2build1) ... 142s Setting up rake (13.2.1-1build1) ... 142s Setting up libruby3.3:arm64 (3.3.8-2ubuntu2) ... 142s Setting up ruby3.3 (3.3.8-2ubuntu2) ... 142s Setting up libruby:arm64 (1:3.3) ... 142s Setting up ruby (1:3.3) ... 142s Setting up ruby-rbtree (0.4.6-1build3) ... 142s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 142s Setting up ruby-diff-lcs (1.5.1-1) ... 142s Setting up ruby-rubygems (3.6.7-2ubuntu2) ... 142s Setting up ruby-sorted-set (1.0.3-3) ... 142s Setting up gem2deb-test-runner (2.2.5) ... 142s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 142s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 142s Setting up ruby-immutable-ruby (0.1.0-2) ... 142s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 142s Processing triggers for libc-bin (2.42-2ubuntu4) ... 142s Processing triggers for man-db (2.13.1-1build1) ... 143s autopkgtest [07:12:12]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 143s autopkgtest [07:12:12]: 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 145s 145s Array 145s #to_list 145s returns an equivalent Immutable list 145s 145s Enumerable 145s #to_list 145s returns an equivalent list 145s works on Ranges 145s 145s IO 145s #to_list 145s with a File 145s returns an equivalent list 145s with a StringIO 145s returns an equivalent list 145s 145s Immutable::Deque 145s #clear 145s on [] 145s preserves the original 145s returns an empty deque 145s on ["A"] 145s preserves the original 145s returns an empty deque 145s on ["A", "B", "C"] 145s preserves the original 145s returns an empty deque 145s from a subclass 145s returns an instance of the subclass 145s 145s Immutable::Deque 145s .[] 145s with no arguments 145s always returns the same instance 145s returns an empty, frozen deque 145s with a number of items 145s always returns a different instance 145s is the same as repeatedly using #endeque 145s 145s Immutable::Deque 145s on [] 145s returns self 145s on ["A"] 145s returns self 145s on ["A", "B", "C"] 145s returns self 145s on [] 145s returns self 145s on ["A"] 145s returns self 145s on ["A", "B", "C"] 145s returns self 145s 145s Immutable::Deque 145s #dequeue 145s on [] 145s preserves the original 145s returns [] 145s on ["A"] 145s preserves the original 145s returns [] 145s on ["A", "B", "C"] 145s preserves the original 145s returns ["B", "C"] 145s on empty subclass 145s returns empty object of same class 145s #shift 145s on [] 145s preserves the original 145s returns [] 145s on ["A"] 145s preserves the original 145s returns [] 145s on ["A", "B", "C"] 145s preserves the original 145s returns ["B", "C"] 145s on empty subclass 145s returns empty object of same class 145s 145s Immutable::Deque 145s #empty? 145s on [] 145s returns true 145s on ["A"] 145s returns false 145s on ["A", "B", "C"] 145s returns false 145s after dedequeing an item from ["A", "B", "C"] 145s returns false 145s .empty 145s returns the canonical empty deque 145s from a subclass 145s returns an empty instance of the subclass 145s 145s Immutable::Deque 145s #enqueue 145s on [] with "A" 145s preserves the original 145s returns ["A"] 145s on ["A"] with "B" 145s preserves the original 145s returns ["A", "B"] 145s on ["A"] with "A" 145s preserves the original 145s returns ["A", "A"] 145s on ["A", "B", "C"] with "D" 145s preserves the original 145s returns ["A", "B", "C", "D"] 145s #push 145s on [] with "A" 145s preserves the original 145s returns ["A"] 145s on ["A"] with "B" 145s preserves the original 145s returns ["A", "B"] 145s on ["A"] with "A" 145s preserves the original 145s returns ["A", "A"] 145s on ["A", "B", "C"] with "D" 145s preserves the original 145s returns ["A", "B", "C", "D"] 145s 145s Immutable::Deque 145s #first 145s on [] 145s returns nil 145s on ["A"] 145s returns "A" 145s on ["A", "B", "C"] 145s returns "A" 145s 145s Immutable::Deque 145s #inspect 145s on [] 145s returns "Immutable::Deque[]" 145s returns a string which can be eval'd to get an equivalent object 145s on ["A"] 145s returns "Immutable::Deque[\"A\"]" 145s returns a string which can be eval'd to get an equivalent object 145s on ["A", "B", "C"] 145s returns "Immutable::Deque[\"A\", \"B\", \"C\"]" 145s returns a string which can be eval'd to get an equivalent object 145s 145s Immutable::Deque 145s #last 145s on [] 145s returns nil 145s on ["A"] 145s returns "A" 145s on ["A", "B", "C"] 145s returns "C" 145s 145s Immutable::Deque 145s #marshal_dump/#marshal_load 145s 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 146s works on a large Hash, with many combinations of input 146s with only keys that the Hash has 146s returns a Hash without those values 146s doesn't change the original Hash 146s with keys that the Hash doesn't have 146s returns a Hash without the values that it had keys for 146s doesn't change the original Hash 146s 146s Immutable::Hash 146s #fetch 146s gives precedence to default block over default argument if passed both 146s raises an ArgumentError when not passed one or 2 arguments 146s with no default provided 146s when the key exists 146s returns the value associated with the key 146s when the key does not exist 146s raises a KeyError 146s with a default value 146s when the key exists 146s returns the value associated with the key 146s when the key does not exist 146s returns the default value 146s with a default block 146s when the key exists 146s returns the value associated with the key 146s when the key does not exist 146s invokes the default block with the missing key as paramter 146s 146s Immutable::Hash 146s #fetch_values 146s when the all the requested keys exist 146s returns a vector of values for the given keys 146s when the key does not exist 146s raises a KeyError 146s 146s Immutable::Hash 146s #find 146s stops iterating when the block returns true 146s on [] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns ["A", "aye"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns ["A", "aye"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns ["B", "bee"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns [nil, "NIL"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s #detect 146s stops iterating when the block returns true 146s on [] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns ["A", "aye"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns ["A", "aye"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns ["B", "bee"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns [nil, "NIL"] 146s without a block 146s returns an Enumerator 146s on [{"A"=>"aye", "B"=>"bee", nil=>"NIL"}] 146s with a block 146s returns nil 146s without a block 146s returns an Enumerator 146s 146s Immutable::Hash 146s #flat_map 146s yields each key/val pair 146s returns the concatenation of block return values 146s doesn't change the receiver 146s returns an empty array if only empty arrays are returned by block 146s with no block 146s returns an Enumerator 146s 146s Immutable::Hash 146s #flatten 146s with flatten depth of zero 146s returns a vector of keys/value 146s without array keys or values 146s returns a vector of keys and values 146s doesn't modify the receiver 146s on an empty Hash 146s returns an empty Vector 146s with array keys 146s flattens array keys into returned vector if flatten depth is sufficient 146s doesn't modify the receiver (or its contents) 146s with array values 146s flattens array values into returned vector if flatten depth is sufficient 146s doesn't modify the receiver (or its contents) 146s with vector keys 146s flattens vector keys into returned vector if flatten depth is sufficient 146s with vector values 146s flattens vector values into returned vector if flatten depth is sufficient 146s 146s Immutable::Hash 146s #get 146s uses #hash to look up keys 146s uses #eql? to compare keys with the same hash code 146s does not use #eql? to compare keys with different hash codes 146s with a default block 146s when the key exists 146s returns the value associated with the key 146s does not call the default block even if the key is 'nil' 146s when the key does not exist 146s returns the value from the default block 146s with no default block 146s returns the value ("aye") for an existing key ("A") 146s returns the value ("bee") for an existing key ("B") 146s returns the value ("see") for an existing key ("C") 146s returns the value ("NIL") for an existing key (nil) 146s returns nil for a non-existing key 146s #[] 146s uses #hash to look up keys 146s uses #eql? to compare keys with the same hash code 146s does not use #eql? to compare keys with different hash codes 146s with a default block 146s when the key exists 146s returns the value associated with the key 146s does not call the default block even if the key is 'nil' 146s when the key does not exist 146s returns the value from the default block 146s with no default block 146s returns the value ("aye") for an existing key ("A") 146s returns the value ("bee") for an existing key ("B") 146s returns the value ("see") for an existing key ("C") 146s returns the value ("NIL") for an existing key (nil) 146s returns nil for a non-existing key 146s 146s Immutable::Hash 146s #key? 146s returns true for an existing key ("A") 146s returns true for an existing key ("B") 146s returns true for an existing key ("C") 146s returns true for an existing key (nil) 146s returns true for an existing key (2.0) 146s returns false for a non-existing key 146s uses #eql? for equality 146s returns true if the key is found and maps to nil 146s returns true if the key is found and maps to false 146s #has_key? 146s returns true for an existing key ("A") 146s returns true for an existing key ("B") 146s returns true for an existing key ("C") 146s returns true for an existing key (nil) 146s returns true for an existing key (2.0) 146s returns false for a non-existing key 146s uses #eql? for equality 146s returns true if the key is found and maps to nil 146s returns true if the key is found and maps to false 146s #include? 146s returns true for an existing key ("A") 146s returns true for an existing key ("B") 146s returns true for an existing key ("C") 146s returns true for an existing key (nil) 146s returns true for an existing key (2.0) 146s returns false for a non-existing key 146s uses #eql? for equality 146s returns true if the key is found and maps to nil 146s returns true if the key is found and maps to false 146s #member? 146s returns true for an existing key ("A") 146s returns true for an existing key ("B") 146s returns true for an existing key ("C") 146s returns true for an existing key (nil) 146s returns true for an existing key (2.0) 146s returns false for a non-existing key 146s uses #eql? for equality 146s returns true if the key is found and maps to nil 146s returns true if the key is found and maps to false 146s 146s Immutable::Hash 146s #value? 146s returns true if any key/val pair in Hash has the same value 146s returns false if no key/val pair in Hash has the same value 146s uses #== to check equality 146s works on a large hash 146s #has_value? 146s returns true if any key/val pair in Hash has the same value 146s returns false if no key/val pair in Hash has the same value 146s uses #== to check equality 146s works on a large hash 146s 146s Immutable::Hash 146s #hash 146s values are sufficiently distributed 146s differs given the same keys and different values 146s differs given the same values and different keys 146s generates the same hash value for a hash regardless of the order things were added to it 146s on an empty hash 146s returns 0 146s 146s Immutable::Hash 146s #inspect 146s on [] 146s returns "Immutable::Hash[]" 146s on [{"A"=>"aye"}] 146s returns "Immutable::Hash[\"A\" => \"aye\"]" 146s on [{"A"=>"aye", "B"=>"bee", "C"=>"see"}] 146s returns "Immutable::Hash[\"A\" => \"aye\", \"B\" => \"bee\", \"C\" => \"see\"]" 146s on {} 146s returns a string which can be eval'd to get an equivalent object 146s on {"A"=>"aye"} 146s returns a string which can be eval'd to get an equivalent object 146s on {:a=>"aye", :b=>"bee", :c=>"see"} 146s returns a string which can be eval'd to get an equivalent object 146s 146s Immutable::Hash 146s #invert 146s uses the existing keys as values and values as keys 146s will select one key/value pair among multiple which have same value 146s doesn't change the original Hash 146s from a subclass of Hash 146s returns an instance of the subclass 146s 146s Immutable::Hash 146s #key 146s returns a key associated with the given value, if there is one 146s returns nil if there is no key associated with the given value 146s uses #== to compare values for equality 146s doesn't use default block if value is not found 146s 146s Immutable::Hash 146s #keys 146s returns the keys as a set 146s returns frozen String keys 146s 146s Immutable::Hash 146s #map 146s when empty 146s returns self 146s when not empty 146s with a block 146s preserves the original values 146s returns a new hash with the mapped values 146s with no block 146s returns an Enumerator 146s from a subclass 146s returns an instance of the subclass 146s #collect 146s when empty 146s returns self 146s when not empty 146s with a block 146s preserves the original values 146s returns a new hash with the mapped values 146s with no block 146s returns an Enumerator 146s from a subclass 146s returns an instance of the subclass 146s 146s Immutable::Hash 146s #marshal_dump/#marshal_load 146s can survive dumping and loading into a new process 146s is still possible to find items by key after loading 146s 146s Immutable::Hash 146s #merge 146s sets any duplicate key to the value of block if passed a block 146s yields key/value pairs in the same order as #each 146s for {} and {} 146s returns {} when passed an Immutable::Hash 146s returns {} when passed a Ruby Hash 146s doesn't change the original Hashes 146s for {"A"=>"aye"} and {} 146s returns {"A"=>"aye"} when passed an Immutable::Hash 146s returns {"A"=>"aye"} when passed a Ruby Hash 146s doesn't change the original Hashes 146s for {"A"=>"aye"} and {"A"=>"bee"} 146s returns {"A"=>"bee"} when passed an Immutable::Hash 146s returns {"A"=>"bee"} when passed a Ruby Hash 146s doesn't change the original Hashes 146s for {"A"=>"aye"} and {"B"=>"bee"} 146s returns {"A"=>"aye", "B"=>"bee"} when passed an Immutable::Hash 146s returns {"A"=>"aye", "B"=>"bee"} when passed a Ruby Hash 146s doesn't change the original Hashes 146s 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]] 146s 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 146s 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 146s doesn't change the original Hashes 146s when merging with an empty Hash 146s returns self 146s when merging with subset Hash 146s returns self 146s when called on a subclass 146s returns an instance of the subclass 146s 146s Immutable::Hash 146s #min 146s returns the smallest key/val pair 146s #max 146s returns the largest key/val pair 146s #min_by 146s returns the smallest key/val pair (after passing it through a key function) 146s returns the first key/val pair yielded by #each in case of a tie 146s returns nil if the hash is empty 146s #max_by 146s returns the largest key/val pair (after passing it through a key function) 146s returns the first key/val pair yielded by #each in case of a tie 146s returns nil if the hash is empty 146s 146s Immutable::Hash 146s .new 146s is amenable to overriding of #initialize 146s accepts an array as initializer 146s returns a Hash which doesn't change even if initializer is mutated 146s from a subclass 146s returns a frozen instance of the subclass 146s .[] 146s accepts a Ruby Hash as initializer 146s accepts a Immutable::Hash as initializer 146s accepts an array as initializer 146s can be used with a subclass of Immutable::Hash 146s 146s Immutable::Hash 146s #none? 146s when empty 146s with a block returns true 146s with no block returns true 146s when not empty 146s with a block 146s returns false if the block ever returns true (["A", "aye"]) 146s returns true if the block always returns false 146s stops iterating as soon as the block returns true 146s returns false if the block ever returns true (["B", "bee"]) 146s returns true if the block always returns false 146s stops iterating as soon as the block returns true 146s returns false if the block ever returns true (["C", "see"]) 146s returns true if the block always returns false 146s stops iterating as soon as the block returns true 146s returns false if the block ever returns true ([nil, "NIL"]) 146s returns true if the block always returns false 146s stops iterating as soon as the block returns true 146s with no block 146s returns false 146s 146s Immutable::Hash 146s #partition 146s returns a pair of Immutable::Hashes 146s returns key/val pairs for which predicate is true in first Hash 146s returns key/val pairs for which predicate is false in second Hash 146s doesn't modify the original Hash 146s from a subclass 146s should return instances of the subclass 146s 146s Immutable::Hash 146s #pretty_print 146s prints the whole Hash on one line if it fits 146s prints each key/val pair on its own line, if not 146s prints keys and vals on separate lines, if space is very tight 146s 146s Immutable::Hash 146s #[]= 146s raises error pointing to #put 146s #put 146s with a block 146s passes the value to the block 146s replaces the value with the result of the block 146s supports to_proc methods 146s if there is no existing association 146s passes nil to the block 146s stores the result of the block as the new value 146s with a unique key 146s preserves the original 146s returns a copy with the superset of key/value pairs 146s with a duplicate key 146s preserves the original 146s returns a copy with the superset of key/value pairs 146s with duplicate key and identical value 146s returns the original hash unmodified 146s with big hash (force nested tries) 146s returns the original hash unmodified for all changes 146s with unequal keys which hash to the same value 146s stores and can retrieve both 146s when a String is inserted as key and then mutated 146s is not affected 146s 146s Immutable::Hash 146s #reduce 146s when empty 146s returns the memo 146s when not empty 146s with a block 146s returns the final memo 146s with no block 146s uses a passed string as the name of a method to use instead 146s uses a passed symbol as the name of a method to use instead 146s #inject 146s when empty 146s returns the memo 146s when not empty 146s with a block 146s returns the final memo 146s with no block 146s uses a passed string as the name of a method to use instead 146s uses a passed symbol as the name of a method to use instead 146s 146s Immutable::Hash 146s #reject 146s when nothing matches 146s returns self 146s when only some things match 146s with a block 146s preserves the original 146s returns a set with the matching values 146s yields entries in the same order as #each 146s with no block 146s returns an Enumerator 146s on a large hash, with many combinations of input 146s still works 146s #delete_if 146s when nothing matches 146s returns self 146s when only some things match 146s with a block 146s preserves the original 146s returns a set with the matching values 146s yields entries in the same order as #each 146s with no block 146s returns an Enumerator 146s on a large hash, with many combinations of input 146s still works 146s 146s Immutable::Hash 146s #reverse_each 146s with a block 146s returns self 146s yields all key/value pairs in the opposite order as #each 146s with no block 146s returns an Enumerator 146s 146s Immutable::Hash 146s #sample 146s returns a randomly chosen item 146s 146s Immutable::Hash 146s #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 147s works on a large hash, with many combinations of input 147s when everything matches 147s returns self 147s when only some things match 147s yields entries as [key, value] pairs 147s with a block 147s preserves the original 147s returns a set with the matching values 147s with no block 147s returns an Enumerator 147s #keep_if 147s works on a large hash, with many combinations of input 147s when everything matches 147s returns self 147s when only some things match 147s yields entries as [key, value] pairs 147s with a block 147s preserves the original 147s returns a set with the matching values 147s with no block 147s returns an Enumerator 147s 147s Immutable::Hash 147s #size 147s returns 0 for [] 147s returns 1 for [{"A"=>"aye"}] 147s 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 #length 147s returns 0 for [] 147s returns 1 for [{"A"=>"aye"}] 147s 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] 148s with a block 148s preserves the original 148s returns a frozen array with two items 148s correctly identifies the prefix 148s correctly identifies the remainder 148s without a block 148s returns a frozen array with two items 148s returns self as the prefix 148s leaves the remainder empty 148s on [1, 2, 3, 4] 148s with a block 148s preserves the original 148s returns a frozen array with two items 148s correctly identifies the prefix 148s correctly identifies the remainder 148s without a block 148s returns a frozen array with two items 148s returns self as the prefix 148s leaves the remainder empty 148s on [2, 3, 4] 148s with a block 148s preserves the original 148s returns a frozen array with two items 148s correctly identifies the prefix 148s correctly identifies the remainder 148s without a block 148s returns a frozen array with two items 148s returns self as the prefix 148s leaves the remainder empty 148s on [3, 4] 148s with a block 148s preserves the original 148s returns a frozen array with two items 148s correctly identifies the prefix 148s correctly identifies the remainder 148s without a block 148s returns a frozen array with two items 148s returns self as the prefix 148s leaves the remainder empty 148s on [4] 148s with a block 148s preserves the original 148s returns a frozen array with two items 148s correctly identifies the prefix 148s correctly identifies the remainder 148s without a block 148s returns a frozen array with two items 148s returns self as the prefix 148s leaves the remainder empty 148s 148s Immutable::List 148s #car 148s is responded to 148s on [] 148s preserves the original 148s returns nil 148s #car 148s is responded to 148s on ["A"] 148s preserves the original 148s returns "A" 148s #car 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns "A" 148s #cadr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns "B" 148s #caddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns "C" 148s #cadddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns nil 148s #caddddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns nil 148s #cdr 148s is responded to 148s on [] 148s preserves the original 148s returns Immutable::List[] 148s #cdr 148s is responded to 148s on ["A"] 148s preserves the original 148s returns Immutable::List[] 148s #cdr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns Immutable::List["B", "C"] 148s #cddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns Immutable::List["C"] 148s #cdddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns Immutable::List[] 148s #cddddr 148s is responded to 148s on ["A", "B", "C"] 148s preserves the original 148s returns Immutable::List[] 148s 148s Immutable::List 148s #chunk 148s is lazy 148s on [] 148s preserves the original 148s returns [] 148s on ["A"] 148s preserves the original 148s returns [Immutable::List["A"]] 148s on ["A", "B", "C"] 148s preserves the original 148s returns [Immutable::List["A", "B"], Immutable::List["C"]] 148s 148s Immutable::List 148s #clear 148s on [] 148s preserves the original 148s returns an empty list 148s on ["A"] 148s preserves the original 148s returns an empty list 148s on ["A", "B", "C"] 148s preserves the original 148s returns an empty list 148s 148s Immutable::List 148s #combination 148s is lazy 148s on ["A", "B", "C", "D"] in groups of 1 148s preserves the original 148s returns [Immutable::List["A"], Immutable::List["B"], Immutable::List["C"], Immutable::List["D"]] 148s on ["A", "B", "C", "D"] in groups of 2 148s preserves the original 148s 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"]] 148s on ["A", "B", "C", "D"] in groups of 3 148s preserves the original 148s returns [Immutable::List["A", "B", "C"], Immutable::List["A", "B", "D"], Immutable::List["A", "C", "D"], Immutable::List["B", "C", "D"]] 148s on ["A", "B", "C", "D"] in groups of 4 148s preserves the original 148s returns [Immutable::List["A", "B", "C", "D"]] 148s on ["A", "B", "C", "D"] in groups of 0 148s preserves the original 148s returns [Immutable::List[]] 148s on ["A", "B", "C", "D"] in groups of 5 148s preserves the original 148s returns [] 148s on [] in groups of 0 148s preserves the original 148s returns [Immutable::List[]] 148s on [] in groups of 1 148s preserves the original 148s returns [] 148s 148s Immutable::List 148s #compact 148s is lazy 148s on [] 148s preserves the original 148s returns [] 148s on ["A"] 148s preserves the original 148s returns ["A"] 148s on ["A", "B", "C"] 148s preserves the original 148s returns ["A", "B", "C"] 148s on [nil] 148s preserves the original 148s returns [] 148s on [nil, "B"] 148s preserves the original 148s returns ["B"] 148s on ["A", nil] 148s preserves the original 148s returns ["A"] 148s on [nil, nil] 148s preserves the original 148s returns [] 148s on ["A", nil, "C"] 148s preserves the original 148s returns ["A", "C"] 148s on [nil, "B", nil] 148s preserves the original 148s returns ["B"] 148s 148s Immutable::List 148s #<=> 148s with [] and [1] 148s returns -1 148s with [1] and [] 148s returns 1 148s with [] and [] 148s returns 0 148s with [1] and [2] 148s returns -1 148s with [2] and [1] 148s returns 1 148s with [1] and [1] 148s returns 0 148s with [1] and [1, 2] 148s returns -1 148s with [1, 2] and [1] 148s returns 1 148s with [1] and [1] 148s returns 0 148s with [2, 3, 4] and [3, 4, 5] 148s returns -1 148s with [3, 4, 5] and [2, 3, 4] 148s returns 1 148s with [2, 3, 4] and [2, 3, 4] 148s returns 0 148s 148s Immutable::List 148s #cons 148s on [] with "A" 148s preserves the original 148s returns ["A"] 148s on ["A"] with "B" 148s preserves the original 148s returns ["B", "A"] 148s on ["A"] with "A" 148s preserves the original 148s returns ["A", "A"] 148s on ["A", "B", "C"] with "D" 148s preserves the original 148s returns ["D", "A", "B", "C"] 148s 148s Immutable 148s .list 148s with no arguments 148s always returns the same instance 148s returns an empty list 148s with a number of items 148s always returns a different instance 148s is the same as repeatedly using #cons 148s .stream 148s with no block 148s returns an empty list 148s with a block 148s repeatedly calls the block 148s .interval 148s for numbers 148s is equivalent to a list with explicit values 148s for strings 148s is equivalent to a list with explicit values 148s .repeat 148s returns an infinite list with specified value for each element 148s .replicate 148s returns a list with the specified value repeated the specified number of times 148s .iterate 148s 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 148s .enumerate 148s returns a list based on the values yielded from the enumerator 148s realizes values as they are needed 148s [] 148s takes a variable number of items and returns a list 148s returns an empty list when called without arguments 148s 148s Immutable::List 148s on [] 148s returns self 148s on ["A"] 148s returns self 148s on ["A", "B", "C"] 148s returns self 148s on [] 148s returns self 148s on ["A"] 148s returns self 148s on ["A", "B", "C"] 148s returns self 148s 148s Immutable::List 148s #count 148s on a really big list 148s doesn't run out of stack 148s on [] 148s with a block 148s returns 0 148s without a block 148s returns length 148s on [1] 148s with a block 148s returns 1 148s without a block 148s returns length 148s on [1, 2] 148s with a block 148s returns 1 148s without a block 148s returns length 148s on [1, 2, 3] 148s with a block 148s returns 2 148s without a block 148s returns length 148s on [1, 2, 3, 4] 148s with a block 148s returns 2 148s without a block 148s returns length 148s on [1, 2, 3, 4, 5] 148s with a block 148s returns 3 148s without a block 148s returns length 148s 148s Immutable 148s #cycle 148s is lazy 148s with an empty list 148s returns an empty list 148s with a non-empty list 148s preserves the original 148s infinitely cycles through all values 148s 148s Immutable::List 148s #delete_at 148s removes the element at the specified index 148s makes no modification if the index is out of range 148s 148s Immutable::List 148s #delete 148s removes elements that are #== to the argument 148s 148s Immutable::List 148s #drop 148s is lazy 148s with 10 from [] 148s preserves the original 148s returns [] 148s with 10 from ["A"] 148s preserves the original 148s returns [] 148s with -1 from ["A"] 148s preserves the original 148s returns ["A"] 148s with 0 from ["A", "B", "C"] 148s preserves the original 148s returns ["A", "B", "C"] 148s with 2 from ["A", "B", "C"] 148s preserves the original 148s returns ["C"] 148s 148s Immutable::List 148s #drop_while 148s is lazy 148s on [] 148s with a block 148s preserves the original 148s returns [] 148s without a block 148s returns an Enumerator 148s on ["A"] 148s with a block 148s preserves the original 148s returns [] 148s without a block 148s returns an Enumerator 148s on ["A", "B", "C"] 148s with a block 148s preserves the original 148s returns ["C"] 148s without a block 148s returns an Enumerator 148s 148s Immutable::List 148s #each_chunk 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 #each_slice 148s on a really big list 149s doesn't run out of stack 149s on [] 149s with a block 149s preserves the original 149s iterates over the items in order 149s returns self 149s without a block 149s preserves the original 149s returns an Enumerator 149s on ["A"] 149s with a block 149s preserves the original 149s iterates over the items in order 149s returns self 149s without a block 149s preserves the original 149s returns an Enumerator 149s on ["A", "B", "C"] 149s with a block 149s preserves the original 149s iterates over the items in order 149s returns self 149s without a block 149s preserves the original 149s returns an Enumerator 149s 149s Immutable::List 149s #each 149s on a really big list 149s doesn't run out of stack 149s on [] 149s with a block 149s iterates over the items in order 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A"] 149s with a block 149s iterates over the items in order 149s returns nil 149s without a block 149s returns an Enumerator 149s on ["A", "B", "C"] 149s with a block 149s iterates over the items in order 149s returns nil 149s without a block 149s returns an Enumerator 149s 149s Immutable::List 149s #each_with_index 149s with no block 149s returns an Enumerator 149s with a block 149s returns self 149s iterates over the items in order, yielding item and index 149s 149s Immutable::List 149s #empty? 149s on a really big list 149s doesn't run out of stack 149s on [] 149s returns true 149s on ["A"] 149s returns false 149s on ["A", "B", "C"] 149s returns false 149s 149s Immutable::List 149s Immutable::List["A", "B", "C"] should == ["A", "B", "C"] 149s Immutable::List["A", "B", "C"] should not eql? ["A", "B", "C"] 149s Immutable::List["A", "B", "C"] should not == # 149s Immutable::List["A", "B", "C"] should not eql? # 149s Immutable::List[] should == [] 149s Immutable::List[] should not eql? [] 149s Immutable::List[] should eql? Immutable::List[] 149s Immutable::List[] should == Immutable::List[] 149s Immutable::List[] should not eql? Immutable::List[nil] 149s Immutable::List["A"] should not eql? Immutable::List[] 149s Immutable::List["A"] should eql? Immutable::List["A"] 149s Immutable::List["A"] should == Immutable::List["A"] 149s Immutable::List["A"] should not eql? Immutable::List["B"] 149s Immutable::List["A", "B"] should not eql? Immutable::List["A"] 149s Immutable::List["A", "B", "C"] should eql? Immutable::List["A", "B", "C"] 149s Immutable::List["A", "B", "C"] should == Immutable::List["A", "B", "C"] 149s Immutable::List["C", "A", "B"] should not eql? Immutable::List["A", "B", "C"] 149s Immutable::List["A"] should == ["A"] 149s ["A"] should == Immutable::List["A"] 149s Immutable::List["A"] should not eql? ["A"] 149s ["A"] should not eql? Immutable::List["A"] 149s #eql? 149s 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 150s doesn't run out of stack 150s with a block 150s on [] 150s returns [] 150s on [1] 150s returns [{true=>Immutable::List[1]}] 150s on [1, 2, 3, 4] 150s returns [{true=>Immutable::List[3, 1], false=>Immutable::List[4, 2]}] 150s without a block 150s on [] 150s returns [] 150s on [1] 150s returns [{1=>Immutable::List[1]}] 150s on [1, 2, 3, 4] 150s returns [{1=>Immutable::List[1], 2=>Immutable::List[2], 3=>Immutable::List[3], 4=>Immutable::List[4]}] 150s 150s Immutable::List 150s #hash 150s values are sufficiently distributed 150s on a really big list 150s doesn't run out of stack 150s on an empty list 150s returns 0 150s 150s Immutable::List 150s #head 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["A", "B", "C"] 150s returns "A" 150s #first 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["A", "B", "C"] 150s returns "A" 150s 150s Immutable::List 150s #include? 150s on a really big list 150s doesn't run out of stack 150s on [] 150s returns false 150s on [] 150s returns false 150s on ["A"] 150s returns true 150s on ["A"] 150s returns false 150s on ["A"] 150s returns false 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns false 150s on [2] 150s returns true 150s on [2] 150s returns true 150s on [2.0] 150s returns true 150s on [2.0] 150s returns true 150s #member? 150s on a really big list 150s doesn't run out of stack 150s on [] 150s returns false 150s on [] 150s returns false 150s on ["A"] 150s returns true 150s on ["A"] 150s returns false 150s on ["A"] 150s returns false 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns true 150s on ["A", "B", nil] 150s returns false 150s on [2] 150s returns true 150s on [2] 150s returns true 150s on [2.0] 150s returns true 150s on [2.0] 150s returns true 150s 150s Immutable::List 150s #index 150s on a really big list 150s doesn't run out of stack 150s looking for "A" in [] 150s returns nil 150s looking for nil in [] 150s returns nil 150s looking for "A" in ["A"] 150s returns 0 150s looking for "B" in ["A"] 150s returns nil 150s looking for nil in ["A"] 150s returns nil 150s looking for "A" in ["A", "B", nil] 150s returns 0 150s looking for "B" in ["A", "B", nil] 150s returns 1 150s looking for nil in ["A", "B", nil] 150s returns 2 150s looking for "C" in ["A", "B", nil] 150s returns nil 150s looking for 2 in [2] 150s returns 0 150s looking for 2.0 in [2] 150s returns 0 150s looking for 2.0 in [2.0] 150s returns 0 150s looking for 2 in [2.0] 150s returns 0 150s 150s Immutable::List 150s #indices 150s when called with a block 150s is lazy 150s on a large list which doesn't contain desired item 150s doesn't blow the stack 150s looking for "A" in [] 150s returns [] 150s looking for "B" in ["A"] 150s returns [] 150s looking for "B" in ["A", "B", "A"] 150s returns [1] 150s looking for "A" in ["A", "B", "A"] 150s returns [0, 2] 150s looking for 2 in [2] 150s returns [0] 150s looking for 2.0 in [2] 150s returns [0] 150s looking for 2.0 in [2.0] 150s returns [0] 150s looking for 2 in [2.0] 150s returns [0] 150s when called with a single argument 150s is lazy 150s looking for "A" in [] 150s returns [] 150s looking for "B" in ["A"] 150s returns [] 150s looking for "B" in ["A", "B", "A"] 150s returns [1] 150s looking for "A" in ["A", "B", "A"] 150s returns [0, 2] 150s looking for 2 in [2] 150s returns [0] 150s looking for 2.0 in [2] 150s returns [0] 150s looking for 2.0 in [2.0] 150s returns [0] 150s looking for 2 in [2.0] 150s returns [0] 150s 150s Immutable::List 150s #init 150s is lazy 150s on [] 150s preserves the original 150s returns the list without the last element: [] 150s on ["A"] 150s preserves the original 150s returns the list without the last element: [] 150s on ["A", "B", "C"] 150s preserves the original 150s returns the list without the last element: ["A", "B"] 150s 150s Immutable::List 150s #inits 150s is lazy 150s on [] 150s preserves the original 150s returns [] 150s on ["A"] 150s preserves the original 150s returns [Immutable::List["A"]] 150s on ["A", "B", "C"] 150s preserves the original 150s returns [Immutable::List["A"], Immutable::List["A", "B"], Immutable::List["A", "B", "C"]] 150s 150s Immutable::List 150s #insert 150s can add items at the beginning of a list 150s can add items in the middle of a list 150s can add items at the end of a list 150s can add items past the end of a list 150s accepts a negative index, which counts back from the end of the list 150s raises IndexError if a negative index is too great 150s is lazy 150s 150s Immutable::List 150s #inspect 150s on a really big list 150s doesn't run out of stack 150s on [] 150s returns "Immutable::List[]" 150s returns a string which can be eval'd to get an equivalent object 150s on ["A"] 150s returns "Immutable::List[\"A\"]" 150s returns a string which can be eval'd to get an equivalent object 150s on ["A", "B", "C"] 150s returns "Immutable::List[\"A\", \"B\", \"C\"]" 150s returns a string which can be eval'd to get an equivalent object 150s 150s Immutable::List 150s #intersperse 150s is lazy 150s on [] 150s preserves the original 150s returns [] 150s on ["A"] 150s preserves the original 150s returns ["A"] 150s on ["A", "B", "C"] 150s preserves the original 150s returns ["A", "|", "B", "|", "C"] 150s 150s Immutable::List 150s #join 150s on a really big list 150s doesn't run out of stack 150s with a separator 150s on [] 150s preserves the original 150s returns "" 150s on ["A"] 150s preserves the original 150s returns "A" 150s on ["A", "B", "C"] 150s preserves the original 150s returns "A|B|C" 150s without a separator 150s on [] 150s preserves the original 150s returns "" 150s on ["A"] 150s preserves the original 150s returns "A" 150s on ["A", "B", "C"] 150s preserves the original 150s returns "ABC" 150s without a separator (with global default separator set) 150s uses the default global separator 150s 150s Immutable::List 150s #last 150s on a really big list 150s doesn't run out of stack 150s on [] 150s returns nil 150s on ["A"] 150s returns "A" 150s on ["A", "B", "C"] 150s returns "C" 150s 150s Immutable::List 150s #<< 150s adds an item onto the end of a list 150s on an empty list 150s returns a list with one item 150s 150s Immutable::List 150s #map 150s is lazy 150s on [] 150s with a block 150s preserves the original 150s returns [] 150s is lazy 150s without a block 150s returns an Enumerator 150s on ["A"] 150s with a block 150s preserves the original 150s returns ["a"] 150s is lazy 150s without a block 150s returns an Enumerator 150s on ["A", "B", "C"] 150s with a block 150s preserves the original 150s returns ["a", "b", "c"] 150s is lazy 150s without a block 150s returns an Enumerator 150s #collect 150s is lazy 150s on [] 150s with a block 150s preserves the original 150s returns [] 150s is lazy 150s without a block 150s returns an Enumerator 150s on ["A"] 150s with a block 150s preserves the original 150s returns ["a"] 150s is lazy 150s without a block 150s returns an Enumerator 150s on ["A", "B", "C"] 150s with a block 150s preserves the original 150s returns ["a", "b", "c"] 150s is lazy 150s without a block 150s returns an Enumerator 150s 150s Immutable::List 150s #max 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 "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 151s ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads 151s doesn't go into an infinite loop if lazy list block raises an exception 151s doesn't give horrendously bad performance if thread realizing the list sleeps 151s 151s Immutable::List 151s #none? 151s on a really big list 151s doesn't run out of stack 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 false if the block ever returns true ("A") 151s returns false if the block ever returns true ("B") 151s returns false if the block ever returns true ("C") 151s returns false if the block ever returns true (nil) 151s returns true if the block always returns false 151s with no block 151s returns false if any value is truthy 151s returns true if all values are falsey 151s 151s Immutable::List 151s #one? 151s on a really big list 151s doesn't run out of stack 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 false if the block returns true more than once 151s returns false if the block never returns true 151s returns true if the block only returns true once 151s with no block 151s returns false if more than one value is truthy 151s returns true if only one value is truthy 151s 151s Immutable::List 151s #partition 151s is lazy 151s calls the passed block only once for each item 151s returns a lazy list of items for which predicate is true 151s returns a lazy list of items for which predicate is false 151s calls the passed block only once for each item, even with multiple threads 151s on [] 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] 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] 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] 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 [] 152s for [] and ["A", "B", "C"] 152s returns ["A"] 152s for ["A", "A"] and ["A"] 152s for ["A"] and ["A", "A"] 152s 152s Immutable::List 152s #uniq 152s is lazy 152s when passed a block 152s uses the block to identify duplicates 152s on [] 152s preserves the original 152s returns [] 152s on ["A"] 152s preserves the original 152s returns ["A"] 152s on ["A", "B", "C"] 152s preserves the original 152s returns ["A", "B", "C"] 152s on ["A", "B", "A", "C", "C"] 152s preserves the original 152s returns ["A", "B", "C"] 152s 152s Immutable::List 152s #zip 152s is lazy 152s on [] and [] 152s returns [] 152s on ["A"] and ["aye"] 152s returns [Immutable::List["A", "aye"]] 152s on ["A"] and [] 152s returns [Immutable::List["A", nil]] 152s on [] and ["A"] 152s returns [Immutable::List[nil, "A"]] 152s on ["A", "B", "C"] and ["aye", "bee", "see"] 152s returns [Immutable::List["A", "aye"], Immutable::List["B", "bee"], Immutable::List["C", "see"]] 152s 152s Immutable 152s .from 152s with {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} as input 152s should return Immutable::Hash["h" => /ijk/, "d" => Immutable::Set[5, 6, 7], "e" => Immutable::Hash["g" => 9, "f" => 8], "a" => 1, "b" => Immutable::Vector[2, Immutable::Hash["c" => 3], 4]] 152s with {} as input 152s should return Immutable::Hash[] 152s with {"a"=>1, "b"=>2, "c"=>3} as input 152s should return Immutable::Hash["c" => 3, "a" => 1, "b" => 2] 152s with [] as input 152s should return Immutable::Vector[] 152s with [1, 2, 3] as input 152s should return Immutable::Vector[1, 2, 3] 152s with # as input 152s should return Immutable::Set[] 152s with # as input 152s should return Immutable::Set[1, 3, 2] 152s with 42 as input 152s should return 42 152s with #> as input 152s should return #> 152s with # as input 152s should return Immutable::Hash[:address => nil, :name => nil] 152s with # as input 152s should return Immutable::Hash[:address => "123 Main", :name => "Dave"] 152s with mixed object 152s should return Immutable data 152s .to_ruby 152s with Immutable::Hash["h" => /ijk/, "d" => Immutable::Set[5, 6, 7], "e" => Immutable::Hash["g" => 9, "f" => 8], "a" => 1, "b" => Immutable::Vector[2, Immutable::Hash["c" => 3], 4]] as input 152s should return {"a"=>1, "b"=>[2, {"c"=>3}, 4], "d"=>#, "e"=>{"f"=>8, "g"=>9}, "h"=>/ijk/} 152s with Immutable::Hash[] as input 152s should return {} 152s with Immutable::Hash["c" => 3, "a" => 1, "b" => 2] as input 152s should return {"a"=>1, "b"=>2, "c"=>3} 152s with Immutable::Vector[] as input 152s should return [] 152s with Immutable::Vector[1, 2, 3] as input 152s should return [1, 2, 3] 152s with Immutable::Set[] as input 152s should return # 152s with Immutable::Set[1, 3, 2] as input 152s should return # 152s with 42 as input 152s should return 42 152s with #> as input 152s should return #> 152s with Immutable::Deque[] as input 152s should return [] 152s with Immutable::Deque[Immutable::Hash["a" => 1]] as input 152s should return [{"a" => 1}] 152s with Immutable::SortedSet[] as input 152s should return ::SortedSet.new 152s with Immutable::SortedSet[1, 2, 3] as input 152s should return ::SortedSet.new 152s with mixed object 152s should return Ruby data structures 152s 152s Immutable::Set 152s #add 152s can add nil to a set 152s works on large sets, with many combinations of input 152s with a unique value 152s preserves the original 152s returns a copy with the superset of values 152s with a duplicate value 152s preserves the original values 152s returns self 152s #<< 152s can add nil to a set 152s works on large sets, with many combinations of input 152s with a unique value 152s preserves the original 152s returns a copy with the superset of values 152s with a duplicate value 152s preserves the original values 152s returns self 152s #add? 152s with a unique value 152s preserves the original 152s returns a copy with the superset of values 152s with a duplicate value 152s preserves the original values 152s returns false 152s 152s Immutable::Set 152s #all? 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 true if the block always returns true 152s returns false if the block ever returns false 152s propagates an exception from the block 152s stops iterating as soon as the block returns false 152s with no block 152s returns true if all values are truthy 152s returns false if any value is nil 152s returns false if any value is false 152s 152s Immutable::Set 152s #any? 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 true if the block ever returns true ("A") 152s returns true if the block ever returns true ("B") 152s returns true if the block ever returns true ("C") 152s returns true if the block ever returns true (nil) 152s returns false if the block always returns false 152s propagates exceptions raised in the block 152s stops iterating as soon as the block returns true 152s with no block 152s returns true if any value is truthy 152s returns false if all values are falsey 152s 152s Immutable::Set 152s #clear 152s on [] 152s preserves the original 152s returns an empty set 152s on ["A"] 152s preserves the original 152s returns an empty set 152s on ["A", "B", "C"] 152s preserves the original 152s returns an empty set 152s from a subclass 152s returns an empty instance of the subclass 152s 152s Immutable::Set 152s #compact 152s on [] 152s preserves the original 152s returns [] 152s on ["A"] 152s preserves the original 152s returns ["A"] 152s on ["A", "B", "C"] 152s preserves the original 152s returns ["A", "B", "C"] 152s on [nil] 152s preserves the original 152s returns [] 152s on [nil, "B"] 152s preserves the original 152s returns ["B"] 152s on ["A", nil] 152s preserves the original 152s returns ["A"] 152s on [nil, nil] 152s preserves the original 152s returns [] 152s on ["A", nil, "C"] 152s preserves the original 152s returns ["A", "C"] 152s on [nil, "B", nil] 152s preserves the original 152s returns ["B"] 152s 152s Immutable::Set 152s .set 152s with no values 152s returns the empty set 152s with a list of values 152s is equivalent to repeatedly using #add 152s 152s Immutable::Set 152s #dup 152s returns self 152s #clone 152s returns self 152s 152s Immutable::Set 152s #count 152s works on large sets 152s on [] 152s with a block 152s returns 0 152s without a block 152s returns length 152s on [1] 152s with a block 152s returns 1 152s without a block 152s returns length 152s on [1, 2] 152s with a block 152s returns 1 152s without a block 152s returns length 152s on [1, 2, 3] 152s with a block 152s returns 2 152s without a block 152s returns length 152s on [1, 2, 3, 4] 152s with a block 152s returns 2 152s without a block 152s returns length 152s on [1, 2, 3, 4, 5] 152s with a block 152s returns 3 152s without a block 152s returns length 152s 152s Immutable::Set 152s #delete 152s works on large sets, with many combinations of input 152s with an existing value 152s preserves the original 152s returns a copy with the remaining values 152s with a non-existing value 152s preserves the original values 152s returns self 152s when removing the last value in a set 152s returns the canonical empty set 152s #delete? 152s with an existing value 152s preserves the original 152s returns a copy with the remaining values 152s with a non-existing value 152s preserves the original values 152s returns false 152s 152s Immutable::Set 152s #difference 152s works on a wide variety of inputs 152s for [] and [] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s doesn't modify the original Sets 152s returns ["A"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s doesn't modify the original Sets 152s returns ["A", "C"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["A", "C"] 152s doesn't modify the original Sets 152s returns ["B"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 152s doesn't modify the original Sets 152s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 152s doesn't modify the original Sets 152s returns ["A", "M", "Y", "Z"] 152s when passed a Ruby Array 152s returns the expected Set 152s #subtract 152s works on a wide variety of inputs 152s for [] and [] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s doesn't modify the original Sets 152s returns ["A"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s doesn't modify the original Sets 152s returns ["A", "C"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["A", "C"] 152s doesn't modify the original Sets 152s returns ["B"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 152s doesn't modify the original Sets 152s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 152s doesn't modify the original Sets 152s returns ["A", "M", "Y", "Z"] 152s when passed a Ruby Array 152s returns the expected Set 152s #- 152s works on a wide variety of inputs 152s for [] and [] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s doesn't modify the original Sets 152s returns ["A"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s doesn't modify the original Sets 152s returns ["A", "C"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["A", "C"] 152s doesn't modify the original Sets 152s returns ["B"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "D", "E", "F", "G", "H"] and [] 152s doesn't modify the original Sets 152s returns ["A", "B", "C", "D", "E", "F", "G", "H"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C", "M", "X", "Y", "Z"] and ["B", "C", "D", "E", "F", "G", "H", "I", "J", "X"] 152s doesn't modify the original Sets 152s returns ["A", "M", "Y", "Z"] 152s when passed a Ruby Array 152s returns the expected Set 152s 152s Immutable::Set 152s #disjoint? 152s for [] and [] 152s returns true 152s for ["A"] and [] 152s returns true 152s for [] and ["A"] 152s returns true 152s for ["A"] and ["A"] 152s returns false 152s for ["A", "B", "C"] and ["B"] 152s returns false 152s for ["B"] and ["A", "B", "C"] 152s returns false 152s for ["A", "B", "C"] and ["D", "E"] 152s returns true 152s for ["F", "G", "H", "I"] and ["A", "B", "C"] 152s returns true 152s for ["A", "B", "C"] and ["A", "B", "C"] 152s returns false 152s for ["A", "B", "C"] and ["A", "B", "C", "D"] 152s returns false 152s for ["D", "E", "F", "G"] and ["A", "B", "C"] 152s returns true 152s 152s Immutable::Set 152s #each 152s yields both of a pair of colliding keys 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 #empty? 152s on [] 152s returns true 152s on ["A"] 152s returns false 152s on ["A", "B", "C"] 152s returns false 152s on [nil] 152s returns false 152s on [false] 152s returns false 152s .empty 152s returns the canonical empty set 152s from a subclass 152s returns an empty instance of the subclass 152s calls overridden #initialize when creating empty Set 152s 152s Immutable::Set 152s #== 152s when comparing to a standard set 152s returns false 152s when comparing to a arbitrary object 152s returns false 152s with an empty set for each comparison 152s returns true 152s with an empty set and a set with nil 152s returns false 152s with a single item array and empty array 152s returns false 152s with matching single item array 152s returns true 152s with mismatching single item array 152s returns false 152s with a multi-item array and single item array 152s returns false 152s with matching multi-item array 152s returns true 152s with a mismatching multi-item array 152s returns true 152s 152s Immutable::Set 152s #eql? 152s when comparing to a standard set 152s returns false 152s when comparing to a arbitrary object 152s returns false 152s when comparing with a subclass of Immutable::Set 152s returns false 152s with an empty set for each comparison 152s returns true 152s with an empty set and a set with nil 152s returns false 152s with a single item array and empty array 152s returns false 152s with matching single item array 152s returns true 152s with mismatching single item array 152s returns false 152s with a multi-item array and single item array 152s returns false 152s with matching multi-item array 152s returns true 152s with a mismatching multi-item array 152s returns true 152s 152s Immutable::Set 152s #exclusion 152s works for a wide variety of inputs 152s for [] and [] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s doesn't modify the original Sets 152s returns ["A"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s doesn't modify the original Sets 152s returns ["A", "C"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B", "C", "D"] 152s doesn't modify the original Sets 152s returns ["A", "D"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["D", "E", "F"] 152s doesn't modify the original Sets 152s returns ["A", "B", "C", "D", "E", "F"] 152s when passed a Ruby Array 152s returns the expected Set 152s #^ 152s works for a wide variety of inputs 152s for [] and [] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s doesn't modify the original Sets 152s returns ["A"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s doesn't modify the original Sets 152s returns [] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s doesn't modify the original Sets 152s returns ["A", "C"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B", "C", "D"] 152s doesn't modify the original Sets 152s returns ["A", "D"] 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["D", "E", "F"] 152s doesn't modify the original Sets 152s returns ["A", "B", "C", "D", "E", "F"] 152s when passed a Ruby Array 152s returns the expected Set 152s 152s Immutable::Set 152s #find 152s on [] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on [] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns "A" 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns "A" 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns "B" 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s #detect 152s on [] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on [] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns "A" 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A"] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns "A" 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns "B" 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s on ["A", "B", nil] 152s with a block 152s returns nil 152s without a block 152s returns an Enumerator 152s 152s Immutable::Set 152s #first 152s returns nil if only member of set is nil 152s returns the first item yielded by #each 152s on an empty set 152s returns nil 152s on a non-empty set 152s returns an arbitrary value from the set 152s 152s Immutable 152s #flatten 152s on ["A"] 152s preserves the original 152s returns the inlined values 152s on ["A", "B", "C"] 152s preserves the original 152s returns the inlined values 152s on ["A", Immutable::Set["B"], "C"] 152s preserves the original 152s returns the inlined values 152s on [Immutable::Set["A"], Immutable::Set["B"], Immutable::Set["C"]] 152s preserves the original 152s returns the inlined values 152s on an empty set 152s returns an empty set 152s on a set with multiple levels of nesting 152s inlines lower levels of nesting 152s from a subclass 152s returns an instance of the subclass 152s 152s Immutable::Set 152s #grep 152s without a block 152s with an empty set 152s returns the filtered values 152s with a single item set 152s returns the filtered values 152s with a single item set that doesn't contain match 152s returns the filtered values 152s with a multi-item set where one isn't a match 152s returns the filtered values 152s with a block 152s with an empty set 152s returns the filtered values 152s with a single item set 152s returns the filtered values 152s with a single item set that doesn't contain match 152s returns the filtered values 152s with a multi-item set where one isn't a match 152s returns the filtered values 152s 152s Immutable::Set 152s #grep_v 152s without a block 152s with an empty set 152s returns the filtered values 152s with a single item set 152s returns the filtered values 152s with a single item set that doesn't contain match 152s returns the filtered values 152s with a multi-item set where one isn't a match 152s returns the filtered values 152s with a block 152s resulting items are processed with the block 152s returns the filtered values 152s 152s Immutable::Set 152s #group_by 152s returns a hash without default proc 152s with a block 152s on [] 152s returns [] 152s on [1] 152s returns [{true=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[4, 2]}] 152s without a block 152s on [] 152s returns [] 152s on [1] 152s returns [{1=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 152s on an empty set 152s returns an empty hash 152s from a subclass 152s returns an Hash whose values are instances of the subclass 152s #group 152s returns a hash without default proc 152s with a block 152s on [] 152s returns [] 152s on [1] 152s returns [{true=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[4, 2]}] 152s without a block 152s on [] 152s returns [] 152s on [1] 152s returns [{1=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 152s on an empty set 152s returns an empty hash 152s from a subclass 152s returns an Hash whose values are instances of the subclass 152s #classify 152s returns a hash without default proc 152s with a block 152s on [] 152s returns [] 152s on [1] 152s returns [{true=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{true=>Immutable::Set[1, 3], false=>Immutable::Set[4, 2]}] 152s without a block 152s on [] 152s returns [] 152s on [1] 152s returns [{1=>Immutable::Set[1]}] 152s on [1, 2, 3, 4] 152s returns [{1=>Immutable::Set[1], 2=>Immutable::Set[2], 3=>Immutable::Set[3], 4=>Immutable::Set[4]}] 152s on an empty set 152s returns an empty hash 152s from a subclass 152s returns an Hash whose values are instances of the subclass 152s 152s Immutable::Set 152s #hash 152s generates the same hash value for a set regardless of the order things were added to it 152s values are sufficiently distributed 152s on an empty set 152s returns 0 152s 152s Immutable::Set 152s #include? 152s returns true for an existing value ("A") 152s returns true for an existing value ("B") 152s returns true for an existing value ("C") 152s returns true for an existing value (2.0) 152s returns true for an existing value (nil) 152s returns false for a non-existing value 152s returns true even if existing value is nil 152s returns true even if existing value is false 152s returns false for a mutable item which is mutated after adding 152s uses #eql? for equality 152s returns the right answers after a lot of addings and removings 152s #member? 152s returns true for an existing value ("A") 152s returns true for an existing value ("B") 152s returns true for an existing value ("C") 152s returns true for an existing value (2.0) 152s returns true for an existing value (nil) 152s returns false for a non-existing value 152s returns true even if existing value is nil 152s returns true even if existing value is false 152s returns false for a mutable item which is mutated after adding 152s uses #eql? for equality 152s returns the right answers after a lot of addings and removings 152s 152s Immutable::Set 152s #inspect 152s on [] 152s returns "Immutable::Set[]" 152s returns a string which can be eval'd to get an equivalent set 152s on ["A"] 152s returns "Immutable::Set[\"A\"]" 152s returns a string which can be eval'd to get an equivalent set 152s on ["A", "B", "C"] 152s returns a programmer-readable representation of the set contents 152s returns a string which can be eval'd to get an equivalent set 152s from a subclass 152s returns a programmer-readable representation of the set contents 152s returns a string which can be eval'd to get an equivalent set 152s 152s Immutable::Set 152s #intersect? 152s for [] and [] 152s returns false 152s for ["A"] and [] 152s returns false 152s for [] and ["A"] 152s returns false 152s for ["A"] and ["A"] 152s returns true 152s for ["A", "B", "C"] and ["B"] 152s returns true 152s for ["B"] and ["A", "B", "C"] 152s returns true 152s for ["A", "B", "C"] and ["D", "E"] 152s returns false 152s for ["F", "G", "H", "I"] and ["A", "B", "C"] 152s returns false 152s for ["A", "B", "C"] and ["A", "B", "C"] 152s returns true 152s for ["A", "B", "C"] and ["A", "B", "C", "D"] 152s returns true 152s for ["D", "E", "F", "G"] and ["A", "B", "C"] 152s returns false 152s 152s Immutable::Set 152s #intersection 152s returns results consistent with Array#& 152s for [] and [] 152s returns [], without changing the original Sets 152s for [] and [] 152s returns [], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s returns [], without changing the original Sets 152s for [] and ["A"] 152s returns [], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s returns ["A"], without changing the original Sets 152s for ["A"] and ["A"] 152s returns ["A"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s returns ["B"], without changing the original Sets 152s for ["B"] and ["A", "B", "C"] 152s returns ["B"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["A", "C"] 152s returns ["A", "C"], without changing the original Sets 152s for ["A", "C"] and ["A", "B", "C"] 152s returns ["A", "C"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s #& 152s returns results consistent with Array#& 152s for [] and [] 152s returns [], without changing the original Sets 152s for [] and [] 152s returns [], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and [] 152s returns [], without changing the original Sets 152s for [] and ["A"] 152s returns [], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A"] and ["A"] 152s returns ["A"], without changing the original Sets 152s for ["A"] and ["A"] 152s returns ["A"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["B"] 152s returns ["B"], without changing the original Sets 152s for ["B"] and ["A", "B", "C"] 152s returns ["B"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s for ["A", "B", "C"] and ["A", "C"] 152s returns ["A", "C"], without changing the original Sets 152s for ["A", "C"] and ["A", "B", "C"] 152s returns ["A", "C"], without changing the original Sets 152s when passed a Ruby Array 152s returns the expected Set 152s 152s Immutable::Set 152s #join 152s with a separator 152s on [] 152s preserves the original 152s returns "" 152s on ["A"] 152s preserves the original 152s returns "A" 152s on ["A", "B", "C"] 152s preserves the original 152s returns "A|B|C" 152s without a separator 152s on [] 152s preserves the original 152s returns "" 152s on ["A"] 152s preserves the original 152s returns "A" 152s on ["A", "B", "C"] 152s preserves the original 152s returns "ABC" 152s without a separator (with global default separator set) 152s on ['A', 'B', 'C'] 152s preserves the original 152s returns nil 152s 152s Immutable::Set 152s #map 152s works on large sets 152s when empty 152s returns self 152s when not empty 152s with a block 152s preserves the original values 152s returns a new set with the mapped values 152s with no block 152s returns an Enumerator 152s from a subclass 152s returns an instance of the subclass 152s when multiple items map to the same value 152s filters out the duplicates 152s #collect 152s works on large sets 152s when empty 152s returns self 152s when not empty 152s with a block 152s preserves the original values 152s returns a new set with the mapped values 152s with no block 152s returns an Enumerator 152s from a subclass 152s returns an instance of the subclass 152s 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 153s still works 153s #delete_if 153s when nothing 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 self 153s on a large set, with many combinations of input 153s still works 153s 153s Immutable::Set 153s #reverse_each 153s without a block 153s returns an Enumerator 153s with an empty block 153s returns self 153s with a block 153s yields all values 153s 153s Immutable::Set 153s #sample 153s returns a randomly chosen item 153s 153s Immutable::Set 153s #select 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 #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 [] 154s on [1] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 154s without a block 154s on [] 154s preserves the original 154s returns [] 154s on [1] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 154s from a subclass 154s returns an Hash whose values are instances of the subclass 154s #group 154s with a block 154s on [] 154s preserves the original 154s returns [] 154s on [1] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 154s without a block 154s on [] 154s preserves the original 154s returns [] 154s on [1] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 154s from a subclass 154s returns an Hash whose values are instances of the subclass 154s #classify 154s with a block 154s on [] 154s preserves the original 154s returns [] 154s on [1] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{true=>Immutable::SortedSet[1, 3], false=>Immutable::SortedSet[2, 4]}] 154s without a block 154s on [] 154s preserves the original 154s returns [] 154s on [1] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1]}] 154s on [1, 2, 3, 4] 154s preserves the original 154s returns [{1=>Immutable::SortedSet[1], 2=>Immutable::SortedSet[2], 3=>Immutable::SortedSet[3], 4=>Immutable::SortedSet[4]}] 154s from a subclass 154s returns an Hash whose values are instances of the subclass 154s 154s Immutable::SortedSet 154s #include? 154s returns true for an existing value (1) 154s returns true for an existing value (2) 154s returns true for an existing value (3) 154s returns true for an existing value (4.0) 154s returns false for a non-existing value 154s uses #<=> for equality 154s #member? 154s returns true for an existing value (1) 154s returns true for an existing value (2) 154s returns true for an existing value (3) 154s returns true for an existing value (4.0) 154s returns false for a non-existing value 154s uses #<=> for equality 154s 154s Immutable::SortedSet 154s #inspect 154s on [] 154s returns "Immutable::SortedSet[]" 154s returns a string which can be eval'd to get an equivalent set 154s on ["A"] 154s returns "Immutable::SortedSet[\"A\"]" 154s returns a string which can be eval'd to get an equivalent set 154s on ["C", "B", "A"] 154s returns "Immutable::SortedSet[\"A\", \"B\", \"C\"]" 154s returns a string which can be eval'd to get an equivalent set 154s from a subclass 154s returns a programmer-readable representation of the set contents 154s returns a string which can be eval'd to get an equivalent set 154s 154s Immutable::SortedSet 154s #intersect? 154s for [] and [] 154s returns false 154s for ["A"] and [] 154s returns false 154s for [] and ["A"] 154s returns false 154s for ["A"] and ["A"] 154s returns true 154s for ["A", "B", "C"] and ["B"] 154s returns true 154s for ["B"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["D", "E"] 154s returns false 154s for ["F", "G", "H", "I"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "B", "C", "D"] 154s returns true 154s for ["D", "E", "F", "G"] and ["A", "B", "C"] 154s returns false 154s 154s Immutable::SortedSet 154s #intersection 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns [] 154s for [] and ["A"] 154s returns [] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and ["B"] 154s returns ["B"] 154s for ["B"] and ["A", "B", "C"] 154s returns ["B"] 154s for ["A", "B", "C"] and ["A", "C"] 154s returns ["A", "C"] 154s for ["A", "C"] and ["A", "B", "C"] 154s returns ["A", "C"] 154s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 154s returns ["M", "T"] 154s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 154s returns ["M", "T"] 154s #& 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns [] 154s for [] and ["A"] 154s returns [] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and ["B"] 154s returns ["B"] 154s for ["B"] and ["A", "B", "C"] 154s returns ["B"] 154s for ["A", "B", "C"] and ["A", "C"] 154s returns ["A", "C"] 154s for ["A", "C"] and ["A", "B", "C"] 154s returns ["A", "C"] 154s for ["A", "M", "T", "X"] and ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] 154s returns ["M", "T"] 154s for ["B", "C", "D", "E", "F", "G", "H", "I", "M", "P", "Q", "T", "U"] and ["A", "M", "T", "X"] 154s returns ["M", "T"] 154s 154s Immutable::SortedSet 154s #last 154s with an empty set 154s returns the last item 154s with a single item set 154s returns the last item 154s with a multi-item set 154s returns the last item 154s 154s Immutable::SortedSet 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 set with the mapped values 154s filters out duplicates 154s with no block 154s returns an Enumerator 154s on a set ordered by a comparator 154s returns a new set with the mapped values 154s filters out duplicates 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 set with the mapped values 154s filters out duplicates 154s with no block 154s returns an Enumerator 154s on a set ordered by a comparator 154s returns a new set with the mapped values 154s filters out duplicates 154s 154s Immutable::SortedSet 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 raises a TypeError if set has a custom sort order 154s 154s Immutable::SortedSet 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::SortedSet 154s #min 154s on [] 154s returns nil 154s on ["A"] 154s returns "A" 154s on ["Ichi", "Ni", "San"] 154s returns "Ichi" 154s on [1, 2, 3, 4, 5] 154s returns 1 154s on [0, -0.0, 2.2, -4, -4.2] 154s returns -4.2 154s 154s Immutable::SortedSet 154s .new 154s accepts a single enumerable argument and creates a new sorted set 154s also works with a Range 154s doesn't mutate the initializer 154s doesn't change if the initializer is later mutated 154s is amenable to overriding of #initialize 154s accepts a block with arity 1 154s accepts a block with arity 2 154s can use a block produced by Symbol#to_proc 154s filters out duplicates 154s when passed a comparator with arity 2 154s still filters out duplicates 154s still doesn't mutate the initializer 154s still doesn't change if the initializer is later mutated 154s when passed a block with arity 1 154s still filters out duplicates 154s still doesn't mutate the initializer 154s still doesn't change if the initializer is later mutated 154s from a subclass 154s returns a frozen instance of the subclass 154s .[] 154s accepts a variable number of items and creates a new sorted set 154s filters out duplicate items 154s 154s Immutable::SortedSet 154s #reverse_each 154s with no block 154s returns an Enumerator 154s with a block 154s returns self 154s iterates over the items in order 154s 154s Immutable::SortedSet 154s #sample 154s returns a randomly chosen item 154s 154s Immutable::SortedSet 154s #select 154s when everything matches 154s preserves the original 154s returns self 154s when only some things match 154s with a block 154s preserves the original 154s returns a set with the matching values 154s with no block 154s returns an Enumerator 154s when nothing matches 154s preserves the original 154s returns the canonical empty set 154s from a subclass 154s returns an instance of the same class 154s #find_all 154s when everything matches 154s preserves the original 154s returns self 154s when only some things match 154s with a block 154s preserves the original 154s returns a set with the matching values 154s with no block 154s returns an Enumerator 154s when nothing matches 154s preserves the original 154s returns the canonical empty set 154s from a subclass 154s returns an instance of the same class 154s 154s Immutable::SortedSet 154s #size 154s returns 0 for [] 154s returns 1 for ["A"] 154s returns 3 for ["A", "B", "C"] 154s #length 154s returns 0 for [] 154s returns 1 for ["A"] 154s returns 3 for ["A", "B", "C"] 154s 154s Immutable::SortedSet 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 sorted_set 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 an empty Range 154s does not lose custom sort order 154s when passed a length of zero 154s does not lose custom sort order 154s when passed a subclass of Range 154s works the same as with a Range 154s on a subclass of SortedSet 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 sorted_set 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 an empty Range 154s does not lose custom sort order 154s when passed a length of zero 154s does not lose custom sort order 154s when passed a subclass of Range 154s works the same as with a Range 154s on a subclass of SortedSet 154s with index and count or a range, returns an instance of the subclass 154s 154s Immutable::SortedSet 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 #sort_by 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 sort 154s on a SortedSet with custom sort order 154s returns a SortedSet with the natural sort order 154s 154s Immutable::SortedSet 154s #subset? 154s for [] and [] 154s returns true 154s for ["A"] and [] 154s returns false 154s for [] and ["A"] 154s returns true 154s for ["A"] and ["A"] 154s returns true 154s for ["A", "B", "C"] and ["B"] 154s returns false 154s for ["B"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "C"] 154s returns false 154s for ["A", "C"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "B", "C", "D"] 154s returns true 154s for ["A", "B", "C", "D"] and ["A", "B", "C"] 154s returns false 154s #proper_subset? 154s for [] and [] 154s returns false 154s for ["A"] and [] 154s returns false 154s for [] and ["A"] 154s returns true 154s for ["A"] and ["A"] 154s returns false 154s for ["A", "B", "C"] and ["B"] 154s returns false 154s for ["B"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "C"] 154s returns false 154s for ["A", "C"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "B", "C", "D"] 154s returns true 154s for ["A", "B", "C", "D"] and ["A", "B", "C"] 154s returns false 154s 154s Immutable::SortedSet 154s #superset? 154s for [] and [] 154s returns true 154s for ["A"] and [] 154s returns true 154s for [] and ["A"] 154s returns false 154s for ["A"] and ["A"] 154s returns true 154s for ["A", "B", "C"] and ["B"] 154s returns true 154s for ["B"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "C"] 154s returns true 154s for ["A", "C"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "B", "C"] 154s returns true 154s for ["A", "B", "C"] and ["A", "B", "C", "D"] 154s returns false 154s for ["A", "B", "C", "D"] and ["A", "B", "C"] 154s returns true 154s #proper_superset? 154s for [] and [] 154s returns false 154s for ["A"] and [] 154s returns true 154s for [] and ["A"] 154s returns false 154s for ["A"] and ["A"] 154s returns false 154s for ["A", "B", "C"] and ["B"] 154s returns true 154s for ["B"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "C"] 154s returns true 154s for ["A", "C"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "B", "C"] 154s returns false 154s for ["A", "B", "C"] and ["A", "B", "C", "D"] 154s returns false 154s for ["A", "B", "C", "D"] and ["A", "B", "C"] 154s returns true 154s 154s Immutable::SortedSet 154s #take 154s 10 from [] 154s preserves the original 154s returns [] 154s 10 from ["A"] 154s preserves the original 154s returns ["A"] 154s 0 from ["A", "B", "C"] 154s preserves the original 154s returns [] 154s 2 from ["A", "B", "C"] 154s preserves the original 154s returns ["A", "B"] 154s when argument is at least size of receiver 154s returns self 154s when the set has a custom order 154s maintains the custom order 154s keeps the comparator even when set is cleared 154s when called on a subclass 154s should return an instance of the subclass 154s 154s Immutable::SortedSet 154s #take_while 154s on [] 154s with a block 154s returns [] 154s preserves the original 154s without a block 154s returns an Enumerator 154s on ["A"] 154s with a block 154s returns ["A"] 154s preserves the original 154s without a block 154s returns an Enumerator 154s on ["A", "B", "C"] 154s with a block 154s returns ["A", "B"] 154s preserves the original 154s without a block 154s returns an Enumerator 154s 154s Immutable::SortedSet 154s #to_set 154s on [] 154s returns a set with the same values 154s on ["A"] 154s returns a set with the same values 154s on ["A", "B", "C"] 154s returns a set with the same values 154s 154s Immutable::SortedSet 154s #union 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns ["A"] 154s for [] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and [] 154s returns ["A", "B", "C"] 154s for [] and ["A", "B", "C"] 154s returns ["A", "B", "C"] 154s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s #| 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns ["A"] 154s for [] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and [] 154s returns ["A", "B", "C"] 154s for [] and ["A", "B", "C"] 154s returns ["A", "B", "C"] 154s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s #+ 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns ["A"] 154s for [] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and [] 154s returns ["A", "B", "C"] 154s for [] and ["A", "B", "C"] 154s returns ["A", "B", "C"] 154s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s #merge 154s for [] and [] 154s returns [] 154s for [] and [] 154s returns [] 154s for ["A"] and [] 154s returns ["A"] 154s for [] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A"] and ["A"] 154s returns ["A"] 154s for ["A", "B", "C"] and [] 154s returns ["A", "B", "C"] 154s for [] and ["A", "B", "C"] 154s returns ["A", "B", "C"] 154s for ["A", "C", "E", "G", "X"] and ["B", "C", "D", "E", "H", "M"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s for ["B", "C", "D", "E", "H", "M"] and ["A", "C", "E", "G", "X"] 154s returns ["A", "B", "C", "D", "E", "G", "H", "M", "X"] 154s union 154s filters out duplicates when passed an Array 154s doesn't mutate an Array which is passed in 154s on a set ordered by a comparator 154s still filters out duplicates when passed an Array 154s still doesn't mutate an Array which is passed in 154s 154s Immutable::SortedSet 154s #up_to 154s when called without a block 154s returns a sorted set of all items equal to or less than the argument 154s when called with a block 154s yields all the items equal to or less than than the argument 154s on an empty set 154s returns an empty set 154s with an argument less than all the values in the set 154s returns an empty set 154s 154s Immutable::SortedSet 154s .uniq_by_comparator! 154s can handle empty arrays 154s can handle arrays with 1 element 154s can handle arrays with 2 elements and no dupes 154s can handle arrays with 2 elements and dupes 154s can handle arrays with lots of elements 154s works with funny comparators 154s 154s Immutable::SortedSet 154s #values_at 154s accepts any number of indices, and returns a sorted_set of items at those indices 154s when passed invalid indices 154s filters them out 154s when passed no arguments 154s returns an empty sorted_set 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #add 154s with a empty vector adding a single item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a duplicate item 154s preserves the original 154s adds the item to the vector 154s with a 31-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 32-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 33-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1023-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1024-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1025-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s from a subclass 154s returns an instance of the subclass 154s #<< 154s with a empty vector adding a single item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a duplicate item 154s preserves the original 154s adds the item to the vector 154s with a 31-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 32-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 33-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1023-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1024-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1025-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s from a subclass 154s returns an instance of the subclass 154s #push 154s with a empty vector adding a single item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a single-item vector adding a duplicate item 154s preserves the original 154s adds the item to the vector 154s with a 31-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 32-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 33-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1023-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1024-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s with a 1025-item vector adding a different item 154s preserves the original 154s adds the item to the vector 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #any? 154s when created with no values 154s with a block 154s returns false 154s with a block 154s returns false 154s when created with values 154s with a block that returns true 154s returns true 154s with a block that doesn't return true 154s returns false 154s without a block 154s with some values that are truthy 154s returns true 154s with all values that are falsey 154s returns false 154s 154s Immutable::Vector 154s #assoc 154s searches for a 2-element array with a given 1st item 154s returns nil if a matching 1st item is not found 154s uses #== to compare 1st items with provided object 154s skips elements which are not indexable 154s #rassoc 154s searches for a 2-element array with a given 2nd item 154s returns nil if a matching 2nd item is not found 154s uses #== to compare 2nd items with provided object 154s skips elements which are not indexable 154s 154s Immutable::Vector 154s #bsearch 154s with a block which returns false for elements below desired position, and true for those at/above 154s returns the first element for which the predicate is true 154s if the block always returns false 154s returns nil 154s if the block always returns true 154s returns the first element 154s with a block which returns a negative number for elements below desired position, zero for the right element, and positive for those above 154s returns the element for which the block returns zero 154s if the block always returns positive 154s returns nil 154s if the block always returns negative 154s returns nil 154s if the block returns sometimes positive, sometimes negative, but never zero 154s returns nil 154s if not passed a block 154s returns an Enumerator 154s on an empty vector 154s returns nil 154s 154s Immutable::Vector 154s #clear 154s on [] 154s preserves the original 154s returns an empty vector 154s from a subclass 154s returns an instance of the subclass 154s on ["A"] 154s preserves the original 154s returns an empty vector 154s from a subclass 154s returns an instance of the subclass 154s on ["A", "B", "C"] 154s preserves the original 154s returns an empty vector 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #combination 154s works on many combinations of input 154s leaves the original unmodified 154s with a block 154s returns self 154s with no block 154s returns an Enumerator 154s when passed an argument which is out of bounds 154s yields nothing and returns self 154s when passed an argument zero 154s yields an empty array 154s when passed an argument equal to the vector's length 154s yields self as an array 154s when passed an argument 1 154s yields each item in the vector, as single-item vectors 154s when passed another integral argument 154s yields all combinations of the given length 154s on an empty vector 154s works the same 154s 154s Immutable::Vector 154s #compact 154s returns a new Vector with all nils removed 154s doesn't remove false 154s on an empty vector 154s returns self 154s from a subclass 154s returns an instance of the subclass 154s 154s Immutable::Vector 154s #<=> 154s with [] and [1] 154s returns -1 154s with [1] and [] 154s returns 1 154s with [] and [] 154s returns 0 154s with [1] and [2] 154s returns -1 154s with [2] and [1] 154s returns 1 154s with [1] and [1] 154s returns 0 154s with [1] and [1, 2] 154s returns -1 154s with [1, 2] and [1] 154s returns 1 154s with [1] and [1] 154s returns 0 154s with [2, 3, 4] and [3, 4, 5] 154s returns -1 154s with [3, 4, 5] and [2, 3, 4] 154s returns 1 154s with [2, 3, 4] and [2, 3, 4] 154s returns 0 154s with [[0]] and [[1]] 154s returns -1 154s with [[1]] and [[0]] 154s returns 1 154s 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 155s can survive dumping and loading into a new process 155s is still possible to find items by index after loading 155s 155s Immutable::Vector 155s #max 155s with a block 155s on [] 155s returns nil 155s on ["A"] 155s returns "A" 155s on ["Ichi", "Ni", "San"] 155s returns "Ichi" 155s without a block 155s on [] 155s returns nil 155s on ["A"] 155s returns "A" 155s on ["Ichi", "Ni", "San"] 155s returns "San" 155s 155s Immutable::Vector 155s #min 155s with a block 155s on [] 155s returns nil 155s on ["A"] 155s returns "A" 155s on ["Ichi", "Ni", "San"] 155s returns "Ni" 155s without a block 155s on [] 155s returns nil 155s on ["A"] 155s returns "A" 155s on ["Ichi", "Ni", "San"] 155s returns "Ichi" 155s 155s Immutable::Vector 155s #* 155s raises a TypeError if passed nil 155s raises an ArgumentError if passed no arguments 155s with a String argument 155s acts just like #join 155s with an Integer argument 155s concatenates n copies of the array 155s raises an ArgumentError if integer is negative 155s works on large vectors 155s with a subclass of Vector 155s returns an instance of the subclass 155s 155s Immutable::Vector 155s .new 155s accepts a single enumerable argument and creates a new vector 155s makes a defensive copy of a non-frozen mutable Array passed in 155s is amenable to overriding of #initialize 155s from a subclass 155s returns a frozen instance of the subclass 155s .[] 155s accepts a variable number of items and creates a new vector 155s 155s Immutable::Vector 155s #partition 155s on [] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [1] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [1, 2] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [1, 2, 3] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [1, 2, 3, 4] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [2, 3, 4] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [3, 4] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s on [4] 155s with a block 155s preserves the original 155s returns a frozen array with two items 155s correctly identifies the matches 155s correctly identifies the remainder 155s without a block 155s returns an Enumerator 155s 155s Immutable::Vector 155s #permutation 155s handles duplicate elements correctly 155s leaves the original unmodified 155s behaves like Array#permutation 155s without a block or arguments 155s returns an Enumerator of all permutations 155s without a block, but with integral argument 155s returns an Enumerator of all permutations of given length 155s with a block 155s returns self 155s and no argument 155s yields all permutations 155s and an integral argument 155s yields all permutations of the given length 155s on an empty vector 155s yields the empty permutation 155s with an argument of zero 155s yields the empty permutation 155s with a length greater than the size of the vector 155s yields no permutations 155s 155s Immutable::Vector 155s #pop 155s on [] 155s preserves the original 155s returns [] 155s on ["A"] 155s preserves the original 155s returns [] 155s on ["A", "B", "C"] 155s preserves the original 155s returns ["A", "B"] 155s on 1..32 155s preserves the original 155s returns 1..31 155s on 1..33 155s preserves the original 155s returns 1..32 155s 155s Immutable::Vector 155s #product 155s when passed no arguments 155s multiplies all items in vector 155s when passed one or more vectors 155s when passed a block 155s yields an array for each combination of items from the vectors 155s returns self 155s when not passed a block 155s returns the cartesian product in an array 155s when one of the arguments is empty 155s returns an empty array 155s when the receiver is empty 155s returns an empty array 155s when passed one or more Arrays 155s also calculates the cartesian product correctly 155s 155s Immutable::Vector 155s #reduce 155s on [] 155s with an initial value of 10 155s and a block 155s returns 10 155s on [1] 155s with an initial value of 10 155s and a block 155s returns 9 155s on [1, 2, 3] 155s with an initial value of 10 155s and a block 155s returns 4 155s on [] 155s with no initial value 155s and a block 155s returns nil 155s on [1] 155s with no initial value 155s and a block 155s returns 1 155s on [1, 2, 3] 155s with no initial value 155s and a block 155s returns -4 155s with no block and a symbol argument 155s uses the symbol as the name of a method to reduce with 155s with no block and a string argument 155s uses the string as the name of a method to reduce with 155s #inject 155s on [] 155s with an initial value of 10 155s and a block 155s returns 10 155s on [1] 155s with an initial value of 10 155s and a block 155s returns 9 155s on [1, 2, 3] 155s with an initial value of 10 155s and a block 155s returns 4 155s on [] 155s with no initial value 155s and a block 155s returns nil 155s on [1] 155s with no initial value 155s and a block 155s returns 1 155s on [1, 2, 3] 155s with no initial value 155s and a block 155s returns -4 155s with no block and a symbol argument 155s uses the symbol as the name of a method to reduce with 155s with no block and a string argument 155s uses the string as the name of a method to reduce with 155s 155s Immutable::Vector 155s #reject 155s works with a variety of inputs 155s on [] 155s with a block 155s returns [] 155s without a block 155s returns an Enumerator 155s on ["A"] 155s with a block 155s returns ["A"] 155s without a block 155s returns an Enumerator 155s on ["A", "B", "C"] 155s with a block 155s returns ["A", "B", "C"] 155s without a block 155s returns an Enumerator 155s on ["A", "b", "C"] 155s with a block 155s returns ["A", "C"] 155s without a block 155s returns an Enumerator 155s on ["a", "b", "c"] 155s with a block 155s returns [] 155s without a block 155s returns an Enumerator 155s #delete_if 155s works with a variety of inputs 155s on [] 155s with a block 155s returns [] 155s without a block 155s returns an Enumerator 155s on ["A"] 155s with a block 155s returns ["A"] 155s without a block 155s returns an Enumerator 155s on ["A", "B", "C"] 155s with a block 155s returns ["A", "B", "C"] 155s without a block 155s returns an Enumerator 155s on ["A", "b", "C"] 155s with a block 155s returns ["A", "C"] 155s without a block 155s returns an Enumerator 155s on ["a", "b", "c"] 155s with a block 155s returns [] 155s without a block 155s returns an Enumerator 155s 155s Immutable::Vector 155s #repeated_combination 155s leaves the original unmodified 155s behaves like Array#repeated_combination 155s with no block 155s returns an Enumerator 155s with a block 155s returns self 155s with a negative argument 155s yields nothing and returns self 155s with a zero argument 155s yields an empty array 155s with a argument of 1 155s yields each item in the vector, as single-item vectors 155s on an empty vector, with an argument greater than zero 155s yields nothing 155s with a positive argument, greater than 1 155s yields all combinations of the given size (where a single element can appear more than once in a row) 155s 155s Immutable::Vector 155s #repeated_permutation 155s handles duplicate elements correctly 155s allows permutations larger than the number of elements 155s leaves the original unmodified 155s behaves like Array#repeated_permutation 155s without a block 155s and without argument 155s returns an Enumerator of all repeated permutations 155s with an integral argument 155s returns an Enumerator of all repeated permutations of the given length 155s with a block 155s returns self 155s on an empty vector 155s yields the empty permutation 155s with an argument of zero 155s yields the empty permutation 155s with no argument 155s yields all repeated permutations 155s with a positive integral argument 155s yields all repeated permutations of the given length 155s 155s Immutable::Vector 155s #reverse_each 155s on a 2-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 31-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 32-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 33-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 1000-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 1024-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 1025-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s on a 2000-item vector 155s with a block (internal iteration) 155s returns self 155s yields all items in the opposite order as #each 155s with no block 155s returns an Enumerator 155s 155s Immutable::Vector 155s #reverse 155s on [] 155s returns [] 155s on [1] 155s returns [1] 155s on [1, 2] 155s returns [2, 1] 155s 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] 155s 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] 155s 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] 155s 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] 155s 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] 155s 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] 155s 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] 155s 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] 155s 155s Immutable::Vector 155s #rindex 155s when passed an object present in the vector 155s returns the last index where the object is present 155s when passed an object not present in the vector 155s returns nil 155s with a block 155s returns the last index of an object which the predicate is true for 155s without an argument OR block 155s returns an Enumerator 155s 155s Immutable::Vector 155s #rotate 155s leaves the original unmodified 155s when passed no argument 155s returns a new vector with the first element moved to the end 155s with an integral argument n 155s returns a new vector with the first (n % size) elements moved to the end 155s with a floating-point argument n 155s coerces the argument to integer using to_int 155s with a non-numeric argument 155s raises a TypeError 155s with an argument of zero 155s returns self 155s with an argument equal to the vector's size 155s returns self 155s on a 31-item vector 155s behaves like Array#rotate 155s on a 32-item vector 155s behaves like Array#rotate 155s on a 33-item vector 155s behaves like Array#rotate 155s on a 1000-item vector 155s behaves like Array#rotate 155s on a 1023-item vector 155s behaves like Array#rotate 155s on a 1024-item vector 155s behaves like Array#rotate 155s on a 1025-item vector 155s behaves like Array#rotate 155s from a subclass 155s returns an instance of the subclass 155s 155s Immutable::Vector 155s #sample 155s returns a randomly chosen item 155s 155s Immutable::Vector 155s #select 155s works with a variety of inputs 155s with a block 155s preserves the original 155s returns a vector with the matching values 155s with no block 155s returns an Enumerator 155s when nothing matches 155s preserves the original 155s returns an empty vector 155s on an empty vector 155s returns self 155s from a subclass 155s returns an instance of the subclass 155s #find_all 155s works with a variety of inputs 155s with a block 155s preserves the original 155s returns a vector with the matching values 155s with no block 155s returns an Enumerator 155s when nothing matches 155s preserves the original 155s returns an empty vector 155s on an empty vector 155s returns self 155s from a subclass 155s returns an instance of the subclass 155s 155s Immutable::Vector 155s #set 155s when empty 155s 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.fpCLNw/build.W13/src/spec/lib/immutable/vector/set_spec.rb:11:in `block (4 levels) in '. 155s raises an error for index -1 155s allows indexes 0 and 1 to be set 155s when not empty 155s with a block 155s and a positive index 155s within the absolute bounds of the vector 155s passes the current value to the block 155s replaces the value with the result of the block 155s supports to_proc methods 155s just past the end of the vector 155s passes nil to the block and adds a new value 155s further outside the bounds of the vector 155s passes nil to the block, fills up missing nils, and adds a new value 155s and a negative index 155s within the absolute bounds of the vector 155s passes the current value to the block 155s replaces the value with the result of the block 155s supports to_proc methods 155s outside the absolute bounds of the vector 155s 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.fpCLNw/build.W13/src/spec/lib/immutable/vector/set_spec.rb:75:in `block (7 levels) in '. 155s raises an error 155s with a value 155s and a positive index 155s within the absolute bounds of the vector 155s preserves the original 155s sets the new value at the specified index 155s just past the end of the vector 155s adds a new value 155s outside the absolute bounds of the vector 155s fills up with nils 155s with a negative index 155s preserves the original 155s sets the new value at the specified index 155s outside the absolute bounds of the vector 155s 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.fpCLNw/build.W13/src/spec/lib/immutable/vector/set_spec.rb:125:in `block (6 levels) in '. 155s raises an error 155s from a subclass 155s returns an instance of the subclass 155s on a 10-item vector 155s works correctly 155s on a 31-item vector 155s works correctly 155s on a 32-item vector 155s works correctly 155s on a 33-item vector 155s works correctly 155s on a 1000-item vector 155s works correctly 155s on a 1023-item vector 155s works correctly 155s on a 1024-item vector 155s works correctly 155s on a 1025-item vector 155s works correctly 155s on a 2000-item vector 155s works correctly 155s with an identical value to an existing item 155s on a 1-item vector 155s returns self 155s on a 2-item vector 155s returns self 155s on a 5-item vector 155s returns self 155s on a 31-item vector 155s returns self 155s on a 32-item vector 155s returns self 155s on a 33-item vector 155s returns self 155s on a 100-item vector 155s returns self 155s on a 200-item vector 155s returns self 155s 155s Immutable::Vector 155s #shift 155s on [] 155s preserves the original 155s returns [] 155s on ["A"] 155s preserves the original 155s returns [] 155s on ["A", "B", "C"] 155s preserves the original 155s returns ["B", "C"] 155s on 1..31 155s preserves the original 155s returns 2..31 155s on 1..32 155s preserves the original 155s returns 2..32 155s on 1..33 155s preserves the original 155s returns 2..33 155s 155s Immutable::Vector 155s #shuffle 155s returns the same values, in a usually different order 155s leaves the original unchanged 155s from a subclass 155s returns an instance of the subclass 155s on a 32-item vector 155s works correctly 155s on a 33-item vector 155s works correctly 155s on a 1023-item vector 155s works correctly 155s on a 1024-item vector 155s works correctly 155s on a 1025-item vector 155s works correctly 155s 155s Immutable::Vector 155s #slice 155s when passed a positive integral index 155s returns the element at that index 155s leaves the original unchanged 155s when passed a negative integral index 155s returns the element which is number (index.abs) counting from the end of the vector 155s when passed a positive integral index and count 155s returns 'count' elements starting from 'index' 155s leaves the original unchanged 155s when passed a negative integral index and count 155s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 155s when passed a Range 155s returns the elements whose indexes are within the given Range 155s leaves the original unchanged 155s when passed a subclass of Range 155s works the same as with a Range 155s on a subclass of Vector 155s with index and count or a range, returns an instance of the subclass 155s #[] 155s when passed a positive integral index 155s returns the element at that index 155s leaves the original unchanged 155s when passed a negative integral index 155s returns the element which is number (index.abs) counting from the end of the vector 155s when passed a positive integral index and count 155s returns 'count' elements starting from 'index' 155s leaves the original unchanged 155s when passed a negative integral index and count 155s returns 'count' elements, starting from index which is number 'index.abs' counting from the end of the array 155s when passed a Range 155s returns the elements whose indexes are within the given Range 155s leaves the original unchanged 155s when passed a subclass of Range 155s works the same as with a Range 155s on a subclass of Vector 155s with index and count or a range, returns an instance of the subclass 155s 155s Immutable::Vector 155s #sort 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 155s on a 31-item vector 155s behaves like Arraysort 155s on a 32-item vector 155s behaves like Arraysort 155s on a 33-item vector 155s behaves like Arraysort 155s on a 1023-item vector 155s behaves like Arraysort 155s on a 1024-item vector 155s behaves like Arraysort 155s 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 156s can be loaded separately 156s List 156s can be loaded separately 156s SortedSet 156s can be loaded separately 156s Deque 156s can be loaded separately 156s 156s Top 10 slowest examples (3.42 seconds, 31.3% of total time): 156s Immutable::List#each_slice on a really big list doesn't run out of stack 156s 0.63143 seconds ./spec/lib/immutable/list/each_slice_spec.rb:7 156s Immutable::List#each_chunk on a really big list doesn't run out of stack 156s 0.62331 seconds ./spec/lib/immutable/list/each_slice_spec.rb:7 156s Immutable::List#partition calls the passed block only once for each item, even with multiple threads 156s 0.47797 seconds ./spec/lib/immutable/list/partition_spec.rb:38 156s Immutable::List ensures each node of a lazy list will only be realized on ONE thread, even when accessed by multiple threads 156s 0.44451 seconds ./spec/lib/immutable/list/multithreading_spec.rb:5 156s Immutable::List#hash on a really big list doesn't run out of stack 156s 0.29623 seconds ./spec/lib/immutable/list/hash_spec.rb:6 156s Immutable::Set#select works on a large set, with many combinations of input 156s 0.21704 seconds ./spec/lib/immutable/set/select_spec.rb:59 156s Immutable::Hash#select works on a large hash, with many combinations of input 156s 0.19632 seconds ./spec/lib/immutable/hash/select_spec.rb:43 156s Immutable::Set#find_all works on a large set, with many combinations of input 156s 0.18322 seconds ./spec/lib/immutable/set/select_spec.rb:59 156s Immutable::List#group on a really big list doesn't run out of stack 156s 0.18159 seconds ./spec/lib/immutable/list/group_by_spec.rb:7 156s Immutable::List#eql? on a really big list doesn't run out of stack 156s 0.17152 seconds ./spec/lib/immutable/list/eql_spec.rb:6 156s 156s Top 10 slowest example groups: 156s Immutable::List 156s 0.18787 seconds average (0.5636 seconds / 3 examples) ./spec/lib/immutable/list/multithreading_spec.rb:4 156s Immutable::Hash 156s 0.1635 seconds average (0.327 seconds / 2 examples) ./spec/lib/immutable/hash/marshal_spec.rb:3 156s Immutable::Set 156s 0.1634 seconds average (0.3268 seconds / 2 examples) ./spec/lib/immutable/set/marshal_spec.rb:3 156s Immutable::Vector 156s 0.16327 seconds average (0.32653 seconds / 2 examples) ./spec/lib/immutable/vector/marshal_spec.rb:3 156s Immutable::Deque 156s 0.15804 seconds average (0.31608 seconds / 2 examples) ./spec/lib/immutable/deque/marshal_spec.rb:3 156s Immutable 156s 0.11756 seconds average (0.70539 seconds / 6 examples) ./spec/lib/load_spec.rb:6 156s Immutable::SortedSet 156s 0.10845 seconds average (0.32536 seconds / 3 examples) ./spec/lib/immutable/sorted_set/marshal_spec.rb:3 156s Immutable::List 156s 0.1009 seconds average (0.30269 seconds / 3 examples) ./spec/lib/immutable/list/hash_spec.rb:3 156s Immutable::Hash 156s 0.04934 seconds average (0.49344 seconds / 10 examples) ./spec/lib/immutable/hash/size_spec.rb:3 156s Immutable::List 156s 0.03952 seconds average (1.26 seconds / 32 examples) ./spec/lib/immutable/list/each_slice_spec.rb:3 156s 156s Finished in 10.92 seconds (files took 1.52 seconds to load) 156s 4608 examples, 0 failures 156s 156s mv ./.gem2deb.lib lib 156s autopkgtest [07:12:25]: test gem2deb-test-runner: -----------------------] 157s gem2deb-test-runner PASS 157s autopkgtest [07:12:26]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 157s autopkgtest [07:12:26]: @@@@@@@@@@@@@@@@@@@@ summary 157s gem2deb-test-runner PASS