0s autopkgtest [18:19:57]: starting date and time: 2025-01-03 18:19:57+0000 0s autopkgtest [18:19:57]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [18:19:57]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.8tbjtood/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade exchange-calendars --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.13.1-1~exp2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-ppc64el-5.secgroup --name adt-plucky-ppc64el-exchange-calendars-20250103-181957-juju-7f2275-prod-proposed-migration-environment-2-fa4cc94e-29e1-4eea-8373-da7905e4cfc3 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 81s autopkgtest [18:21:18]: testbed dpkg architecture: ppc64el 81s autopkgtest [18:21:18]: testbed apt version: 2.9.18 81s autopkgtest [18:21:18]: @@@@@@@@@@@@@@@@@@@@ test bed setup 82s autopkgtest [18:21:19]: testbed release detected to be: None 82s autopkgtest [18:21:19]: updating testbed package index (apt update) 83s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 83s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 83s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 83s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 83s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 83s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.5 kB] 83s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 83s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [777 kB] 83s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [83.7 kB] 83s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 83s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [759 kB] 83s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [4084 B] 84s Fetched 1793 kB in 1s (1714 kB/s) 85s Reading package lists... 85s Reading package lists... 86s Building dependency tree... 86s Reading state information... 86s Calculating upgrade... 86s The following packages will be upgraded: 86s binutils binutils-common binutils-powerpc64le-linux-gnu libbinutils 86s libctf-nobfd0 libctf0 libsframe1 87s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 87s Need to get 3752 kB of archives. 87s After this operation, 0 B of additional disk space will be used. 87s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libctf0 ppc64el 2.43.50.20241230-1ubuntu1 [114 kB] 87s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libctf-nobfd0 ppc64el 2.43.50.20241230-1ubuntu1 [117 kB] 87s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el binutils-powerpc64le-linux-gnu ppc64el 2.43.50.20241230-1ubuntu1 [2569 kB] 87s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libbinutils ppc64el 2.43.50.20241230-1ubuntu1 [711 kB] 87s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el binutils ppc64el 2.43.50.20241230-1ubuntu1 [3096 B] 87s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el binutils-common ppc64el 2.43.50.20241230-1ubuntu1 [222 kB] 87s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsframe1 ppc64el 2.43.50.20241230-1ubuntu1 [15.9 kB] 88s Fetched 3752 kB in 1s (4879 kB/s) 88s (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 ... 74025 files and directories currently installed.) 88s Preparing to unpack .../0-libctf0_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking libctf0:ppc64el (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../1-libctf-nobfd0_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking libctf-nobfd0:ppc64el (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../2-binutils-powerpc64le-linux-gnu_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking binutils-powerpc64le-linux-gnu (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../3-libbinutils_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking libbinutils:ppc64el (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../4-binutils_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking binutils (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../5-binutils-common_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking binutils-common:ppc64el (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Preparing to unpack .../6-libsframe1_2.43.50.20241230-1ubuntu1_ppc64el.deb ... 88s Unpacking libsframe1:ppc64el (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 88s Setting up binutils-common:ppc64el (2.43.50.20241230-1ubuntu1) ... 88s Setting up libctf-nobfd0:ppc64el (2.43.50.20241230-1ubuntu1) ... 88s Setting up libsframe1:ppc64el (2.43.50.20241230-1ubuntu1) ... 88s Setting up libbinutils:ppc64el (2.43.50.20241230-1ubuntu1) ... 88s Setting up libctf0:ppc64el (2.43.50.20241230-1ubuntu1) ... 88s Setting up binutils-powerpc64le-linux-gnu (2.43.50.20241230-1ubuntu1) ... 88s Setting up binutils (2.43.50.20241230-1ubuntu1) ... 88s Processing triggers for libc-bin (2.40-4ubuntu1) ... 88s Processing triggers for man-db (2.13.0-1) ... 89s Reading package lists... 90s Building dependency tree... 90s Reading state information... 90s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 90s autopkgtest [18:21:27]: upgrading testbed (apt dist-upgrade and autopurge) 90s Reading package lists... 90s Building dependency tree... 90s Reading state information... 91s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 91s Starting 2 pkgProblemResolver with broken count: 0 91s Done 91s Entering ResolveByKeep 92s 92s The following packages were automatically installed and are no longer required: 92s python3.12 python3.12-minimal 92s Use 'sudo apt autoremove' to remove them. 92s The following NEW packages will be installed: 92s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 92s The following packages will be upgraded: 92s libpython3-stdlib python3 python3-minimal 92s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 92s Need to get 6300 kB of archives. 92s After this operation, 26.2 MB of additional disk space will be used. 92s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.1-2 [883 kB] 93s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.1-2 [2496 kB] 93s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-minimal ppc64el 3.13.1-1~exp2 [27.6 kB] 93s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3 ppc64el 3.13.1-1~exp2 [24.0 kB] 93s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.1-2 [2131 kB] 93s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.1-2 [729 kB] 93s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libpython3-stdlib ppc64el 3.13.1-1~exp2 [10.2 kB] 93s Fetched 6300 kB in 1s (5385 kB/s) 93s Selecting previously unselected package libpython3.13-minimal:ppc64el. 93s (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 ... 74025 files and directories currently installed.) 93s Preparing to unpack .../libpython3.13-minimal_3.13.1-2_ppc64el.deb ... 93s Unpacking libpython3.13-minimal:ppc64el (3.13.1-2) ... 94s Selecting previously unselected package python3.13-minimal. 94s Preparing to unpack .../python3.13-minimal_3.13.1-2_ppc64el.deb ... 94s Unpacking python3.13-minimal (3.13.1-2) ... 94s Setting up libpython3.13-minimal:ppc64el (3.13.1-2) ... 94s Setting up python3.13-minimal (3.13.1-2) ... 95s (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 ... 74345 files and directories currently installed.) 95s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_ppc64el.deb ... 95s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 95s Setting up python3-minimal (3.13.1-1~exp2) ... 95s (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 ... 74345 files and directories currently installed.) 95s Preparing to unpack .../python3_3.13.1-1~exp2_ppc64el.deb ... 95s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 95s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 95s Preparing to unpack .../libpython3.13-stdlib_3.13.1-2_ppc64el.deb ... 95s Unpacking libpython3.13-stdlib:ppc64el (3.13.1-2) ... 95s Selecting previously unselected package python3.13. 95s Preparing to unpack .../python3.13_3.13.1-2_ppc64el.deb ... 95s Unpacking python3.13 (3.13.1-2) ... 95s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_ppc64el.deb ... 95s Unpacking libpython3-stdlib:ppc64el (3.13.1-1~exp2) over (3.12.8-1) ... 95s Setting up libpython3.13-stdlib:ppc64el (3.13.1-2) ... 95s Setting up libpython3-stdlib:ppc64el (3.13.1-1~exp2) ... 95s Setting up python3.13 (3.13.1-2) ... 97s Setting up python3 (3.13.1-1~exp2) ... 97s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 97s for fn in glob1(directory, "%s.*" % fname): 97s Processing triggers for man-db (2.13.0-1) ... 97s Processing triggers for systemd (257-2ubuntu1) ... 98s Reading package lists... 98s Building dependency tree... 98s Reading state information... 98s Starting pkgProblemResolver with broken count: 0 98s Starting 2 pkgProblemResolver with broken count: 0 98s Done 99s The following packages will be REMOVED: 99s python3.12* python3.12-minimal* 99s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 99s After this operation, 9889 kB disk space will be freed. 99s (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 ... 74762 files and directories currently installed.) 99s Removing python3.12 (3.12.8-3) ... 99s Removing python3.12-minimal (3.12.8-3) ... 100s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 100s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 100s Processing triggers for man-db (2.13.0-1) ... 100s Processing triggers for systemd (257-2ubuntu1) ... 101s (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 ... 74734 files and directories currently installed.) 101s Purging configuration files for python3.12-minimal (3.12.8-3) ... 103s autopkgtest [18:21:40]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 13:49:23 UTC 2024 104s autopkgtest [18:21:41]: @@@@@@@@@@@@@@@@@@@@ apt-source exchange-calendars 106s Get:1 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (dsc) [2480 B] 106s Get:2 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (tar) [3765 kB] 106s Get:3 http://ftpmaster.internal/ubuntu plucky/universe exchange-calendars 4.6-1 (diff) [3172 B] 106s gpgv: Signature made Tue Nov 26 12:23:16 2024 UTC 106s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 106s gpgv: Can't check signature: No public key 106s dpkg-source: warning: cannot verify inline signature for ./exchange-calendars_4.6-1.dsc: no acceptable signature found 106s autopkgtest [18:21:43]: testing package exchange-calendars version 4.6-1 106s autopkgtest [18:21:43]: build not needed 108s autopkgtest [18:21:45]: test run-tests: preparing testbed 108s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s Starting pkgProblemResolver with broken count: 0 109s Starting 2 pkgProblemResolver with broken count: 0 109s Done 109s The following NEW packages will be installed: 109s architecture-properties libblas3 libgfortran5 liblapack3 python3-all 109s python3-dateutil python3-exchange-calendars python3-hypothesis 109s python3-iniconfig python3-korean-lunar-calendar python3-numpy 109s python3-packaging python3-pandas python3-pandas-lib python3-pluggy 109s python3-pyluach python3-pytest python3-sortedcontainers python3-toolz 109s python3-tz python3.12 python3.12-minimal 110s 0 upgraded, 22 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 23.1 MB of archives. 110s After this operation, 138 MB of additional disk space will be used. 110s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12-minimal ppc64el 3.12.8-3 [2465 kB] 110s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12 ppc64el 3.12.8-3 [667 kB] 110s Get:3 http://ftpmaster.internal/ubuntu plucky/universe ppc64el architecture-properties ppc64el 0.2.3 [2064 B] 110s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libblas3 ppc64el 3.12.0-4 [222 kB] 110s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgfortran5 ppc64el 14.2.0-12ubuntu1 [571 kB] 110s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblapack3 ppc64el 3.12.0-4 [2814 kB] 110s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-all ppc64el 3.13.1-1~exp2 [896 B] 110s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 110s Get:9 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-korean-lunar-calendar all 0.3.1-2 [9108 B] 110s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-numpy ppc64el 1:1.26.4+ds-12 [4917 kB] 111s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-tz all 2024.2-1 [31.5 kB] 111s Get:12 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pandas-lib ppc64el 2.2.3+dfsg-5ubuntu1 [7350 kB] 111s Get:13 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pandas all 2.2.3+dfsg-5ubuntu1 [3112 kB] 111s Get:14 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyluach all 2.2.0-1 [23.2 kB] 111s Get:15 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-toolz all 1.0.0-2 [45.0 kB] 111s Get:16 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-exchange-calendars all 4.6-1 [152 kB] 111s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-sortedcontainers all 2.4.0-2 [27.6 kB] 111s Get:18 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-hypothesis all 6.122.1-1 [330 kB] 111s Get:19 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 111s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 111s Get:21 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 111s Get:22 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.3-1 [251 kB] 111s Fetched 23.1 MB in 2s (15.1 MB/s) 111s Selecting previously unselected package python3.12-minimal. 111s (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 ... 74734 files and directories currently installed.) 111s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_ppc64el.deb ... 111s Unpacking python3.12-minimal (3.12.8-3) ... 112s Selecting previously unselected package python3.12. 112s Preparing to unpack .../01-python3.12_3.12.8-3_ppc64el.deb ... 112s Unpacking python3.12 (3.12.8-3) ... 112s Selecting previously unselected package architecture-properties:ppc64el. 112s Preparing to unpack .../02-architecture-properties_0.2.3_ppc64el.deb ... 112s Unpacking architecture-properties:ppc64el (0.2.3) ... 112s Selecting previously unselected package libblas3:ppc64el. 112s Preparing to unpack .../03-libblas3_3.12.0-4_ppc64el.deb ... 112s Unpacking libblas3:ppc64el (3.12.0-4) ... 112s Selecting previously unselected package libgfortran5:ppc64el. 112s Preparing to unpack .../04-libgfortran5_14.2.0-12ubuntu1_ppc64el.deb ... 112s Unpacking libgfortran5:ppc64el (14.2.0-12ubuntu1) ... 112s Selecting previously unselected package liblapack3:ppc64el. 112s Preparing to unpack .../05-liblapack3_3.12.0-4_ppc64el.deb ... 112s Unpacking liblapack3:ppc64el (3.12.0-4) ... 112s Selecting previously unselected package python3-all. 112s Preparing to unpack .../06-python3-all_3.13.1-1~exp2_ppc64el.deb ... 112s Unpacking python3-all (3.13.1-1~exp2) ... 112s Selecting previously unselected package python3-dateutil. 112s Preparing to unpack .../07-python3-dateutil_2.9.0-3_all.deb ... 112s Unpacking python3-dateutil (2.9.0-3) ... 112s Selecting previously unselected package python3-korean-lunar-calendar. 112s Preparing to unpack .../08-python3-korean-lunar-calendar_0.3.1-2_all.deb ... 112s Unpacking python3-korean-lunar-calendar (0.3.1-2) ... 112s Selecting previously unselected package python3-numpy. 112s Preparing to unpack .../09-python3-numpy_1%3a1.26.4+ds-12_ppc64el.deb ... 112s Unpacking python3-numpy (1:1.26.4+ds-12) ... 112s Selecting previously unselected package python3-tz. 112s Preparing to unpack .../10-python3-tz_2024.2-1_all.deb ... 112s Unpacking python3-tz (2024.2-1) ... 112s Selecting previously unselected package python3-pandas-lib:ppc64el. 112s Preparing to unpack .../11-python3-pandas-lib_2.2.3+dfsg-5ubuntu1_ppc64el.deb ... 112s Unpacking python3-pandas-lib:ppc64el (2.2.3+dfsg-5ubuntu1) ... 112s Selecting previously unselected package python3-pandas. 112s Preparing to unpack .../12-python3-pandas_2.2.3+dfsg-5ubuntu1_all.deb ... 112s Unpacking python3-pandas (2.2.3+dfsg-5ubuntu1) ... 113s Selecting previously unselected package python3-pyluach. 113s Preparing to unpack .../13-python3-pyluach_2.2.0-1_all.deb ... 113s Unpacking python3-pyluach (2.2.0-1) ... 113s Selecting previously unselected package python3-toolz. 113s Preparing to unpack .../14-python3-toolz_1.0.0-2_all.deb ... 113s Unpacking python3-toolz (1.0.0-2) ... 113s Selecting previously unselected package python3-exchange-calendars. 113s Preparing to unpack .../15-python3-exchange-calendars_4.6-1_all.deb ... 113s Unpacking python3-exchange-calendars (4.6-1) ... 113s Selecting previously unselected package python3-sortedcontainers. 113s Preparing to unpack .../16-python3-sortedcontainers_2.4.0-2_all.deb ... 113s Unpacking python3-sortedcontainers (2.4.0-2) ... 113s Selecting previously unselected package python3-hypothesis. 113s Preparing to unpack .../17-python3-hypothesis_6.122.1-1_all.deb ... 113s Unpacking python3-hypothesis (6.122.1-1) ... 113s Selecting previously unselected package python3-iniconfig. 113s Preparing to unpack .../18-python3-iniconfig_1.1.1-2_all.deb ... 113s Unpacking python3-iniconfig (1.1.1-2) ... 113s Selecting previously unselected package python3-packaging. 113s Preparing to unpack .../19-python3-packaging_24.2-1_all.deb ... 113s Unpacking python3-packaging (24.2-1) ... 113s Selecting previously unselected package python3-pluggy. 113s Preparing to unpack .../20-python3-pluggy_1.5.0-1_all.deb ... 113s Unpacking python3-pluggy (1.5.0-1) ... 113s Selecting previously unselected package python3-pytest. 113s Preparing to unpack .../21-python3-pytest_8.3.3-1_all.deb ... 113s Unpacking python3-pytest (8.3.3-1) ... 113s Setting up python3-iniconfig (1.1.1-2) ... 113s Setting up python3.12-minimal (3.12.8-3) ... 114s Setting up python3-pyluach (2.2.0-1) ... 115s Setting up architecture-properties:ppc64el (0.2.3) ... 115s Setting up python3.12 (3.12.8-3) ... 116s Setting up python3-all (3.13.1-1~exp2) ... 116s Setting up python3-sortedcontainers (2.4.0-2) ... 117s Setting up python3-tz (2024.2-1) ... 117s Setting up libblas3:ppc64el (3.12.0-4) ... 117s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/blas/libblas.so.3 to provide /usr/lib/powerpc64le-linux-gnu/libblas.so.3 (libblas.so.3-powerpc64le-linux-gnu) in auto mode 117s Setting up python3-korean-lunar-calendar (0.3.1-2) ... 117s Setting up python3-packaging (24.2-1) ... 117s Setting up libgfortran5:ppc64el (14.2.0-12ubuntu1) ... 117s Setting up python3-pluggy (1.5.0-1) ... 117s Setting up python3-toolz (1.0.0-2) ... 118s Setting up python3-dateutil (2.9.0-3) ... 118s Setting up liblapack3:ppc64el (3.12.0-4) ... 118s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/powerpc64le-linux-gnu/liblapack.so.3 (liblapack.so.3-powerpc64le-linux-gnu) in auto mode 118s Setting up python3-pytest (8.3.3-1) ... 119s Setting up python3-hypothesis (6.122.1-1) ... 120s Setting up python3-numpy (1:1.26.4+ds-12) ... 124s Setting up python3-pandas-lib:ppc64el (2.2.3+dfsg-5ubuntu1) ... 124s Setting up python3-pandas (2.2.3+dfsg-5ubuntu1) ... 136s Setting up python3-exchange-calendars (4.6-1) ... 136s Processing triggers for systemd (257-2ubuntu1) ... 136s Processing triggers for man-db (2.13.0-1) ... 137s Processing triggers for libc-bin (2.40-4ubuntu1) ... 138s autopkgtest [18:22:15]: test run-tests: [----------------------- 139s ============================= test session starts ============================== 139s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 139s cachedir: .pytest_cache 139s hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.GkDhrV/autopkgtest_tmp/.hypothesis/examples')) 139s rootdir: /tmp/autopkgtest.GkDhrV/autopkgtest_tmp 139s plugins: typeguard-4.4.1, hypothesis-6.122.1 142s collecting ... collected 8189 items 142s 142s tests/test_aixk_calendar.py::TestAIXKCalendar::test_testbase_integrity PASSED [ 0%] 142s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 143s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 144s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 144s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 145s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 146s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 147s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 148s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 149s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 149s tests/test_always_open.py::TestAlwaysOpenCalendar::test_testbase_integrity PASSED [ 1%] 149s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 150s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 150s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 150s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 151s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 2%] 152s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 153s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 153s tests/test_asex_calendar.py::TestASEXCalendar::test_testbase_integrity PASSED [ 2%] 153s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 156s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 157s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 157s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 159s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 3%] 160s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 3%] 161s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 3%] 162s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 3%] 163s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 3%] 164s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 3%] 164s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 3%] 164s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 3%] 164s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 3%] 164s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 3%] 165s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 167s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 168s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 4%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 4%] 170s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 4%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 4%] 173s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_testbase_integrity PASSED [ 4%] 173s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 4%] 177s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 4%] 178s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 4%] 178s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 4%] 180s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 4%] 181s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 182s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 5%] 184s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 5%] 185s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 5%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 5%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 5%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 5%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 5%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 5%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 5%] 188s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 5%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 5%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 6%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 6%] 193s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 6%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 6%] 197s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 6%] 197s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 6%] 197s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 6%] 197s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 6%] 198s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 6%] 198s tests/test_calendar_helpers.py::test_constants PASSED [ 6%] 198s tests/test_calendar_helpers.py::test_is_date PASSED [ 6%] 198s tests/test_calendar_helpers.py::test_is_utc PASSED [ 6%] 199s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 6%] 200s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 6%] 200s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 6%] 201s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 6%] 202s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 6%] 203s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 6%] 204s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 6%] 204s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 6%] 205s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 6%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 6%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 6%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 6%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 6%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 6%] 207s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 6%] 208s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 6%] 208s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 6%] 209s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 6%] 210s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 6%] 211s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 6%] 212s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 6%] 212s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 6%] 213s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 6%] 214s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 6%] 215s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 6%] 216s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 6%] 216s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 6%] 217s tests/test_calendar_helpers.py::test_parse_session PASSED [ 6%] 218s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 6%] 226s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XLON] PASSED [ 6%] 229s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 6%] 230s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 6%] 235s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XHKG] PASSED [ 6%] 239s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 6%] 240s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 6%] 242s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XTAE] PASSED [ 6%] 245s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 6%] 246s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 6%] 251s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[CMES] PASSED [ 6%] 257s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 7%] 258s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 7%] 259s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[24/7] PASSED [ 7%] 260s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 7%] 261s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 7%] 262s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 7%] 263s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 7%] 263s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 7%] 264s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 7%] 264s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 7%] 264s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 7%] 264s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 7%] 264s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 7%] 265s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 7%] 267s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 7%] 267s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 7%] 269s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 7%] 269s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 7%] 269s tests/test_cmes_calendar.py::TestCMESCalendar::test_testbase_integrity PASSED [ 7%] 269s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 7%] 271s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 7%] 271s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 7%] 271s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 274s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 7%] 276s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 278s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 7%] 279s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 7%] 279s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 7%] 280s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 7%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 8%] 282s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 8%] 283s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 8%] 284s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 8%] 284s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 8%] 284s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 8%] 284s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 8%] 284s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 8%] 285s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 8%] 285s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 8%] 285s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 8%] 285s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 8%] 286s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 8%] 286s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 8%] 330s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 8%] 330s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 8%] 330s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 8%] 330s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 8%] 330s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 8%] 330s tests/test_iepa_calendar.py::TestIEPACalendar::test_testbase_integrity PASSED [ 8%] 330s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 8%] 333s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 8%] 333s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 8%] 333s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 336s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 8%] 337s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 8%] 338s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 340s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 8%] 341s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 8%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 8%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 8%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 8%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 9%] 343s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 9%] 344s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 9%] 346s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 9%] 347s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 9%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 10%] 349s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 10%] 350s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 10%] 350s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 10%] 350s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 10%] 350s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 10%] 352s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 10%] 352s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 10%] 352s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 10%] 352s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 10%] 352s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 10%] 353s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 10%] 353s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 10%] 353s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_testbase_integrity PASSED [ 10%] 353s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 10%] 353s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 10%] 353s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 10%] 353s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 10%] 354s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 10%] 355s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 10%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 11%] 356s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 11%] 356s tests/test_xams_calendar.py::TestXAMSCalendar::test_testbase_integrity PASSED [ 11%] 356s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 11%] 359s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 11%] 360s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 11%] 360s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 11%] 362s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 363s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 11%] 364s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 11%] 365s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 11%] 365s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 11%] 365s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 11%] 366s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 368s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 11%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 11%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 11%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 11%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 12%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 12%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 12%] 369s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 12%] 371s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 12%] 372s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 12%] 373s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 12%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 13%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 13%] 374s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 13%] 375s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 13%] 378s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 13%] 378s tests/test_xasx_calendar.py::TestXASXCalendar::test_testbase_integrity PASSED [ 13%] 378s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 13%] 382s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 13%] 382s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 13%] 382s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 13%] 385s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 13%] 386s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 13%] 388s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 13%] 389s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 13%] 391s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 13%] 392s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 13%] 393s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 13%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 14%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 14%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 394s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 14%] 396s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 14%] 397s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 14%] 400s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 14%] 400s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 14%] 400s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 14%] 400s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 14%] 400s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 14%] 401s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 14%] 401s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 14%] 401s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_testbase_integrity PASSED [ 14%] 401s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 14%] 404s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 14%] 405s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 14%] 405s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 14%] 407s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 14%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 408s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 409s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 410s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 411s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 411s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 411s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 411s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 411s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 412s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 412s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 412s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 412s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 412s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 413s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 15%] 415s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 15%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 417s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 418s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 418s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 418s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 418s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 421s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 421s tests/test_xbog_calendar.py::TestXBOGCalendar::test_testbase_integrity PASSED [ 16%] 421s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 425s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 426s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 426s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 429s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 16%] 430s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 16%] 432s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 433s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 434s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 435s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 436s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 437s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 17%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 439s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 440s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 440s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 440s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 440s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 443s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 443s tests/test_xbom_calendar.py::TestXBOMCalendar::test_testbase_integrity PASSED [ 18%] 443s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 445s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 445s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 445s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 446s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 447s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 448s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 449s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 450s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 451s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 452s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 453s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 454s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 455s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 455s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 455s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 455s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 20%] 457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 20%] 457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 20%] 457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 20%] 458s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 20%] 458s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 20%] 458s tests/test_xbru_calendar.py::TestXBRUCalendar::test_testbase_integrity PASSED [ 20%] 458s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 20%] 461s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 20%] 461s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 20%] 461s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 20%] 463s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 20%] 464s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 20%] 465s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 20%] 467s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 469s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 20%] 470s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 20%] 472s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 473s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 20%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 20%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 21%] 474s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 21%] 475s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 21%] 476s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 21%] 478s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 21%] 478s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 21%] 478s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 21%] 478s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 21%] 478s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 21%] 479s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 21%] 479s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 21%] 479s tests/test_xbse_calendar.py::TestXBSECalendar::test_testbase_integrity PASSED [ 21%] 479s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 21%] 482s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 21%] 482s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 21%] 482s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 21%] 485s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 21%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 21%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 21%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 486s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 488s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 489s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 22%] 489s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 22%] 489s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 22%] 489s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 22%] 489s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 22%] 491s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 22%] 492s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 22%] 493s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 22%] 494s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 22%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 496s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 23%] 497s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 23%] 498s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 23%] 501s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 23%] 501s tests/test_xbud_calendar.py::TestXBUDCalendar::test_testbase_integrity PASSED [ 23%] 501s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 23%] 505s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 23%] 505s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 23%] 506s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 23%] 508s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 23%] 509s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 23%] 510s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 23%] 512s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 23%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 23%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 23%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 515s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 516s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 24%] 518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 24%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 519s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 520s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 523s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 523s tests/test_xbue_calendar.py::TestXBUECalendar::test_testbase_integrity PASSED [ 25%] 523s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 527s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 528s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 528s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 531s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 532s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 534s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 25%] 536s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 25%] 537s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 25%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 538s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 539s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 540s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 540s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 540s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 540s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 540s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 541s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 542s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 26%] 545s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 26%] 545s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_testbase_integrity PASSED [ 27%] 545s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 549s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 549s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 549s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 551s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 552s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 553s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 555s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 557s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 558s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 560s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 561s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 28%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 28%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 28%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 28%] 562s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 563s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 564s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 567s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 567s tests/test_xcse_calendar.py::TestXCSECalendar::test_testbase_integrity PASSED [ 28%] 567s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 571s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 571s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 572s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 574s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 575s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 576s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 29%] 578s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 29%] 580s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 29%] 580s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 29%] 580s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 29%] 580s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 29%] 580s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 581s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 583s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 584s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 30%] 586s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 30%] 587s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 30%] 591s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 30%] 591s tests/test_xdub_calendar.py::TestXDUBCalendar::test_testbase_integrity PASSED [ 30%] 591s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 30%] 595s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 30%] 595s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 30%] 595s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 30%] 598s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 30%] 599s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 30%] 601s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 30%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 603s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 604s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 31%] 605s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 31%] 606s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 31%] 607s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 31%] 608s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 31%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 609s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 612s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 612s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 612s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 612s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 612s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 613s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 613s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 613s tests/test_xdus_calendar.py::TestXDUSCalendar::test_testbase_integrity PASSED [ 32%] 613s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 616s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 616s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 617s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 619s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 32%] 620s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 32%] 621s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 32%] 622s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 32%] 623s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 32%] 624s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 32%] 625s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 32%] 625s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 32%] 625s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 32%] 625s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 32%] 625s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 32%] 626s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 32%] 627s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 32%] 628s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 629s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 630s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 630s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 630s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 630s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 630s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 33%] 632s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 33%] 633s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 33%] 633s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 33%] 633s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 33%] 633s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 33%] 636s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 33%] 637s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 33%] 637s tests/test_xeee_calendar.py::TestXEEECalendar::test_testbase_integrity PASSED [ 33%] 637s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 33%] 640s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 33%] 640s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 33%] 640s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 33%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 643s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 644s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 645s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 646s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 646s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 646s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 647s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 649s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 649s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 649s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 649s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 649s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 650s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 651s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 34%] 652s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 34%] 653s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 34%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 655s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 656s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 657s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 660s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 660s tests/test_xetr_calendar.py::TestXETRCalendar::test_testbase_integrity PASSED [ 35%] 660s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 664s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 664s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 664s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 666s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 667s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 668s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 35%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 670s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 671s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 672s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 673s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 675s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 676s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 678s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 679s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 679s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 679s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 679s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 682s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 682s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 682s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 682s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 682s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 683s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 683s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 683s tests/test_xfra_calendar.py::TestXFRACalendar::test_testbase_integrity PASSED [ 37%] 683s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 686s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 687s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 687s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 689s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 690s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 691s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 691s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 691s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 691s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 693s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 694s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 695s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 695s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 695s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 695s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 695s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 38%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 38%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 38%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 38%] 696s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 38%] 698s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 699s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 701s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 39%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 39%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 39%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 39%] 702s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 39%] 705s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 39%] 705s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 39%] 705s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 39%] 705s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 39%] 705s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 39%] 706s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 39%] 706s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 39%] 706s tests/test_xham_calendar.py::TestXHAMCalendar::test_testbase_integrity PASSED [ 39%] 706s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 39%] 709s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 39%] 709s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 39%] 710s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 39%] 712s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 39%] 713s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 39%] 714s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 39%] 715s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 39%] 715s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 39%] 715s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 716s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 717s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 718s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 718s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 718s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 718s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 718s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 719s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 720s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 722s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 40%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 40%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 40%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 723s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 725s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 726s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 726s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 726s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 726s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 729s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 729s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 729s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 729s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 729s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 730s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 730s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 730s tests/test_xhel_calendar.py::TestXHELCalendar::test_testbase_integrity PASSED [ 40%] 730s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 733s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 733s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 733s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 736s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 41%] 737s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 41%] 739s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 41%] 741s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 41%] 742s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 41%] 743s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 41%] 744s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 42%] 746s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 42%] 747s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 42%] 747s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 42%] 747s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 42%] 747s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 42%] 750s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 42%] 750s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_testbase_integrity PASSED [ 42%] 750s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 42%] 755s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 42%] 756s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 42%] 756s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 42%] 758s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 42%] 759s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 42%] 761s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 42%] 764s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 42%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 43%] 765s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 43%] 766s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 43%] 769s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 43%] 769s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 43%] 769s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 769s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 43%] 769s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 43%] 770s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 43%] 771s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 43%] 775s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 776s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 43%] 776s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 43%] 776s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 43%] 776s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 43%] 776s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 43%] 777s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 43%] 780s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 43%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 44%] 781s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 44%] 782s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 44%] 782s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 44%] 782s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 44%] 782s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 44%] 785s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 44%] 785s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 44%] 785s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 44%] 785s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 44%] 785s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 44%] 786s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 44%] 786s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 44%] 786s tests/test_xice_calendar.py::TestXICECalendar::test_testbase_integrity PASSED [ 44%] 786s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 44%] 787s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 44%] 788s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 44%] 788s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 44%] 791s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 44%] 792s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 44%] 793s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 44%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 44%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 45%] 794s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 45%] 795s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 45%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 45%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 46%] 796s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 46%] 796s tests/test_xidx_calendar.py::TestXIDXCalendar::test_testbase_integrity PASSED [ 46%] 796s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 46%] 799s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 46%] 800s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 46%] 800s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 46%] 802s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 46%] 803s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 46%] 805s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 46%] 806s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 807s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 46%] 808s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 46%] 809s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 810s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 46%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 47%] 812s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 47%] 813s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 47%] 815s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 47%] 816s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 47%] 816s tests/test_xist_calendar.py::TestXISTCalendar::test_testbase_integrity PASSED [ 47%] 816s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 47%] 819s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 47%] 819s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 47%] 819s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 822s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 48%] 823s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 48%] 825s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 48%] 826s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 48%] 827s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 48%] 827s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 48%] 827s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 48%] 827s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 48%] 827s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 48%] 828s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 48%] 830s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 48%] 831s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 832s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 48%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 49%] 833s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 49%] 834s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 49%] 836s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 49%] 836s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 49%] 836s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 49%] 836s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 49%] 836s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 49%] 837s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 49%] 837s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 49%] 837s tests/test_xjse_calendar.py::TestXJSECalendar::test_testbase_integrity PASSED [ 49%] 837s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 49%] 840s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 49%] 841s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 49%] 841s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 49%] 843s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 49%] 844s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 49%] 845s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 49%] 846s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 49%] 847s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 49%] 847s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 848s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 50%] 849s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 50%] 851s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 50%] 852s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 50%] 853s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 50%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 50%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 50%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 50%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 51%] 854s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 51%] 857s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 51%] 857s tests/test_xkar_calendar.py::TestXKARCalendar::test_testbase_integrity PASSED [ 51%] 857s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 51%] 860s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 51%] 861s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 51%] 861s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 51%] 863s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 51%] 864s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 51%] 866s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 51%] 867s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 51%] 868s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 51%] 868s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 51%] 868s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 51%] 868s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 51%] 868s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 51%] 869s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 52%] 871s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 872s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 52%] 873s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 52%] 874s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 53%] 877s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 53%] 877s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 53%] 877s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 53%] 877s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 53%] 877s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 53%] 878s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 53%] 878s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 53%] 878s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 53%] 878s tests/test_xkls_calendar.py::TestXKLSCalendar::test_testbase_integrity PASSED [ 53%] 878s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 53%] 881s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 53%] 881s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 53%] 881s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 53%] 883s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 884s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 53%] 885s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 886s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 53%] 887s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 53%] 889s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 53%] 890s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 53%] 891s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 53%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 892s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 54%] 893s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 54%] 893s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 54%] 894s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 54%] 895s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 54%] 897s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 54%] 898s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 54%] 898s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_testbase_integrity PASSED [ 54%] 898s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 54%] 922s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 54%] 928s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 54%] 930s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 54%] 939s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 944s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 55%] 945s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 55%] 946s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 949s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 55%] 950s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 55%] 951s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 954s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 55%] 955s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 55%] 956s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 959s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 55%] 960s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 961s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 55%] 964s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 55%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 56%] 965s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 56%] 966s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 56%] 966s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 56%] 970s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 56%] 972s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 56%] 973s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 56%] 973s tests/test_xlim_calendar.py::TestXLIMCalendar::test_testbase_integrity PASSED [ 56%] 973s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 56%] 976s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 56%] 977s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 56%] 977s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 56%] 979s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 56%] 980s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 56%] 981s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 56%] 981s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 56%] 981s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 982s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 56%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 57%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 57%] 983s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 57%] 985s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 57%] 986s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 57%] 987s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 988s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 57%] 989s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 57%] 989s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 989s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 989s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 57%] 989s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 58%] 990s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 58%] 991s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 58%] 993s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 58%] 993s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 58%] 993s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 58%] 993s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 58%] 993s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 58%] 994s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 58%] 994s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 58%] 994s tests/test_xlis_calendar.py::TestXLISCalendar::test_testbase_integrity PASSED [ 58%] 994s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 58%] 997s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 58%] 997s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 58%] 997s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 58%] 1000s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 58%] 1001s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 58%] 1002s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 58%] 1003s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 58%] 1004s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 58%] 1005s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 58%] 1005s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 1005s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 1005s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 1005s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 58%] 1006s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 58%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 58%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 1008s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 59%] 1010s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 59%] 1011s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 59%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 59%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 60%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 60%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 60%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 60%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 60%] 1014s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 60%] 1014s tests/test_xlon_calendar.py::TestXLONCalendar::test_testbase_integrity PASSED [ 60%] 1014s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 60%] 1018s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 60%] 1019s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 60%] 1019s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 60%] 1021s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 1022s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 60%] 1023s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 60%] 1025s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 60%] 1027s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 60%] 1028s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 60%] 1030s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 60%] 1031s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 60%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 60%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 61%] 1033s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 61%] 1034s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 61%] 1034s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 61%] 1034s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 61%] 1034s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 61%] 1034s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 61%] 1037s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 61%] 1037s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 61%] 1037s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 61%] 1037s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 61%] 1037s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 61%] 1038s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 61%] 1038s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 61%] 1038s tests/test_xmad_calendar.py::TestXMADCalendar::test_testbase_integrity PASSED [ 61%] 1038s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 61%] 1041s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 61%] 1041s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 61%] 1041s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 61%] 1044s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 61%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 1045s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 1046s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 1047s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 1048s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 1050s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 1051s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 1052s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 1053s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 62%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 1055s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 1056s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 1057s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 1059s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 1059s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 1059s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 1059s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 1059s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 1060s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 1060s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 1060s tests/test_xmex_calendar.py::TestXMEXCalendar::test_testbase_integrity PASSED [ 63%] 1060s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 1063s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 1063s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 1064s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 1066s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 1067s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 1069s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 1070s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 1071s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 1072s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 1074s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 1075s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 1076s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 65%] 1077s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 65%] 1080s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 65%] 1080s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 65%] 1080s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 65%] 1080s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 65%] 1080s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 65%] 1081s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 1081s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 1081s tests/test_xmil_calendar.py::TestXMILCalendar::test_testbase_integrity PASSED [ 65%] 1081s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 1084s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 1084s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 1084s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 1086s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 1087s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 1088s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 1088s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 1088s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 1089s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 1090s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 1091s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 1091s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 1091s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 1091s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 1091s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 1092s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 66%] 1094s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 66%] 1095s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 66%] 1096s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 1097s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 1098s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 1100s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 1100s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 1100s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 1100s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 1100s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 1101s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 1101s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 67%] 1101s tests/test_xmos_calendar.py::TestXMOSCalendar::test_testbase_integrity PASSED [ 67%] 1101s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 67%] 1121s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 67%] 1125s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 67%] 1127s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 67%] 1139s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 67%] 1143s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 67%] 1144s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 67%] 1146s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 67%] 1147s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 67%] 1149s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 1150s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 1152s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 1153s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 68%] 1155s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 68%] 1156s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 68%] 1156s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 68%] 1156s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 68%] 1156s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 68%] 1159s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 68%] 1159s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 68%] 1159s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 68%] 1159s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 68%] 1159s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 68%] 1160s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 68%] 1160s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 68%] 1160s tests/test_xnys_calendar.py::TestXNYSCalendar::test_testbase_integrity PASSED [ 68%] 1160s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 68%] 1164s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 68%] 1164s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 68%] 1164s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 68%] 1167s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 1168s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 1169s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 69%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 69%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 69%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 1170s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 69%] 1171s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 69%] 1173s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 69%] 1174s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 69%] 1175s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 69%] 1176s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 69%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 70%] 1178s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 70%] 1179s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 70%] 1182s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 70%] 1182s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 70%] 1182s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 70%] 1182s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 70%] 1182s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 70%] 1183s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 70%] 1183s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 70%] 1183s tests/test_xnze_calendar.py::TestXNZECalendar::test_testbase_integrity PASSED [ 70%] 1183s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 70%] 1186s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 70%] 1187s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 70%] 1187s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 70%] 1189s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 1190s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 70%] 1191s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 70%] 1193s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 70%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 1195s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 71%] 1196s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 71%] 1198s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 71%] 1199s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 71%] 1199s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 71%] 1199s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 71%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 72%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 72%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 72%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 72%] 1201s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 72%] 1202s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 72%] 1202s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 72%] 1202s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 72%] 1202s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 72%] 1202s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 72%] 1205s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 72%] 1205s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 72%] 1205s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 72%] 1205s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 72%] 1205s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 72%] 1206s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 72%] 1206s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 72%] 1206s tests/test_xosl_calendar.py::TestXOSLCalendar::test_testbase_integrity PASSED [ 72%] 1206s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 72%] 1209s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 72%] 1209s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 72%] 1210s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 72%] 1212s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 72%] 1213s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 72%] 1214s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 72%] 1214s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 1215s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 72%] 1216s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 72%] 1218s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 72%] 1219s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 73%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 73%] 1220s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 1221s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 73%] 1222s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 73%] 1222s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 1222s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 1222s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 73%] 1223s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 73%] 1224s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 73%] 1226s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 73%] 1226s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 73%] 1226s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 73%] 1226s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 73%] 1226s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 73%] 1227s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 73%] 1227s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 73%] 1227s tests/test_xpar_calendar.py::TestXPARCalendar::test_testbase_integrity PASSED [ 73%] 1227s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 73%] 1230s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 73%] 1230s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 73%] 1230s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 74%] 1232s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 74%] 1233s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 74%] 1234s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 74%] 1235s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 74%] 1235s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 74%] 1235s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 74%] 1236s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 74%] 1238s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 74%] 1239s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 1240s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 1241s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 75%] 1243s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 75%] 1244s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 75%] 1244s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 75%] 1244s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 75%] 1244s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 75%] 1247s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 75%] 1247s tests/test_xphs_calendar.py::TestXPHSCalendar::test_testbase_integrity PASSED [ 75%] 1247s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 75%] 1250s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 75%] 1251s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 75%] 1251s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 1254s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 75%] 1255s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 76%] 1257s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 76%] 1258s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 76%] 1258s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 76%] 1258s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 76%] 1258s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 76%] 1258s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 76%] 1259s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 76%] 1261s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 76%] 1262s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 76%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 77%] 1263s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 77%] 1264s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 77%] 1267s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 77%] 1267s tests/test_xpra_calendar.py::TestXPRACalendar::test_testbase_integrity PASSED [ 77%] 1267s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 77%] 1271s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 77%] 1271s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 77%] 1271s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 77%] 1274s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 77%] 1275s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 77%] 1277s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 77%] 1278s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 1279s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 77%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 77%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 77%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 78%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 78%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 78%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 78%] 1280s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 1281s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 78%] 1282s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 78%] 1284s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 78%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 78%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 78%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 79%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 79%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 79%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 79%] 1285s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 79%] 1288s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 79%] 1288s tests/test_xsau_calendar.py::TestXASUCalendar::test_testbase_integrity PASSED [ 79%] 1288s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 79%] 1289s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 79%] 1290s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 79%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 1291s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 80%] 1292s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 80%] 1292s tests/test_xses_calendar.py::TestXSESCalendar::test_testbase_integrity PASSED [ 80%] 1292s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 80%] 1296s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 80%] 1296s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 80%] 1296s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 80%] 1296s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 80%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 80%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 80%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 80%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 80%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 81%] 1297s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 81%] 1298s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 81%] 1300s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 81%] 1302s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 81%] 1302s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 1302s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 1302s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 1302s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 81%] 1303s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 81%] 1304s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 81%] 1305s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 81%] 1306s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 1307s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 81%] 1308s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 81%] 1308s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 1308s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 81%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 82%] 1309s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 82%] 1310s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 82%] 1310s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 82%] 1313s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 82%] 1313s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 82%] 1313s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 82%] 1313s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 82%] 1313s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 82%] 1314s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 82%] 1314s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 82%] 1314s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_testbase_integrity PASSED [ 82%] 1314s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 82%] 1318s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 82%] 1318s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 82%] 1319s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 82%] 1321s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 1322s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 82%] 1323s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 82%] 1323s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 82%] 1323s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 82%] 1323s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 82%] 1323s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 82%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 83%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 83%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 83%] 1325s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 83%] 1327s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 83%] 1328s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 83%] 1329s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 1330s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 83%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 84%] 1332s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 84%] 1333s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 84%] 1336s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 84%] 1336s tests/test_xshg_calendar.py::TestXSHGCalendar::test_testbase_integrity PASSED [ 84%] 1336s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 84%] 1340s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 84%] 1340s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 84%] 1340s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 1341s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 84%] 1342s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 84%] 1343s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 84%] 1346s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 84%] 1347s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 84%] 1351s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 85%] 1353s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 85%] 1356s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 85%] 1357s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 85%] 1358s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 85%] 1361s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 85%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 86%] 1362s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 86%] 1365s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 86%] 1365s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 86%] 1365s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 86%] 1365s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 86%] 1365s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 86%] 1366s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 86%] 1366s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 86%] 1366s tests/test_xsto_calendar.py::TestXSTOCalendar::test_testbase_integrity PASSED [ 86%] 1366s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 86%] 1369s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 86%] 1370s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 86%] 1370s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 86%] 1373s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 86%] 1374s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 86%] 1376s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 86%] 1378s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 86%] 1379s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 86%] 1380s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 86%] 1381s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 87%] 1382s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 87%] 1383s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 87%] 1384s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 87%] 1387s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 87%] 1387s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_testbase_integrity PASSED [ 87%] 1387s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 87%] 1391s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 87%] 1391s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 87%] 1391s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 87%] 1394s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 87%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 88%] 1395s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 88%] 1397s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 88%] 1399s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 88%] 1400s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 88%] 1401s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 88%] 1402s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 88%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 89%] 1404s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 89%] 1405s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 89%] 1408s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 89%] 1408s tests/test_xtae_calendar.py::TestXTAECalendar::test_testbase_integrity PASSED [ 89%] 1408s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 89%] 1412s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 89%] 1413s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 89%] 1414s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 89%] 1417s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 89%] 1419s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 89%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 1420s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 90%] 1421s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 90%] 1422s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 90%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 91%] 1423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 91%] 1424s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 91%] 1424s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 91%] 1424s tests/test_xtai_calendar.py::TestXTAICalendar::test_testbase_integrity PASSED [ 91%] 1424s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 91%] 1435s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 91%] 1435s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 91%] 1436s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 91%] 1438s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 1439s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 91%] 1440s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 91%] 1441s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 1447s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 91%] 1448s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 91%] 1454s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 91%] 1454s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 91%] 1454s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 1454s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 91%] 1454s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 1455s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 91%] 1455s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 1455s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 91%] 1455s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 1455s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 91%] 1456s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 91%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 91%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 91%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 92%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 92%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 92%] 1462s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 92%] 1463s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 92%] 1464s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 92%] 1471s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 92%] 1472s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 92%] 1472s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 92%] 1472s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 92%] 1473s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 92%] 1473s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 92%] 1473s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 92%] 1475s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 92%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 92%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 92%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 92%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 93%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 93%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 93%] 1486s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 93%] 1486s tests/test_xtks_calendar.py::TestXTKSCalendar::test_testbase_integrity PASSED [ 93%] 1486s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 93%] 1490s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 93%] 1491s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 93%] 1491s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 93%] 1492s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 93%] 1493s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 93%] 1494s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 93%] 1496s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 1497s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 1500s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 1501s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 1503s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 1503s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 1504s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 1505s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 94%] 1507s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 1508s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 1509s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 1511s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 1511s tests/test_xtse_calendar.py::TestXTSECalendar::test_testbase_integrity PASSED [ 94%] 1511s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 1515s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 1515s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 1515s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 1518s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 95%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 95%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 95%] 1519s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 95%] 1520s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 95%] 1521s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 95%] 1522s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 95%] 1523s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 95%] 1524s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 95%] 1525s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 95%] 1526s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 96%] 1528s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 96%] 1529s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 96%] 1532s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 96%] 1532s tests/test_xwar_calendar.py::TestXWARCalendar::test_testbase_integrity PASSED [ 96%] 1532s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 96%] 1536s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 96%] 1536s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 96%] 1536s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 96%] 1538s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 96%] 1539s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 96%] 1540s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 96%] 1542s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 96%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 96%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 97%] 1544s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 97%] 1545s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 1546s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 1547s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 97%] 1548s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 97%] 1548s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 1548s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 97%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 98%] 1549s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 98%] 1550s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 98%] 1550s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 98%] 1552s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 98%] 1552s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 98%] 1552s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 98%] 1552s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 98%] 1552s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 98%] 1553s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 98%] 1553s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 98%] 1553s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_testbase_integrity PASSED [ 98%] 1553s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 98%] 1556s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 98%] 1557s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 98%] 1557s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 98%] 1559s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 1560s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 98%] 1561s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 98%] 1563s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 98%] 1564s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 98%] 1565s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 98%] 1565s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 1565s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 1565s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 1565s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 98%] 1566s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 98%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 1568s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 1569s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 99%] 1571s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 99%] 1572s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 99%] 1575s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 99%] 1575s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 99%] 1575s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 99%] 1575s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 99%] 1575s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 99%] 1576s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 99%] 1576s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [100%] 1576s 1576s =============================== warnings summary =============================== 1576s tests/test_calendar_helpers.py:456 1576s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:456: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 1576s @st.composite 1576s 1576s tests/test_calendar_helpers.py:466 1576s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:466: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 1576s @st.composite 1576s 1576s tests/test_calendar_helpers.py:500 1576s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:500: HypothesisWarning: Return-type annotation is `st.SearchStrategy[pandas._libs.tslibs.timedeltas.Timedelta]`, but the decorated function should return a value (not a strategy) 1576s @st.composite 1576s 1576s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1576s =========== 8188 passed, 1 xfailed, 3 warnings in 1437.26s (0:23:57) =========== 1577s ============================= test session starts ============================== 1577s platform linux -- Python 3.13.1, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 1577s cachedir: .pytest_cache 1577s hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.GkDhrV/autopkgtest_tmp/.hypothesis/examples')) 1577s rootdir: /tmp/autopkgtest.GkDhrV/autopkgtest_tmp 1577s plugins: typeguard-4.4.1, hypothesis-6.122.1 1579s collecting ... collected 8189 items 1579s 1579s tests/test_aixk_calendar.py::TestAIXKCalendar::test_testbase_integrity PASSED [ 0%] 1579s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 1581s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 1581s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 1581s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 1582s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 1583s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 1584s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 1585s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 1586s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 1586s tests/test_always_open.py::TestAlwaysOpenCalendar::test_testbase_integrity PASSED [ 1%] 1586s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 1586s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 1586s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 1586s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 1588s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 1589s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 1590s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 1590s tests/test_asex_calendar.py::TestASEXCalendar::test_testbase_integrity PASSED [ 2%] 1590s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 1592s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 1593s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 1593s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 1595s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 3%] 1596s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 3%] 1598s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 3%] 1600s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 3%] 1601s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 3%] 1601s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 3%] 1601s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 3%] 1601s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 3%] 1601s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 3%] 1602s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 1603s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 4%] 1605s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 4%] 1606s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 4%] 1609s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 4%] 1609s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_testbase_integrity PASSED [ 4%] 1609s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 4%] 1613s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 4%] 1613s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 4%] 1614s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 4%] 1616s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 1617s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 1619s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 5%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 5%] 1620s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 5%] 1621s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 5%] 1621s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 5%] 1621s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 5%] 1621s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 5%] 1621s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 5%] 1622s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 5%] 1624s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 5%] 1625s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 6%] 1627s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 6%] 1628s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 6%] 1628s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 6%] 1628s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 6%] 1628s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 6%] 1631s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 6%] 1632s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 6%] 1632s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 6%] 1632s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 6%] 1632s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 6%] 1632s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 6%] 1633s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 6%] 1633s tests/test_calendar_helpers.py::test_constants PASSED [ 6%] 1633s tests/test_calendar_helpers.py::test_is_date PASSED [ 6%] 1633s tests/test_calendar_helpers.py::test_is_utc PASSED [ 6%] 1634s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 6%] 1634s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 6%] 1635s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 6%] 1636s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 6%] 1637s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 6%] 1637s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 6%] 1638s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 6%] 1638s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 6%] 1639s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 6%] 1640s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 6%] 1641s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 6%] 1642s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 6%] 1642s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 6%] 1643s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 6%] 1644s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 6%] 1644s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 6%] 1645s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 6%] 1645s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 6%] 1646s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 6%] 1647s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 6%] 1647s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 6%] 1648s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 6%] 1649s tests/test_calendar_helpers.py::test_parse_session PASSED [ 6%] 1649s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 6%] 1656s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XLON] PASSED [ 6%] 1658s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 6%] 1659s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 6%] 1662s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XHKG] PASSED [ 6%] 1667s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 6%] 1667s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 6%] 1670s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[XTAE] PASSED [ 6%] 1673s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 6%] 1674s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 6%] 1678s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[CMES] PASSED [ 6%] 1685s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 7%] 1685s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 7%] 1687s tests/test_calendar_helpers.py::TestTradingIndex::test_indices_fuzz[24/7] PASSED [ 7%] 1688s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 7%] 1688s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 7%] 1689s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 7%] 1690s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 7%] 1690s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 7%] 1692s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 7%] 1693s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 7%] 1693s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 7%] 1695s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 7%] 1695s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 7%] 1695s tests/test_cmes_calendar.py::TestCMESCalendar::test_testbase_integrity PASSED [ 7%] 1695s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 7%] 1697s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 7%] 1697s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 7%] 1697s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 1699s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 7%] 1701s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 1703s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 7%] 1704s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 7%] 1705s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 7%] 1706s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 7%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 8%] 1707s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 8%] 1709s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 8%] 1710s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 8%] 1710s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 8%] 1710s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 8%] 1711s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 8%] 1746s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 8%] 1746s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 8%] 1746s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 8%] 1746s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 8%] 1746s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 8%] 1746s tests/test_iepa_calendar.py::TestIEPACalendar::test_testbase_integrity PASSED [ 8%] 1746s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 8%] 1749s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 8%] 1749s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 8%] 1749s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 8%] 1753s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 1754s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 8%] 1755s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 8%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 8%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 8%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 8%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 9%] 1757s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 9%] 1758s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 9%] 1760s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 9%] 1761s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 9%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 10%] 1763s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 10%] 1764s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 10%] 1766s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 10%] 1766s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 10%] 1766s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 10%] 1766s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 10%] 1766s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 10%] 1767s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 10%] 1767s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 10%] 1767s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_testbase_integrity PASSED [ 10%] 1767s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 10%] 1767s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 10%] 1767s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 10%] 1767s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 10%] 1768s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 10%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 11%] 1769s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 11%] 1770s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 11%] 1770s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 11%] 1770s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 11%] 1770s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 11%] 1770s tests/test_xams_calendar.py::TestXAMSCalendar::test_testbase_integrity PASSED [ 11%] 1770s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 11%] 1772s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 11%] 1773s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 11%] 1773s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 11%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 1777s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 11%] 1778s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 11%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 12%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 12%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 12%] 1780s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 12%] 1782s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 12%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 12%] 1785s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 12%] 1786s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 13%] 1786s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 13%] 1786s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 13%] 1786s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 13%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 13%] 1789s tests/test_xasx_calendar.py::TestXASXCalendar::test_testbase_integrity PASSED [ 13%] 1789s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 13%] 1792s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 13%] 1793s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 13%] 1793s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 13%] 1795s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 13%] 1796s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 13%] 1798s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 13%] 1799s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 13%] 1800s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 13%] 1800s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 13%] 1800s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 13%] 1800s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 13%] 1800s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 13%] 1801s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 13%] 1802s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 13%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 14%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 14%] 1804s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 1805s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 14%] 1807s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 14%] 1808s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 14%] 1811s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 14%] 1811s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 14%] 1811s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 14%] 1811s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 14%] 1811s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 14%] 1812s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 14%] 1812s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 14%] 1812s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_testbase_integrity PASSED [ 14%] 1812s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 14%] 1815s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 14%] 1815s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 14%] 1815s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 14%] 1817s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 14%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 1818s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 1819s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 1821s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 1823s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 1824s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 15%] 1825s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 15%] 1826s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 15%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 1828s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 1829s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 1831s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 1831s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 1831s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 1831s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 1831s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 1832s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 1832s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 1832s tests/test_xbog_calendar.py::TestXBOGCalendar::test_testbase_integrity PASSED [ 16%] 1832s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 1835s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 1836s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 1836s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 1838s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 16%] 1839s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 16%] 1840s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 16%] 1841s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 1842s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 1843s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 1844s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 1845s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 1846s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 17%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 1848s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 1849s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 1849s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 1849s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 1849s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 1851s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 1851s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 1851s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 1851s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 1851s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 1852s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 1852s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 1852s tests/test_xbom_calendar.py::TestXBOMCalendar::test_testbase_integrity PASSED [ 18%] 1852s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 1854s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 1855s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 1856s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 1857s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 1858s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 1859s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 1859s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 1859s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 1859s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 1859s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 1860s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 1861s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 1862s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 1863s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 1863s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 1863s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 1863s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 1865s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 1865s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 20%] 1865s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 20%] 1865s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 20%] 1865s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 20%] 1866s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 20%] 1866s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 20%] 1866s tests/test_xbru_calendar.py::TestXBRUCalendar::test_testbase_integrity PASSED [ 20%] 1866s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 20%] 1868s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 20%] 1868s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 20%] 1869s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 20%] 1871s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 20%] 1872s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 20%] 1873s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 20%] 1873s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 20%] 1873s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 20%] 1874s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 20%] 1876s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 20%] 1877s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 1878s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 1879s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 20%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 20%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 21%] 1880s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 21%] 1881s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 21%] 1882s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 21%] 1884s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 21%] 1884s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 21%] 1884s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 21%] 1884s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 21%] 1884s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 21%] 1885s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 21%] 1885s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 21%] 1885s tests/test_xbse_calendar.py::TestXBSECalendar::test_testbase_integrity PASSED [ 21%] 1885s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 21%] 1888s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 21%] 1888s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 21%] 1888s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 21%] 1890s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 21%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 21%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 21%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 1891s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 1893s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 22%] 1894s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 22%] 1896s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 22%] 1897s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 22%] 1898s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 22%] 1898s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 22%] 1898s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 22%] 1898s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 22%] 1899s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 22%] 1900s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 22%] 1901s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 23%] 1902s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 23%] 1903s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 23%] 1906s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 23%] 1906s tests/test_xbud_calendar.py::TestXBUDCalendar::test_testbase_integrity PASSED [ 23%] 1906s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 23%] 1909s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 23%] 1910s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 23%] 1910s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 23%] 1912s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 23%] 1913s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 23%] 1914s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 23%] 1916s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 23%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 23%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 23%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 1918s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 1919s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 1920s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 1920s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 1920s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 1920s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 1920s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 1921s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 24%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 1923s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 1924s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 1927s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 1927s tests/test_xbue_calendar.py::TestXBUECalendar::test_testbase_integrity PASSED [ 25%] 1927s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 1931s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 1931s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 1932s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 1934s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 1935s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 1937s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 1938s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 25%] 1939s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 25%] 1940s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 25%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 1942s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 1943s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 1944s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 1945s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 1948s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 26%] 1948s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 26%] 1948s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 26%] 1948s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 26%] 1948s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 26%] 1949s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 26%] 1949s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 26%] 1949s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_testbase_integrity PASSED [ 27%] 1949s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 1952s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 1952s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 1953s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 1955s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 1956s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 1958s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 1959s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 1960s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 1960s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 1960s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 1960s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 1960s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 1961s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 1963s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 1964s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 1966s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 1967s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 1967s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 1967s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 1967s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 1970s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 1970s tests/test_xcse_calendar.py::TestXCSECalendar::test_testbase_integrity PASSED [ 28%] 1970s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 1974s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 1974s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 1974s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 1976s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 1977s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 1978s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 29%] 1980s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 29%] 1981s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 29%] 1982s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 29%] 1982s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 29%] 1982s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 29%] 1982s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 29%] 1982s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 1983s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 1985s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 1986s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 30%] 1988s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 30%] 1989s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 30%] 1989s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 30%] 1989s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 30%] 1989s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 30%] 1989s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 30%] 1993s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 30%] 1993s tests/test_xdub_calendar.py::TestXDUBCalendar::test_testbase_integrity PASSED [ 30%] 1993s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 30%] 1996s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 30%] 1997s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 30%] 1997s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 30%] 1999s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 30%] 2000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 30%] 2002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 30%] 2003s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 30%] 2004s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 30%] 2004s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 2004s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 2004s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 2004s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 30%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 2005s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 31%] 2007s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 31%] 2008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 31%] 2009s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 31%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 2010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 2011s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 2013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 2013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 2013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 2013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 2013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 2014s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 2014s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 2014s tests/test_xdus_calendar.py::TestXDUSCalendar::test_testbase_integrity PASSED [ 32%] 2014s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 2017s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 2017s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 2017s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 2019s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 32%] 2020s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 32%] 2021s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 32%] 2022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 32%] 2023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 32%] 2025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 32%] 2026s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 2028s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 2029s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 2030s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 2031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 33%] 2032s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 33%] 2033s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 33%] 2036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 33%] 2036s tests/test_xeee_calendar.py::TestXEEECalendar::test_testbase_integrity PASSED [ 33%] 2036s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 33%] 2039s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 33%] 2040s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 33%] 2040s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 33%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 2042s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 2043s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 2045s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 2046s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 2048s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 2049s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 34%] 2051s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 34%] 2052s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 34%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 2054s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 2055s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 2055s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 2055s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 2055s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 2058s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 2058s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 2058s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 2058s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 2058s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 2059s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 2059s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 2059s tests/test_xetr_calendar.py::TestXETRCalendar::test_testbase_integrity PASSED [ 35%] 2059s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 2061s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 2062s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 2062s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 2064s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 2065s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 35%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 2067s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 2068s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 2069s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 2070s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 2072s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 2073s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 2074s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 2075s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 2076s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 2078s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 2078s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 2078s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 2078s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 2078s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 2079s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 2079s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 2079s tests/test_xfra_calendar.py::TestXFRACalendar::test_testbase_integrity PASSED [ 37%] 2079s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 2082s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 2082s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 2082s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 2084s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 2085s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 2087s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 2088s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 2089s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 2089s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 2089s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 2089s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 2089s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 38%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 38%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 38%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 38%] 2090s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 38%] 2092s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 2093s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 2095s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 39%] 2096s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 39%] 2096s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 39%] 2096s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 39%] 2096s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 39%] 2099s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 39%] 2099s tests/test_xham_calendar.py::TestXHAMCalendar::test_testbase_integrity PASSED [ 39%] 2099s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 39%] 2102s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 39%] 2103s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 39%] 2103s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 39%] 2105s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 39%] 2106s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 39%] 2107s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 39%] 2108s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 2109s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 2111s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 2112s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 2114s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 40%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 40%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 40%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 2115s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 40%] 2117s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 2118s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 2122s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 2122s tests/test_xhel_calendar.py::TestXHELCalendar::test_testbase_integrity PASSED [ 40%] 2122s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 2125s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 2125s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 2125s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 2127s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 41%] 2128s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 41%] 2130s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 41%] 2131s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 41%] 2132s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 41%] 2133s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 41%] 2134s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 41%] 2135s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 42%] 2137s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 42%] 2138s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 42%] 2138s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 42%] 2138s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 42%] 2138s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 42%] 2141s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 42%] 2141s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_testbase_integrity PASSED [ 42%] 2141s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 42%] 2145s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 42%] 2145s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 42%] 2146s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 42%] 2147s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 42%] 2148s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 42%] 2149s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 42%] 2152s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 42%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 43%] 2153s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 43%] 2154s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 43%] 2157s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 43%] 2157s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 43%] 2157s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 2157s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 43%] 2157s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 43%] 2158s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 43%] 2159s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 43%] 2162s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 43%] 2163s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 43%] 2164s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 43%] 2167s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 43%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 44%] 2168s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 44%] 2169s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 44%] 2169s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 44%] 2169s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 44%] 2169s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 44%] 2172s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 44%] 2172s tests/test_xice_calendar.py::TestXICECalendar::test_testbase_integrity PASSED [ 44%] 2172s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 44%] 2174s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 44%] 2174s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 44%] 2175s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 44%] 2177s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 44%] 2178s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 44%] 2179s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 44%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 44%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 45%] 2180s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 45%] 2181s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 45%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 46%] 2182s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 46%] 2182s tests/test_xidx_calendar.py::TestXIDXCalendar::test_testbase_integrity PASSED [ 46%] 2182s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 46%] 2184s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 46%] 2185s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 46%] 2185s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 2187s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 46%] 2188s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 2189s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 46%] 2190s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 46%] 2191s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 46%] 2191s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 2191s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 2191s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 2191s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 46%] 2192s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 2194s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 46%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 47%] 2196s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 47%] 2197s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 47%] 2197s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 47%] 2197s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 47%] 2197s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 47%] 2200s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 47%] 2200s tests/test_xist_calendar.py::TestXISTCalendar::test_testbase_integrity PASSED [ 47%] 2200s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 47%] 2203s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 47%] 2203s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 47%] 2203s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 47%] 2205s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 48%] 2206s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 48%] 2208s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 48%] 2210s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 48%] 2211s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 48%] 2212s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 48%] 2212s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 48%] 2212s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 2212s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 48%] 2212s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 48%] 2213s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 48%] 2214s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 48%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 49%] 2215s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 49%] 2216s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 49%] 2216s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 49%] 2216s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 49%] 2216s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 49%] 2219s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 49%] 2219s tests/test_xjse_calendar.py::TestXJSECalendar::test_testbase_integrity PASSED [ 49%] 2219s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 49%] 2222s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 49%] 2222s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 49%] 2222s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 49%] 2224s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 49%] 2225s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 49%] 2226s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 49%] 2227s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 49%] 2228s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 2229s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 50%] 2230s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 50%] 2231s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 50%] 2232s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 50%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 51%] 2234s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 51%] 2235s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 51%] 2237s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 51%] 2238s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 51%] 2238s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 51%] 2238s tests/test_xkar_calendar.py::TestXKARCalendar::test_testbase_integrity PASSED [ 51%] 2238s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 51%] 2240s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 51%] 2240s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 51%] 2240s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 51%] 2242s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 51%] 2243s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 51%] 2245s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 51%] 2247s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 52%] 2249s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 2250s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 52%] 2251s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 52%] 2252s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 52%] 2252s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 52%] 2252s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 52%] 2252s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 52%] 2252s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 53%] 2255s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 53%] 2255s tests/test_xkls_calendar.py::TestXKLSCalendar::test_testbase_integrity PASSED [ 53%] 2255s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 53%] 2257s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 53%] 2258s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 53%] 2258s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 2260s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 53%] 2261s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 53%] 2263s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 53%] 2265s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 53%] 2267s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 53%] 2268s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 2268s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 2269s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 54%] 2270s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 54%] 2273s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 54%] 2273s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_testbase_integrity PASSED [ 54%] 2273s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 54%] 2293s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 54%] 2297s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 54%] 2299s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 54%] 2307s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 54%] 2310s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 55%] 2311s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 55%] 2313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 2315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 55%] 2316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 55%] 2317s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 2320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 55%] 2321s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 55%] 2322s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 55%] 2325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 55%] 2326s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 2327s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 55%] 2329s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 56%] 2330s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 56%] 2331s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 56%] 2331s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 56%] 2331s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 56%] 2331s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 56%] 2334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 56%] 2334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 56%] 2334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 56%] 2334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 56%] 2334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 56%] 2335s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 56%] 2335s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 56%] 2335s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 56%] 2336s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 56%] 2337s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 56%] 2337s tests/test_xlim_calendar.py::TestXLIMCalendar::test_testbase_integrity PASSED [ 56%] 2337s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 56%] 2340s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 56%] 2340s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 56%] 2340s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 56%] 2342s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 56%] 2343s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 56%] 2344s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 2345s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 56%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 57%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 57%] 2346s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 57%] 2347s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 57%] 2347s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 57%] 2347s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 57%] 2347s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 57%] 2347s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 57%] 2348s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 2350s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 58%] 2352s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 58%] 2353s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 58%] 2353s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 58%] 2353s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 58%] 2353s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 58%] 2355s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 58%] 2355s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 58%] 2355s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 58%] 2355s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 58%] 2355s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 58%] 2356s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 58%] 2356s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 58%] 2356s tests/test_xlis_calendar.py::TestXLISCalendar::test_testbase_integrity PASSED [ 58%] 2356s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 58%] 2358s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 58%] 2359s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 58%] 2359s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 58%] 2361s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 58%] 2362s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 58%] 2363s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 58%] 2364s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 58%] 2365s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 58%] 2365s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 2365s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 2365s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 2365s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 58%] 2366s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 58%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 58%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 2368s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 59%] 2370s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 59%] 2371s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 59%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 59%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 60%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 60%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 60%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 60%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 60%] 2374s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 60%] 2374s tests/test_xlon_calendar.py::TestXLONCalendar::test_testbase_integrity PASSED [ 60%] 2374s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 60%] 2377s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 60%] 2377s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 60%] 2377s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 60%] 2379s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 60%] 2380s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 60%] 2381s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 2382s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 60%] 2383s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 60%] 2384s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 60%] 2384s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 60%] 2384s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 60%] 2384s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 60%] 2384s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 60%] 2385s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 60%] 2387s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 60%] 2388s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 60%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 60%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 61%] 2390s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 61%] 2391s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 61%] 2391s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 61%] 2393s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 61%] 2393s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 61%] 2393s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 61%] 2393s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 61%] 2393s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 61%] 2394s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 61%] 2394s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 61%] 2394s tests/test_xmad_calendar.py::TestXMADCalendar::test_testbase_integrity PASSED [ 61%] 2394s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 61%] 2396s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 61%] 2397s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 61%] 2397s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 61%] 2399s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 61%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 61%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 61%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 61%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 2400s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 2402s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 2404s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 2405s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 2406s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 2407s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 62%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 2409s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 2410s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 2410s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 2410s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 2410s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 2413s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 2413s tests/test_xmex_calendar.py::TestXMEXCalendar::test_testbase_integrity PASSED [ 63%] 2413s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 2416s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 2416s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 2416s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 2418s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 2419s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 2421s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 2423s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 2425s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 2426s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 65%] 2427s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 65%] 2428s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 2431s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 2431s tests/test_xmil_calendar.py::TestXMILCalendar::test_testbase_integrity PASSED [ 65%] 2431s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 2433s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 2434s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 2434s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 2436s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 2437s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 2438s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 2439s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 2440s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 2441s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 66%] 2443s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 2445s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 2446s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 2446s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 2446s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 2446s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 2448s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 2448s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 2448s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 2448s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 2448s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 2449s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 2449s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 67%] 2449s tests/test_xmos_calendar.py::TestXMOSCalendar::test_testbase_integrity PASSED [ 67%] 2449s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 67%] 2467s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 67%] 2470s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 67%] 2472s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 67%] 2483s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 67%] 2487s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 67%] 2488s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 67%] 2490s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 67%] 2491s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 67%] 2492s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 2493s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 2495s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 2496s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 68%] 2497s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 68%] 2498s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 68%] 2499s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 68%] 2501s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 68%] 2501s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 68%] 2501s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 68%] 2501s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 68%] 2501s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 68%] 2502s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 68%] 2502s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 68%] 2502s tests/test_xnys_calendar.py::TestXNYSCalendar::test_testbase_integrity PASSED [ 68%] 2502s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 68%] 2505s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 68%] 2505s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 68%] 2506s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 68%] 2507s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 2508s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 2509s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 69%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 69%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 69%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 2510s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 69%] 2511s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 69%] 2513s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 69%] 2515s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 69%] 2516s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 69%] 2517s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 69%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 69%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 69%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 69%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 70%] 2518s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 70%] 2519s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 70%] 2521s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 70%] 2521s tests/test_xnze_calendar.py::TestXNZECalendar::test_testbase_integrity PASSED [ 70%] 2521s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 70%] 2524s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 70%] 2525s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 70%] 2525s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 70%] 2527s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 70%] 2528s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 70%] 2529s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 70%] 2530s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 70%] 2531s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 70%] 2532s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 70%] 2532s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 70%] 2532s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 70%] 2532s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 70%] 2532s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 70%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 70%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 70%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 70%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 71%] 2533s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 71%] 2535s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 71%] 2536s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 71%] 2537s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 71%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 72%] 2538s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 72%] 2539s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 72%] 2541s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 72%] 2541s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 72%] 2541s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 72%] 2541s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 72%] 2541s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 72%] 2542s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 72%] 2542s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 72%] 2542s tests/test_xosl_calendar.py::TestXOSLCalendar::test_testbase_integrity PASSED [ 72%] 2542s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 72%] 2545s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 72%] 2545s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 72%] 2545s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 72%] 2547s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 72%] 2548s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 72%] 2549s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 72%] 2550s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 72%] 2551s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 72%] 2552s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 72%] 2553s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 73%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 73%] 2554s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 2555s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 73%] 2556s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 73%] 2557s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 73%] 2560s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 73%] 2560s tests/test_xpar_calendar.py::TestXPARCalendar::test_testbase_integrity PASSED [ 73%] 2560s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 73%] 2562s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 73%] 2563s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 73%] 2563s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 74%] 2565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 74%] 2566s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 2567s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 74%] 2568s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 74%] 2569s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 74%] 2569s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 2569s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 2569s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 2569s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 74%] 2570s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 2572s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 75%] 2574s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 75%] 2575s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 75%] 2575s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 75%] 2575s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 75%] 2575s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 75%] 2577s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 75%] 2577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 75%] 2577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 75%] 2577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 75%] 2577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 75%] 2578s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 75%] 2578s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 75%] 2578s tests/test_xphs_calendar.py::TestXPHSCalendar::test_testbase_integrity PASSED [ 75%] 2578s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 75%] 2580s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 75%] 2581s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 75%] 2581s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 2583s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 75%] 2584s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 2585s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 76%] 2586s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 76%] 2587s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 76%] 2588s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 76%] 2589s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 76%] 2590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 76%] 2591s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 76%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 76%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 76%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 76%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 76%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 77%] 2592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 77%] 2595s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 77%] 2595s tests/test_xpra_calendar.py::TestXPRACalendar::test_testbase_integrity PASSED [ 77%] 2595s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 77%] 2598s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 77%] 2598s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 77%] 2598s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 77%] 2600s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 77%] 2601s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 77%] 2602s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 77%] 2603s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 77%] 2604s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 77%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 78%] 2605s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 78%] 2606s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 78%] 2606s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 78%] 2606s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 2607s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 78%] 2608s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 78%] 2609s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 78%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 79%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 79%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 79%] 2610s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 79%] 2611s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 79%] 2613s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 79%] 2613s tests/test_xsau_calendar.py::TestXASUCalendar::test_testbase_integrity PASSED [ 79%] 2613s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 79%] 2614s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 79%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 80%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 80%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 80%] 2615s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 80%] 2616s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 80%] 2617s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 80%] 2617s tests/test_xses_calendar.py::TestXSESCalendar::test_testbase_integrity PASSED [ 80%] 2617s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 80%] 2619s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 80%] 2619s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 80%] 2619s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 80%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 81%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 2620s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 81%] 2621s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 81%] 2623s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 81%] 2624s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 81%] 2624s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 81%] 2624s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 81%] 2625s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 81%] 2625s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 2625s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 2625s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 2625s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 81%] 2626s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 2628s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 2629s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 81%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 82%] 2631s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 82%] 2632s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 82%] 2632s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 82%] 2632s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 82%] 2632s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 82%] 2636s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 82%] 2636s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_testbase_integrity PASSED [ 82%] 2636s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 82%] 2639s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 82%] 2639s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 82%] 2640s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 2642s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 82%] 2643s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 82%] 2644s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 82%] 2644s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 82%] 2644s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 82%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 83%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 83%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 83%] 2645s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 83%] 2647s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 83%] 2649s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 2650s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 83%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 84%] 2651s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 84%] 2652s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 84%] 2655s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 84%] 2655s tests/test_xshg_calendar.py::TestXSHGCalendar::test_testbase_integrity PASSED [ 84%] 2655s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 84%] 2658s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 84%] 2658s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 84%] 2658s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 84%] 2658s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 84%] 2659s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 84%] 2660s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 2663s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 84%] 2664s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 84%] 2665s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 84%] 2668s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 85%] 2669s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 85%] 2672s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 85%] 2673s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 85%] 2674s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 85%] 2677s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 85%] 2678s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 85%] 2678s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 85%] 2678s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 86%] 2678s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 86%] 2681s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 86%] 2681s tests/test_xsto_calendar.py::TestXSTOCalendar::test_testbase_integrity PASSED [ 86%] 2681s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 86%] 2684s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 86%] 2684s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 86%] 2685s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 2687s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 86%] 2688s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 86%] 2689s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 86%] 2690s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 86%] 2691s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 86%] 2691s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 86%] 2691s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 86%] 2691s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 86%] 2691s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 86%] 2692s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 86%] 2694s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 87%] 2695s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 87%] 2696s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 87%] 2697s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 87%] 2697s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 87%] 2697s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 87%] 2697s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 87%] 2697s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 87%] 2700s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 87%] 2700s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_testbase_integrity PASSED [ 87%] 2700s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 87%] 2703s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 87%] 2703s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 87%] 2703s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 87%] 2705s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 87%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 87%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 88%] 2706s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 88%] 2708s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 88%] 2710s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 88%] 2712s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 88%] 2713s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 88%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 89%] 2714s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 89%] 2715s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 89%] 2715s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 89%] 2715s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 89%] 2715s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 89%] 2717s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 89%] 2717s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 89%] 2717s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 89%] 2717s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 89%] 2717s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 89%] 2718s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 89%] 2718s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 89%] 2718s tests/test_xtae_calendar.py::TestXTAECalendar::test_testbase_integrity PASSED [ 89%] 2718s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 89%] 2720s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 89%] 2722s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 89%] 2722s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 89%] 2725s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 89%] 2726s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 89%] 2727s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 89%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 2728s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 90%] 2729s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 90%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 91%] 2730s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 91%] 2731s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 91%] 2731s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 91%] 2731s tests/test_xtai_calendar.py::TestXTAICalendar::test_testbase_integrity PASSED [ 91%] 2731s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 91%] 2740s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 91%] 2740s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 91%] 2741s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 91%] 2743s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 2744s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 91%] 2745s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 2751s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 91%] 2752s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 91%] 2753s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 91%] 2758s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 91%] 2758s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 91%] 2758s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 2758s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 91%] 2758s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 91%] 2759s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 91%] 2760s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 91%] 2760s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 91%] 2760s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 91%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 91%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 91%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 92%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 92%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 92%] 2765s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 92%] 2766s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 92%] 2767s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 92%] 2772s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 92%] 2772s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 92%] 2773s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 92%] 2774s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 92%] 2774s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 92%] 2774s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 92%] 2775s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 92%] 2776s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 92%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 92%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 92%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 92%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 93%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 93%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 93%] 2786s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 93%] 2786s tests/test_xtks_calendar.py::TestXTKSCalendar::test_testbase_integrity PASSED [ 93%] 2786s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 93%] 2790s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 93%] 2790s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 93%] 2790s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 93%] 2791s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 93%] 2792s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 93%] 2793s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 93%] 2795s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 2796s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 2799s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 2800s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 2802s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 2803s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 2804s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 94%] 2806s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 2807s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 2808s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 2810s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 2810s tests/test_xtse_calendar.py::TestXTSECalendar::test_testbase_integrity PASSED [ 94%] 2810s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 2813s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 2813s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 2813s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 2815s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 2816s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 95%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 95%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 95%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 95%] 2817s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 2818s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 95%] 2819s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 95%] 2820s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 95%] 2820s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 95%] 2820s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 95%] 2820s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 95%] 2820s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 95%] 2821s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 95%] 2823s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 95%] 2824s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 96%] 2825s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 96%] 2826s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 96%] 2829s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 96%] 2829s tests/test_xwar_calendar.py::TestXWARCalendar::test_testbase_integrity PASSED [ 96%] 2829s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 96%] 2832s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 96%] 2833s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 96%] 2833s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 96%] 2835s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 96%] 2836s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 96%] 2838s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 96%] 2839s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 96%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 96%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 2840s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 97%] 2841s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 97%] 2842s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 2843s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 97%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 98%] 2845s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 98%] 2846s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 98%] 2846s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 98%] 2846s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 98%] 2846s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 98%] 2849s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 98%] 2849s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_testbase_integrity PASSED [ 98%] 2849s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 98%] 2852s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 98%] 2852s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 98%] 2852s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 98%] 2854s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 2855s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 98%] 2856s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 2857s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 98%] 2858s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 98%] 2860s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 98%] 2861s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 98%] 2861s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 98%] 2862s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 98%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 2863s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 99%] 2865s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 99%] 2866s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 99%] 2867s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 99%] 2870s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [100%] 2870s 2870s =============================== warnings summary =============================== 2870s tests/test_calendar_helpers.py:456 2870s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:456: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 2870s @st.composite 2870s 2870s tests/test_calendar_helpers.py:466 2870s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:466: HypothesisWarning: Return-type annotation is `st.SearchStrategy[tuple[pandas._libs.tslibs.timestamps.Timestamp, pandas._libs.tslibs.timestamps.Timestamp]]`, but the decorated function should return a value (not a strategy) 2870s @st.composite 2870s 2870s tests/test_calendar_helpers.py:500 2870s /tmp/autopkgtest.GkDhrV/autopkgtest_tmp/tests/test_calendar_helpers.py:500: HypothesisWarning: Return-type annotation is `st.SearchStrategy[pandas._libs.tslibs.timedeltas.Timedelta]`, but the decorated function should return a value (not a strategy) 2870s @st.composite 2870s 2870s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2870s =========== 8188 passed, 1 xfailed, 3 warnings in 1293.58s (0:21:33) =========== 2871s autopkgtest [19:07:48]: test run-tests: -----------------------] 2872s run-tests PASS 2872s autopkgtest [19:07:49]: test run-tests: - - - - - - - - - - results - - - - - - - - - - 2872s autopkgtest [19:07:49]: @@@@@@@@@@@@@@@@@@@@ summary 2872s run-tests PASS 2877s nova [W] Using flock in prodstack6-ppc64el 2877s Creating nova instance adt-plucky-ppc64el-exchange-calendars-20250103-181957-juju-7f2275-prod-proposed-migration-environment-2-fa4cc94e-29e1-4eea-8373-da7905e4cfc3 from image adt/ubuntu-plucky-ppc64el-server-20250103.img (UUID f20efbba-1df4-424c-8de8-0f24e2643aa4)... 2877s nova [W] Timed out waiting for ec895f1e-be3b-4fd5-8c63-061fe6b2f779 to get deleted.