0s autopkgtest [22:29:34]: starting date and time: 2026-02-08 22:29:34+0000 0s autopkgtest [22:29:34]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [22:29:34]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vafefp41/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:exchange-calendars --apt-upgrade exchange-calendars --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=exchange-calendars/4.13.1-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-ppc64el-16.secgroup --name adt-resolute-ppc64el-exchange-calendars-20260208-222934-juju-7f2275-prod-proposed-migration-environment-15-b3278fbc-8ba8-4995-b138-b375e9ebc4c7 --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-exchange-calendars-20260208-222934-juju-7f2275-prod-proposed-migration-environment-15-b3278fbc-8ba8-4995-b138-b375e9ebc4c7 from image adt/ubuntu-resolute-ppc64el-server-20260208.img (UUID 8faeba1f-ac06-47a2-810c-ba63755ceddb)... 54s autopkgtest [22:30:28]: testbed dpkg architecture: ppc64el 54s autopkgtest [22:30:28]: testbed apt version: 3.1.15 54s autopkgtest [22:30:28]: @@@@@@@@@@@@@@@@@@@@ test bed setup 54s autopkgtest [22:30:28]: testbed release detected to be: None 55s autopkgtest [22:30:29]: updating testbed package index (apt update) 55s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 55s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 55s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 55s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 55s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1574 kB] 56s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [30.0 kB] 56s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [162 kB] 56s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [233 kB] 56s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1476 kB] 56s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [19.3 kB] 56s Fetched 3618 kB in 1s (5055 kB/s) 57s Reading package lists... 57s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 57s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 58s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 58s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 58s Reading package lists... 58s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 59s The following packages will be upgraded: 59s dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common 59s dbus-user-session ethtool libbsd0 libdbus-1-3 libgdbm-compat4t64 libgdbm6t64 59s libidn2-0 libjansson4 libnetfilter-conntrack3 libusb-1.0-0 libwrap0 libxau6 59s libxkbcommon0 shared-mime-info ubuntu-kernel-accessories ubuntu-standard 59s 21 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s Need to get 2017 kB of archives. 59s After this operation, 2256 kB disk space will be freed. 59s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libbsd0 ppc64el 0.12.2-2build2 [59.8 kB] 59s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus-system-bus-common all 1.16.2-2ubuntu3 [55.8 kB] 59s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus-session-bus-common all 1.16.2-2ubuntu3 [54.4 kB] 59s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus-user-session ppc64el 1.16.2-2ubuntu3 [9698 B] 59s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus-daemon ppc64el 1.16.2-2ubuntu3 [140 kB] 59s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus-bin ppc64el 1.16.2-2ubuntu3 [48.3 kB] 59s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el dbus ppc64el 1.16.2-2ubuntu3 [27.7 kB] 59s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdbus-1-3 ppc64el 1.16.2-2ubuntu3 [225 kB] 59s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el ethtool ppc64el 1:6.15-3build1 [359 kB] 59s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libidn2-0 ppc64el 2.3.8-4build1 [71.3 kB] 59s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el shared-mime-info ppc64el 2.4-5build3 [482 kB] 59s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgdbm6t64 ppc64el 1.26-1build1 [43.6 kB] 59s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el libjansson4 ppc64el 2.14-2build4 [41.0 kB] 59s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libnetfilter-conntrack3 ppc64el 1.1.1-1 [52.6 kB] 59s Get:15 http://ftpmaster.internal/ubuntu resolute/main ppc64el libusb-1.0-0 ppc64el 2:1.0.29-2build1 [64.8 kB] 59s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxau6 ppc64el 1:1.0.11-1build2 [8274 B] 59s Get:17 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxkbcommon0 ppc64el 1.13.1-1 [189 kB] 59s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el ubuntu-standard ppc64el 1.564 [13.3 kB] 59s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgdbm-compat4t64 ppc64el 1.26-1build1 [6928 B] 59s Get:20 http://ftpmaster.internal/ubuntu resolute/main ppc64el libwrap0 ppc64el 7.6.q-36build2 [51.6 kB] 59s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el ubuntu-kernel-accessories ppc64el 1.564 [13.1 kB] 59s dpkg-preconfigure: unable to re-open stdin: No such file or directory 59s Fetched 2017 kB in 0s (38.1 MB/s) 60s (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 ... 122073 files and directories currently installed.) 60s Preparing to unpack .../00-libbsd0_0.12.2-2build2_ppc64el.deb ... 60s Unpacking libbsd0:ppc64el (0.12.2-2build2) over (0.12.2-2build1) ... 60s Preparing to unpack .../01-dbus-system-bus-common_1.16.2-2ubuntu3_all.deb ... 60s Unpacking dbus-system-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 60s Preparing to unpack .../02-dbus-session-bus-common_1.16.2-2ubuntu3_all.deb ... 61s Unpacking dbus-session-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 61s Preparing to unpack .../03-dbus-user-session_1.16.2-2ubuntu3_ppc64el.deb ... 61s Unpacking dbus-user-session (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 61s Preparing to unpack .../04-dbus-daemon_1.16.2-2ubuntu3_ppc64el.deb ... 61s Unpacking dbus-daemon (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 61s Preparing to unpack .../05-dbus-bin_1.16.2-2ubuntu3_ppc64el.deb ... 61s Unpacking dbus-bin (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 63s Preparing to unpack .../06-dbus_1.16.2-2ubuntu3_ppc64el.deb ... 63s Unpacking dbus (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 63s Preparing to unpack .../07-libdbus-1-3_1.16.2-2ubuntu3_ppc64el.deb ... 63s Unpacking libdbus-1-3:ppc64el (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 63s Preparing to unpack .../08-ethtool_1%3a6.15-3build1_ppc64el.deb ... 63s Unpacking ethtool (1:6.15-3build1) over (1:6.15-3) ... 63s Preparing to unpack .../09-libidn2-0_2.3.8-4build1_ppc64el.deb ... 63s Unpacking libidn2-0:ppc64el (2.3.8-4build1) over (2.3.8-4) ... 63s Preparing to unpack .../10-shared-mime-info_2.4-5build3_ppc64el.deb ... 63s Unpacking shared-mime-info (2.4-5build3) over (2.4-5build2) ... 63s Preparing to unpack .../11-libgdbm6t64_1.26-1build1_ppc64el.deb ... 63s Unpacking libgdbm6t64:ppc64el (1.26-1build1) over (1.26-1) ... 63s Preparing to unpack .../12-libjansson4_2.14-2build4_ppc64el.deb ... 64s Unpacking libjansson4:ppc64el (2.14-2build4) over (2.14-2build3) ... 64s Preparing to unpack .../13-libnetfilter-conntrack3_1.1.1-1_ppc64el.deb ... 64s Unpacking libnetfilter-conntrack3:ppc64el (1.1.1-1) over (1.1.0-1build1) ... 64s Preparing to unpack .../14-libusb-1.0-0_2%3a1.0.29-2build1_ppc64el.deb ... 64s Unpacking libusb-1.0-0:ppc64el (2:1.0.29-2build1) over (2:1.0.29-2) ... 64s Preparing to unpack .../15-libxau6_1%3a1.0.11-1build2_ppc64el.deb ... 64s Unpacking libxau6:ppc64el (1:1.0.11-1build2) over (1:1.0.11-1build1) ... 64s Preparing to unpack .../16-libxkbcommon0_1.13.1-1_ppc64el.deb ... 64s Unpacking libxkbcommon0:ppc64el (1.13.1-1) over (1.12.3-1) ... 65s Preparing to unpack .../17-ubuntu-standard_1.564_ppc64el.deb ... 65s Unpacking ubuntu-standard (1.564) over (1.563) ... 65s Preparing to unpack .../18-libgdbm-compat4t64_1.26-1build1_ppc64el.deb ... 65s Unpacking libgdbm-compat4t64:ppc64el (1.26-1build1) over (1.26-1) ... 65s Preparing to unpack .../19-libwrap0_7.6.q-36build2_ppc64el.deb ... 65s Unpacking libwrap0:ppc64el (7.6.q-36build2) over (7.6.q-36build1) ... 65s Preparing to unpack .../20-ubuntu-kernel-accessories_1.564_ppc64el.deb ... 65s Unpacking ubuntu-kernel-accessories (1.564) over (1.563) ... 65s Setting up libxau6:ppc64el (1:1.0.11-1build2) ... 65s Setting up ubuntu-kernel-accessories (1.564) ... 65s Setting up libgdbm6t64:ppc64el (1.26-1build1) ... 65s Setting up libgdbm-compat4t64:ppc64el (1.26-1build1) ... 65s Setting up libidn2-0:ppc64el (2.3.8-4build1) ... 65s Setting up ubuntu-standard (1.564) ... 65s Setting up libjansson4:ppc64el (2.14-2build4) ... 66s Setting up libwrap0:ppc64el (7.6.q-36build2) ... 66s Setting up libdbus-1-3:ppc64el (1.16.2-2ubuntu3) ... 66s Setting up shared-mime-info (2.4-5build3) ... 73s Setting up libnetfilter-conntrack3:ppc64el (1.1.1-1) ... 73s Setting up dbus-session-bus-common (1.16.2-2ubuntu3) ... 73s Setting up libusb-1.0-0:ppc64el (2:1.0.29-2build1) ... 73s Setting up dbus-system-bus-common (1.16.2-2ubuntu3) ... 73s Setting up libbsd0:ppc64el (0.12.2-2build2) ... 73s Setting up dbus-bin (1.16.2-2ubuntu3) ... 73s Setting up ethtool (1:6.15-3build1) ... 73s Setting up libxkbcommon0:ppc64el (1.13.1-1) ... 73s Setting up dbus-daemon (1.16.2-2ubuntu3) ... 73s Setting up dbus-user-session (1.16.2-2ubuntu3) ... 74s Setting up dbus (1.16.2-2ubuntu3) ... 74s A reboot is required to replace the running dbus-daemon. 74s Please reboot the system when convenient. 74s Processing triggers for man-db (2.13.1-1build1) ... 75s Processing triggers for libc-bin (2.42-2ubuntu4) ... 76s autopkgtest [22:30:50]: upgrading testbed (apt dist-upgrade and autopurge) 76s Reading package lists... 76s Building dependency tree... 76s Reading state information... 76s Calculating upgrade... 76s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 76s Reading package lists... 76s Building dependency tree... 76s Reading state information... 76s Solving dependencies... 76s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 77s autopkgtest [22:30:51]: rebooting testbed after setup commands that affected boot 115s autopkgtest [22:31:29]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 23 20:13:51 UTC 2026 118s autopkgtest [22:31:32]: @@@@@@@@@@@@@@@@@@@@ apt-source exchange-calendars 120s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (dsc) [2395 B] 120s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (tar) [4083 kB] 120s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (diff) [3556 B] 120s gpgv: Signature made Sun Feb 8 12:26:48 2026 UTC 120s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 120s gpgv: Can't check signature: No public key 120s dpkg-source: warning: cannot verify inline signature for ./exchange-calendars_4.13.1-1.dsc: no acceptable signature found 120s autopkgtest [22:31:34]: testing package exchange-calendars version 4.13.1-1 121s autopkgtest [22:31:35]: build not needed 122s autopkgtest [22:31:36]: test pybuild-autopkgtest: preparing testbed 122s Reading package lists... 123s Building dependency tree... 123s Reading state information... 123s Solving dependencies... 123s The following NEW packages will be installed: 123s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 123s cpp-15-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper debugedit 123s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 123s g++-15-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-15 123s gcc-15-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 123s intltool-debian libarchive-zip-perl libasan8 libblas3 libc-dev-bin libc6-dev 123s libcc1-0 libcrypt-dev libdebhelper-perl libfile-stripnondeterminism-perl 123s libgcc-15-dev libgfortran5 libgomp1 libisl23 libitm1 liblapack3 liblsan0 123s libmpc3 libquadmath0 libstdc++-15-dev libtool libtsan2 libubsan1 123s linux-libc-dev m4 po-debconf pybuild-plugin-autopkgtest 123s pybuild-plugin-pyproject python3-all python3-build 123s python3-exchange-calendars python3-hypothesis python3-iniconfig 123s python3-installer python3-korean-lunar-calendar python3-numpy 123s python3-numpy-dev python3-pandas python3-pandas-lib python3-pluggy 123s python3-pyluach python3-pyproject-hooks python3-pytest python3-pytz 123s python3-sortedcontainers python3-toolz python3-wheel python3.14 123s python3.14-minimal rpcsvc-proto 123s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 123s Need to get 95.1 MB of archives. 123s After this operation, 398 MB of additional disk space will be used. 123s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-numpy-dev ppc64el 1:2.3.5+ds-3 [153 kB] 123s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libblas3 ppc64el 3.12.1-7ubuntu1 [291 kB] 123s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgfortran5 ppc64el 15.2.0-12ubuntu1 [620 kB] 123s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el liblapack3 ppc64el 3.12.1-7ubuntu1 [2960 kB] 123s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-numpy ppc64el 1:2.3.5+ds-3 [5722 kB] 123s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14-minimal ppc64el 3.14.2-1 [2712 kB] 123s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el m4 ppc64el 1.4.21-1 [238 kB] 123s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el autoconf all 2.72-3.1ubuntu2 [384 kB] 123s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el autotools-dev all 20240727.1build1 [43.4 kB] 123s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el automake all 1:1.18.1-3build1 [582 kB] 124s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el autopoint all 0.23.2-1 [620 kB] 124s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el libc-dev-bin ppc64el 2.42-2ubuntu4 [23.9 kB] 124s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el linux-libc-dev ppc64el 6.19.0-3.3 [1832 kB] 124s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcrypt-dev ppc64el 1:4.5.1-1 [162 kB] 124s Get:15 http://ftpmaster.internal/ubuntu resolute/main ppc64el rpcsvc-proto ppc64el 1.4.3-1build1 [84.2 kB] 124s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libc6-dev ppc64el 2.42-2ubuntu4 [2080 kB] 124s Get:17 http://ftpmaster.internal/ubuntu resolute/main ppc64el libisl23 ppc64el 0.27-1build1 [893 kB] 124s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el libmpc3 ppc64el 1.3.1-2 [62.5 kB] 124s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15-powerpc64le-linux-gnu ppc64el 15.2.0-12ubuntu1 [11.4 MB] 124s Get:20 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15 ppc64el 15.2.0-12ubuntu1 [1038 B] 124s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [5746 B] 124s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp ppc64el 4:15.2.0-4ubuntu1 [22.4 kB] 124s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcc1-0 ppc64el 15.2.0-12ubuntu1 [49.0 kB] 124s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-12ubuntu1 [169 kB] 124s Get:25 http://ftpmaster.internal/ubuntu resolute/main ppc64el libitm1 ppc64el 15.2.0-12ubuntu1 [32.2 kB] 124s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el libasan8 ppc64el 15.2.0-12ubuntu1 [3006 kB] 124s Get:27 http://ftpmaster.internal/ubuntu resolute/main ppc64el liblsan0 ppc64el 15.2.0-12ubuntu1 [1374 kB] 124s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtsan2 ppc64el 15.2.0-12ubuntu1 [2729 kB] 124s Get:29 http://ftpmaster.internal/ubuntu resolute/main ppc64el libubsan1 ppc64el 15.2.0-12ubuntu1 [1231 kB] 124s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el libquadmath0 ppc64el 15.2.0-12ubuntu1 [160 kB] 124s Get:31 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-15-dev ppc64el 15.2.0-12ubuntu1 [1670 kB] 124s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-powerpc64le-linux-gnu ppc64el 15.2.0-12ubuntu1 [22.4 MB] 125s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15 ppc64el 15.2.0-12ubuntu1 [530 kB] 125s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [1220 B] 125s Get:35 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc ppc64el 4:15.2.0-4ubuntu1 [5032 B] 125s Get:36 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++-15-dev ppc64el 15.2.0-12ubuntu1 [2747 kB] 125s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15-powerpc64le-linux-gnu ppc64el 15.2.0-12ubuntu1 [13.0 MB] 125s Get:38 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15 ppc64el 15.2.0-12ubuntu1 [25.3 kB] 125s Get:39 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [970 B] 125s Get:40 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++ ppc64el 4:15.2.0-4ubuntu1 [1092 B] 125s Get:41 http://ftpmaster.internal/ubuntu resolute/main ppc64el build-essential ppc64el 12.12ubuntu2 [5256 B] 125s Get:42 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 125s Get:43 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtool all 2.5.4-9 [169 kB] 125s Get:44 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-autoreconf all 21+nmu1 [11.9 kB] 125s Get:45 http://ftpmaster.internal/ubuntu resolute/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 125s Get:46 http://ftpmaster.internal/ubuntu resolute/main ppc64el libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 125s Get:47 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 125s Get:48 http://ftpmaster.internal/ubuntu resolute/main ppc64el debugedit ppc64el 1:5.2-3build1 [57.3 kB] 125s Get:49 http://ftpmaster.internal/ubuntu resolute/main ppc64el dwz ppc64el 0.16-2build1 [142 kB] 125s Get:50 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 125s Get:51 http://ftpmaster.internal/ubuntu resolute/main ppc64el intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 125s Get:52 http://ftpmaster.internal/ubuntu resolute/main ppc64el po-debconf all 1.0.22 [215 kB] 125s Get:53 http://ftpmaster.internal/ubuntu resolute/main ppc64el debhelper all 13.28ubuntu1 [916 kB] 125s Get:54 http://ftpmaster.internal/ubuntu resolute/universe ppc64el dh-python all 7.20260125 [122 kB] 125s Get:55 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pybuild-plugin-autopkgtest all 7.20260125 [1744 B] 125s Get:56 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 125s Get:57 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-wheel all 0.46.1-2 [22.1 kB] 125s Get:58 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-build all 1.2.2-5 [30.9 kB] 125s Get:59 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 125s Get:60 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pybuild-plugin-pyproject all 7.20260125 [1712 B] 125s Get:61 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14 ppc64el 3.14.2-1 [816 kB] 125s Get:62 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-all ppc64el 3.13.9-3 [890 B] 125s Get:63 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-korean-lunar-calendar all 0.3.1-2build1 [9300 B] 125s Get:64 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytz all 2025.2-5 [32.4 kB] 125s Get:65 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pandas-lib ppc64el 2.3.3+dfsg-3 [7213 kB] 125s Get:66 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pandas all 2.3.3+dfsg-3 [2948 kB] 125s Get:67 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pyluach all 2.3.0-1 [24.2 kB] 125s Get:68 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-toolz all 1.1.0-1 [46.5 kB] 125s Get:69 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el python3-exchange-calendars all 4.13.1-1 [156 kB] 125s Get:70 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-sortedcontainers all 2.4.0-2build1 [27.1 kB] 125s Get:71 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-hypothesis all 6.150.0-1 [375 kB] 125s Get:72 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 2.1.0-2 [6962 B] 125s Get:73 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-2 [21.1 kB] 125s Get:74 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 9.0.2-2 [277 kB] 126s Fetched 95.1 MB in 3s (36.1 MB/s) 126s Selecting previously unselected package python3-numpy-dev:ppc64el. 126s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 121990 files and directories currently installed.) 126s Preparing to unpack .../00-python3-numpy-dev_1%3a2.3.5+ds-3_ppc64el.deb ... 126s Unpacking python3-numpy-dev:ppc64el (1:2.3.5+ds-3) ... 127s Selecting previously unselected package libblas3:ppc64el. 127s Preparing to unpack .../01-libblas3_3.12.1-7ubuntu1_ppc64el.deb ... 127s Unpacking libblas3:ppc64el (3.12.1-7ubuntu1) ... 127s Selecting previously unselected package libgfortran5:ppc64el. 127s Preparing to unpack .../02-libgfortran5_15.2.0-12ubuntu1_ppc64el.deb ... 127s Unpacking libgfortran5:ppc64el (15.2.0-12ubuntu1) ... 127s Selecting previously unselected package liblapack3:ppc64el. 127s Preparing to unpack .../03-liblapack3_3.12.1-7ubuntu1_ppc64el.deb ... 127s Unpacking liblapack3:ppc64el (3.12.1-7ubuntu1) ... 127s Selecting previously unselected package python3-numpy. 127s Preparing to unpack .../04-python3-numpy_1%3a2.3.5+ds-3_ppc64el.deb ... 127s Unpacking python3-numpy (1:2.3.5+ds-3) ... 127s Selecting previously unselected package python3.14-minimal. 127s Preparing to unpack .../05-python3.14-minimal_3.14.2-1_ppc64el.deb ... 127s Unpacking python3.14-minimal (3.14.2-1) ... 127s Selecting previously unselected package m4. 127s Preparing to unpack .../06-m4_1.4.21-1_ppc64el.deb ... 127s Unpacking m4 (1.4.21-1) ... 127s Selecting previously unselected package autoconf. 127s Preparing to unpack .../07-autoconf_2.72-3.1ubuntu2_all.deb ... 127s Unpacking autoconf (2.72-3.1ubuntu2) ... 127s Selecting previously unselected package autotools-dev. 127s Preparing to unpack .../08-autotools-dev_20240727.1build1_all.deb ... 127s Unpacking autotools-dev (20240727.1build1) ... 127s Selecting previously unselected package automake. 127s Preparing to unpack .../09-automake_1%3a1.18.1-3build1_all.deb ... 127s Unpacking automake (1:1.18.1-3build1) ... 127s Selecting previously unselected package autopoint. 127s Preparing to unpack .../10-autopoint_0.23.2-1_all.deb ... 127s Unpacking autopoint (0.23.2-1) ... 127s Selecting previously unselected package libc-dev-bin. 127s Preparing to unpack .../11-libc-dev-bin_2.42-2ubuntu4_ppc64el.deb ... 127s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 127s Selecting previously unselected package linux-libc-dev:ppc64el. 127s Preparing to unpack .../12-linux-libc-dev_6.19.0-3.3_ppc64el.deb ... 127s Unpacking linux-libc-dev:ppc64el (6.19.0-3.3) ... 127s Selecting previously unselected package libcrypt-dev:ppc64el. 127s Preparing to unpack .../13-libcrypt-dev_1%3a4.5.1-1_ppc64el.deb ... 127s Unpacking libcrypt-dev:ppc64el (1:4.5.1-1) ... 127s Selecting previously unselected package rpcsvc-proto. 127s Preparing to unpack .../14-rpcsvc-proto_1.4.3-1build1_ppc64el.deb ... 127s Unpacking rpcsvc-proto (1.4.3-1build1) ... 127s Selecting previously unselected package libc6-dev:ppc64el. 127s Preparing to unpack .../15-libc6-dev_2.42-2ubuntu4_ppc64el.deb ... 127s Unpacking libc6-dev:ppc64el (2.42-2ubuntu4) ... 127s Selecting previously unselected package libisl23:ppc64el. 127s Preparing to unpack .../16-libisl23_0.27-1build1_ppc64el.deb ... 127s Unpacking libisl23:ppc64el (0.27-1build1) ... 127s Selecting previously unselected package libmpc3:ppc64el. 127s Preparing to unpack .../17-libmpc3_1.3.1-2_ppc64el.deb ... 127s Unpacking libmpc3:ppc64el (1.3.1-2) ... 127s Selecting previously unselected package cpp-15-powerpc64le-linux-gnu. 127s Preparing to unpack .../18-cpp-15-powerpc64le-linux-gnu_15.2.0-12ubuntu1_ppc64el.deb ... 127s Unpacking cpp-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package cpp-15. 128s Preparing to unpack .../19-cpp-15_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 128s Preparing to unpack .../20-cpp-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 128s Unpacking cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 128s Selecting previously unselected package cpp. 128s Preparing to unpack .../21-cpp_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 128s Unpacking cpp (4:15.2.0-4ubuntu1) ... 128s Selecting previously unselected package libcc1-0:ppc64el. 128s Preparing to unpack .../22-libcc1-0_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libcc1-0:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libgomp1:ppc64el. 128s Preparing to unpack .../23-libgomp1_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libgomp1:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libitm1:ppc64el. 128s Preparing to unpack .../24-libitm1_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libitm1:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libasan8:ppc64el. 128s Preparing to unpack .../25-libasan8_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libasan8:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package liblsan0:ppc64el. 128s Preparing to unpack .../26-liblsan0_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking liblsan0:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libtsan2:ppc64el. 128s Preparing to unpack .../27-libtsan2_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libtsan2:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libubsan1:ppc64el. 128s Preparing to unpack .../28-libubsan1_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libubsan1:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libquadmath0:ppc64el. 128s Preparing to unpack .../29-libquadmath0_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libquadmath0:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package libgcc-15-dev:ppc64el. 128s Preparing to unpack .../30-libgcc-15-dev_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libgcc-15-dev:ppc64el (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package gcc-15-powerpc64le-linux-gnu. 128s Preparing to unpack .../31-gcc-15-powerpc64le-linux-gnu_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking gcc-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package gcc-15. 128s Preparing to unpack .../32-gcc-15_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 128s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 128s Preparing to unpack .../33-gcc-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 128s Unpacking gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 128s Selecting previously unselected package gcc. 128s Preparing to unpack .../34-gcc_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 128s Unpacking gcc (4:15.2.0-4ubuntu1) ... 128s Selecting previously unselected package libstdc++-15-dev:ppc64el. 128s Preparing to unpack .../35-libstdc++-15-dev_15.2.0-12ubuntu1_ppc64el.deb ... 128s Unpacking libstdc++-15-dev:ppc64el (15.2.0-12ubuntu1) ... 129s Selecting previously unselected package g++-15-powerpc64le-linux-gnu. 129s Preparing to unpack .../36-g++-15-powerpc64le-linux-gnu_15.2.0-12ubuntu1_ppc64el.deb ... 129s Unpacking g++-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 129s Selecting previously unselected package g++-15. 129s Preparing to unpack .../37-g++-15_15.2.0-12ubuntu1_ppc64el.deb ... 129s Unpacking g++-15 (15.2.0-12ubuntu1) ... 129s Selecting previously unselected package g++-powerpc64le-linux-gnu. 129s Preparing to unpack .../38-g++-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 129s Unpacking g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 129s Selecting previously unselected package g++. 129s Preparing to unpack .../39-g++_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 129s Unpacking g++ (4:15.2.0-4ubuntu1) ... 129s Selecting previously unselected package build-essential. 129s Preparing to unpack .../40-build-essential_12.12ubuntu2_ppc64el.deb ... 129s Unpacking build-essential (12.12ubuntu2) ... 129s Selecting previously unselected package libdebhelper-perl. 129s Preparing to unpack .../41-libdebhelper-perl_13.28ubuntu1_all.deb ... 129s Unpacking libdebhelper-perl (13.28ubuntu1) ... 129s Selecting previously unselected package libtool. 129s Preparing to unpack .../42-libtool_2.5.4-9_all.deb ... 129s Unpacking libtool (2.5.4-9) ... 129s Selecting previously unselected package dh-autoreconf. 129s Preparing to unpack .../43-dh-autoreconf_21+nmu1_all.deb ... 129s Unpacking dh-autoreconf (21+nmu1) ... 129s Selecting previously unselected package libarchive-zip-perl. 129s Preparing to unpack .../44-libarchive-zip-perl_1.68-1_all.deb ... 129s Unpacking libarchive-zip-perl (1.68-1) ... 129s Selecting previously unselected package libfile-stripnondeterminism-perl. 129s Preparing to unpack .../45-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 129s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 129s Selecting previously unselected package dh-strip-nondeterminism. 129s Preparing to unpack .../46-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 129s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 129s Selecting previously unselected package debugedit. 129s Preparing to unpack .../47-debugedit_1%3a5.2-3build1_ppc64el.deb ... 129s Unpacking debugedit (1:5.2-3build1) ... 129s Selecting previously unselected package dwz. 129s Preparing to unpack .../48-dwz_0.16-2build1_ppc64el.deb ... 129s Unpacking dwz (0.16-2build1) ... 129s Selecting previously unselected package gettext. 129s Preparing to unpack .../49-gettext_0.23.2-1_ppc64el.deb ... 129s Unpacking gettext (0.23.2-1) ... 129s Selecting previously unselected package intltool-debian. 129s Preparing to unpack .../50-intltool-debian_0.35.0+20060710.6build1_all.deb ... 129s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 129s Selecting previously unselected package po-debconf. 129s Preparing to unpack .../51-po-debconf_1.0.22_all.deb ... 129s Unpacking po-debconf (1.0.22) ... 129s Selecting previously unselected package debhelper. 129s Preparing to unpack .../52-debhelper_13.28ubuntu1_all.deb ... 129s Unpacking debhelper (13.28ubuntu1) ... 129s Selecting previously unselected package dh-python. 129s Preparing to unpack .../53-dh-python_7.20260125_all.deb ... 129s Unpacking dh-python (7.20260125) ... 129s Selecting previously unselected package pybuild-plugin-autopkgtest. 129s Preparing to unpack .../54-pybuild-plugin-autopkgtest_7.20260125_all.deb ... 129s Unpacking pybuild-plugin-autopkgtest (7.20260125) ... 129s Selecting previously unselected package python3-pyproject-hooks. 129s Preparing to unpack .../55-python3-pyproject-hooks_1.2.0-1_all.deb ... 129s Unpacking python3-pyproject-hooks (1.2.0-1) ... 129s Selecting previously unselected package python3-wheel. 129s Preparing to unpack .../56-python3-wheel_0.46.1-2_all.deb ... 129s Unpacking python3-wheel (0.46.1-2) ... 129s Selecting previously unselected package python3-build. 129s Preparing to unpack .../57-python3-build_1.2.2-5_all.deb ... 129s Unpacking python3-build (1.2.2-5) ... 129s Selecting previously unselected package python3-installer. 129s Preparing to unpack .../58-python3-installer_0.7.0+dfsg1-3_all.deb ... 129s Unpacking python3-installer (0.7.0+dfsg1-3) ... 129s Selecting previously unselected package pybuild-plugin-pyproject. 129s Preparing to unpack .../59-pybuild-plugin-pyproject_7.20260125_all.deb ... 129s Unpacking pybuild-plugin-pyproject (7.20260125) ... 129s Selecting previously unselected package python3.14. 129s Preparing to unpack .../60-python3.14_3.14.2-1_ppc64el.deb ... 129s Unpacking python3.14 (3.14.2-1) ... 129s Selecting previously unselected package python3-all. 129s Preparing to unpack .../61-python3-all_3.13.9-3_ppc64el.deb ... 129s Unpacking python3-all (3.13.9-3) ... 129s Selecting previously unselected package python3-korean-lunar-calendar. 129s Preparing to unpack .../62-python3-korean-lunar-calendar_0.3.1-2build1_all.deb ... 129s Unpacking python3-korean-lunar-calendar (0.3.1-2build1) ... 129s Selecting previously unselected package python3-pytz. 129s Preparing to unpack .../63-python3-pytz_2025.2-5_all.deb ... 129s Unpacking python3-pytz (2025.2-5) ... 129s Selecting previously unselected package python3-pandas-lib:ppc64el. 129s Preparing to unpack .../64-python3-pandas-lib_2.3.3+dfsg-3_ppc64el.deb ... 129s Unpacking python3-pandas-lib:ppc64el (2.3.3+dfsg-3) ... 130s Selecting previously unselected package python3-pandas. 130s Preparing to unpack .../65-python3-pandas_2.3.3+dfsg-3_all.deb ... 130s Unpacking python3-pandas (2.3.3+dfsg-3) ... 130s Selecting previously unselected package python3-pyluach. 130s Preparing to unpack .../66-python3-pyluach_2.3.0-1_all.deb ... 130s Unpacking python3-pyluach (2.3.0-1) ... 130s Selecting previously unselected package python3-toolz. 130s Preparing to unpack .../67-python3-toolz_1.1.0-1_all.deb ... 130s Unpacking python3-toolz (1.1.0-1) ... 130s Selecting previously unselected package python3-exchange-calendars. 130s Preparing to unpack .../68-python3-exchange-calendars_4.13.1-1_all.deb ... 130s Unpacking python3-exchange-calendars (4.13.1-1) ... 130s Selecting previously unselected package python3-sortedcontainers. 130s Preparing to unpack .../69-python3-sortedcontainers_2.4.0-2build1_all.deb ... 130s Unpacking python3-sortedcontainers (2.4.0-2build1) ... 130s Selecting previously unselected package python3-hypothesis. 130s Preparing to unpack .../70-python3-hypothesis_6.150.0-1_all.deb ... 130s Unpacking python3-hypothesis (6.150.0-1) ... 130s Selecting previously unselected package python3-iniconfig. 130s Preparing to unpack .../71-python3-iniconfig_2.1.0-2_all.deb ... 130s Unpacking python3-iniconfig (2.1.0-2) ... 130s Selecting previously unselected package python3-pluggy. 130s Preparing to unpack .../72-python3-pluggy_1.6.0-2_all.deb ... 130s Unpacking python3-pluggy (1.6.0-2) ... 130s Selecting previously unselected package python3-pytest. 130s Preparing to unpack .../73-python3-pytest_9.0.2-2_all.deb ... 130s Unpacking python3-pytest (9.0.2-2) ... 130s Setting up dh-python (7.20260125) ... 130s Setting up python3-iniconfig (2.1.0-2) ... 131s Setting up python3-pyluach (2.3.0-1) ... 131s Setting up libarchive-zip-perl (1.68-1) ... 131s Setting up libdebhelper-perl (13.28ubuntu1) ... 131s Setting up linux-libc-dev:ppc64el (6.19.0-3.3) ... 131s Setting up m4 (1.4.21-1) ... 131s Setting up python3-pytz (2025.2-5) ... 131s Setting up python3-sortedcontainers (2.4.0-2build1) ... 131s Setting up libgomp1:ppc64el (15.2.0-12ubuntu1) ... 131s Setting up python3-wheel (0.46.1-2) ... 131s Setting up autotools-dev (20240727.1build1) ... 131s Setting up libblas3:ppc64el (3.12.1-7ubuntu1) ... 132s 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 132s Setting up python3-korean-lunar-calendar (0.3.1-2build1) ... 132s Setting up rpcsvc-proto (1.4.3-1build1) ... 132s Setting up python3-pyproject-hooks (1.2.0-1) ... 132s Setting up libquadmath0:ppc64el (15.2.0-12ubuntu1) ... 132s Setting up libmpc3:ppc64el (1.3.1-2) ... 132s Setting up python3-numpy-dev:ppc64el (1:2.3.5+ds-3) ... 132s Setting up autopoint (0.23.2-1) ... 132s Setting up python3-installer (0.7.0+dfsg1-3) ... 132s Setting up libgfortran5:ppc64el (15.2.0-12ubuntu1) ... 132s Setting up autoconf (2.72-3.1ubuntu2) ... 132s Setting up python3-pluggy (1.6.0-2) ... 132s Setting up libubsan1:ppc64el (15.2.0-12ubuntu1) ... 132s Setting up dwz (0.16-2build1) ... 132s Setting up libcrypt-dev:ppc64el (1:4.5.1-1) ... 132s Setting up libasan8:ppc64el (15.2.0-12ubuntu1) ... 132s Setting up debugedit (1:5.2-3build1) ... 132s Setting up python3-toolz (1.1.0-1) ... 132s Setting up libtsan2:ppc64el (15.2.0-12ubuntu1) ... 132s Setting up libisl23:ppc64el (0.27-1build1) ... 132s Setting up python3-build (1.2.2-5) ... 133s Setting up libc-dev-bin (2.42-2ubuntu4) ... 133s Setting up python3.14-minimal (3.14.2-1) ... 134s Setting up libcc1-0:ppc64el (15.2.0-12ubuntu1) ... 134s Setting up liblsan0:ppc64el (15.2.0-12ubuntu1) ... 134s Setting up libitm1:ppc64el (15.2.0-12ubuntu1) ... 134s Setting up automake (1:1.18.1-3build1) ... 134s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 134s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 134s Setting up liblapack3:ppc64el (3.12.1-7ubuntu1) ... 134s 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 134s Setting up gettext (0.23.2-1) ... 134s Setting up libgcc-15-dev:ppc64el (15.2.0-12ubuntu1) ... 134s Setting up pybuild-plugin-pyproject (7.20260125) ... 134s Setting up python3-pytest (9.0.2-2) ... 134s Setting up python3-hypothesis (6.150.0-1) ... 135s Setting up intltool-debian (0.35.0+20060710.6build1) ... 135s Setting up cpp-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 135s Setting up python3-numpy (1:2.3.5+ds-3) ... 139s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 139s Setting up cpp-15 (15.2.0-12ubuntu1) ... 139s Setting up libc6-dev:ppc64el (2.42-2ubuntu4) ... 139s Setting up python3.14 (3.14.2-1) ... 141s Setting up cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 141s Setting up gcc-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 141s Setting up po-debconf (1.0.22) ... 141s Setting up python3-pandas-lib:ppc64el (2.3.3+dfsg-3) ... 141s Setting up python3-all (3.13.9-3) ... 141s Setting up gcc-15 (15.2.0-12ubuntu1) ... 141s Setting up libstdc++-15-dev:ppc64el (15.2.0-12ubuntu1) ... 141s Setting up python3-pandas (2.3.3+dfsg-3) ... 150s Setting up gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 150s Setting up cpp (4:15.2.0-4ubuntu1) ... 150s Setting up g++-15-powerpc64le-linux-gnu (15.2.0-12ubuntu1) ... 150s Setting up libtool (2.5.4-9) ... 150s Setting up python3-exchange-calendars (4.13.1-1) ... 150s Setting up gcc (4:15.2.0-4ubuntu1) ... 150s Setting up dh-autoreconf (21+nmu1) ... 150s Setting up g++-15 (15.2.0-12ubuntu1) ... 150s Setting up g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 150s Setting up debhelper (13.28ubuntu1) ... 150s Setting up g++ (4:15.2.0-4ubuntu1) ... 150s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 150s Setting up build-essential (12.12ubuntu2) ... 150s Setting up pybuild-plugin-autopkgtest (7.20260125) ... 150s Processing triggers for man-db (2.13.1-1build1) ... 151s Processing triggers for install-info (7.2-5) ... 152s Processing triggers for libc-bin (2.42-2ubuntu4) ... 152s Processing triggers for systemd (259-1ubuntu3) ... 153s autopkgtest [22:32:07]: test pybuild-autopkgtest: pybuild-autopkgtest 153s autopkgtest [22:32:07]: test pybuild-autopkgtest: [----------------------- 153s pybuild-autopkgtest 153s I: pybuild base:384: cd /tmp/autopkgtest.w9ju3j/autopkgtest_tmp/build; python3.14 -m pytest -k "not test_testbase_integrity and not exchange_calendars.utils.pandas_utils.indexes_union and not test_indices_fuzz" 154s ============================= test session starts ============================== 154s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 154s cachedir: .pytest_cache 154s hypothesis profile 'default' 154s rootdir: /tmp/autopkgtest.w9ju3j/autopkgtest_tmp/build 154s configfile: pyproject.toml 154s testpaths: tests, exchange_calendars/utils/pandas_utils.py 154s plugins: hypothesis-6.150.0, typeguard-4.4.4 157s collecting ... collected 9759 items / 74 deselected / 9685 selected 157s 157s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 158s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 159s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 159s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 159s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 160s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 161s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 0%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 162s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 163s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 163s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 163s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 163s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 163s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 165s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 1%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 166s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 166s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 169s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 2%] 171s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 2%] 172s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 173s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 2%] 174s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 2%] 175s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 2%] 175s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 175s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 175s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 2%] 175s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 2%] 176s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 2%] 177s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 178s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 3%] 180s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 3%] 181s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 3%] 183s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 3%] 183s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 3%] 186s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 3%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 3%] 187s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 189s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 3%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 3%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 190s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 191s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 191s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 191s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 4%] 192s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 4%] 194s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 4%] 195s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 4%] 196s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 4%] 197s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 4%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 5%] 199s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 5%] 200s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 5%] 200s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 5%] 203s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 5%] 203s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 5%] 203s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 5%] 203s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 5%] 204s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 5%] 204s tests/test_calendar_helpers.py::test_constants PASSED [ 5%] 204s tests/test_calendar_helpers.py::test_is_date PASSED [ 5%] 204s tests/test_calendar_helpers.py::test_is_utc PASSED [ 5%] 205s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 5%] 205s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 5%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 5%] 206s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 5%] 207s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-True] PASSED [ 5%] 207s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-False] PASSED [ 5%] 208s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-True] PASSED [ 5%] 208s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-False] PASSED [ 5%] 209s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 5%] 209s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 5%] 210s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 5%] 211s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 5%] 211s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 5%] 212s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 5%] 213s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 5%] 213s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 5%] 214s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 5%] 214s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 5%] 215s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 5%] 215s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 5%] 216s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 5%] 216s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 5%] 217s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult2] PASSED [ 5%] 217s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult3] PASSED [ 5%] 218s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 5%] 218s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 5%] 219s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 5%] 219s tests/test_calendar_helpers.py::test_parse_date[date_mult2] PASSED [ 5%] 220s tests/test_calendar_helpers.py::test_parse_date[date_mult3] PASSED [ 5%] 220s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 5%] 221s tests/test_calendar_helpers.py::test_parse_session PASSED [ 5%] 221s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 5%] 227s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 5%] 228s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 5%] 232s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 5%] 232s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 5%] 234s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 5%] 235s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 5%] 240s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 5%] 240s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 5%] 241s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 5%] 241s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 5%] 242s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 5%] 242s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 5%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 5%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 5%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 6%] 243s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 6%] 244s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 6%] 245s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 6%] 245s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 6%] 247s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 6%] 247s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 6%] 247s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 6%] 248s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 6%] 248s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 6%] 248s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 6%] 250s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 6%] 251s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 6%] 252s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 6%] 253s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 6%] 254s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 6%] 255s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 6%] 256s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 6%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 6%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 6%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 6%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 7%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 7%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 7%] 257s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 7%] 258s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 7%] 258s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 7%] 258s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 7%] 258s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 7%] 258s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 7%] 259s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 7%] 259s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 7%] 259s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 7%] 259s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 7%] 259s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 7%] 260s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 7%] 296s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 7%] 296s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 7%] 296s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 7%] 296s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 7%] 296s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 7%] 296s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 7%] 298s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 7%] 298s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 7%] 298s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 300s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 7%] 301s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 302s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 7%] 303s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 7%] 304s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 305s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 7%] 306s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 7%] 307s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 7%] 308s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 7%] 309s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 7%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 7%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 7%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 7%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 8%] 310s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 8%] 311s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 8%] 311s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 8%] 313s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 8%] 313s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 8%] 313s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 8%] 313s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 8%] 313s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 8%] 314s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 8%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 9%] 315s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 9%] 316s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 9%] 316s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 9%] 318s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 9%] 318s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 9%] 318s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 9%] 320s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 9%] 321s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 9%] 322s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 9%] 323s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 10%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 324s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 10%] 325s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 10%] 326s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 10%] 327s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 10%] 328s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 10%] 329s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 10%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 10%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 10%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 11%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 11%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 11%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 11%] 332s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 11%] 332s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 11%] 334s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 11%] 335s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 11%] 335s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 337s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 11%] 338s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 11%] 340s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 11%] 342s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 11%] 343s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 11%] 344s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 11%] 345s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 11%] 346s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 11%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 12%] 347s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 12%] 348s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 12%] 350s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 12%] 350s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 12%] 350s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 12%] 350s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 12%] 350s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 12%] 351s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 12%] 351s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 12%] 351s tests/test_xbda_calendar.py::TestXBDACalendar::test_base_integrity PASSED [ 12%] 352s tests/test_xbda_calendar.py::TestXBDACalendar::test_calculated_against_csv PASSED [ 12%] 352s tests/test_xbda_calendar.py::TestXBDACalendar::test_start_end PASSED [ 12%] 352s tests/test_xbda_calendar.py::TestXBDACalendar::test_invalid_input PASSED [ 12%] 354s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_min PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_max PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_sanity_check_session_lengths PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_specification PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_daylight_savings PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_opens_closes_break_starts_ends PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[both] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-next] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-next] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-next] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-next] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[left] PASSED [ 12%] 355s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[left] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[left] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[left] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-next] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-next] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[right] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[right] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[right] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[right] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[right] PASSED [ 12%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[right] PASSED [ 13%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[right] PASSED [ 13%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[right] PASSED [ 13%] 356s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[right] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[right] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-next] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[neither] PASSED [ 13%] 357s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[neither] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[right] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[left] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[both] PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_has_break PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_regular_holidays_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_holidays_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample_time PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays_time PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample_time PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_open_close_break_start_end PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_has_break PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_next_prev_session PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_offset PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_session PASSED [ 13%] 358s tests/test_xbda_calendar.py::TestXBDACalendar::test_date_to_session PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_open_close PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_in_range PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_has_break PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_window PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_distance PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_trading_index PASSED [ 13%] 359s tests/test_xbda_calendar.py::TestXBDACalendar::test_deprecated PASSED [ 13%] 359s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_base_integrity PASSED [ 13%] 360s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calculated_against_csv PASSED [ 13%] 360s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_start_end PASSED [ 13%] 360s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_invalid_input PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_min PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_max PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sanity_check_session_lengths PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_specification PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_daylight_savings PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[both] PASSED [ 14%] 362s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[both] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[both] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[left] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[right] PASSED [ 14%] 363s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[right] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[right] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[right] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 364s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[left] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[left] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[left] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[left] PASSED [ 14%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[left] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[left] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[left] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_has_break PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_regular_holidays_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_holidays_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample_time PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays_time PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample_time PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_open_close_break_start_end PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_has_break PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_next_prev_session PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_offset PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_session PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_date_to_session PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_open_close PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_in_range PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_has_break PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_window PASSED [ 15%] 365s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_distance PASSED [ 15%] 366s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_trading_index PASSED [ 15%] 366s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_deprecated PASSED [ 15%] 366s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 15%] 368s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 15%] 369s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 15%] 369s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 371s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 372s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 373s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 374s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 376s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 16%] 378s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 16%] 379s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 380s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 381s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 384s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 384s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 388s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 388s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 17%] 391s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 17%] 392s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 394s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 397s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 398s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 399s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 399s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 399s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 399s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 399s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 401s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 401s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 401s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 401s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 401s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 402s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 410s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 410s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 410s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 412s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 413s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 414s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 416s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 18%] 417s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 18%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 418s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 419s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 420s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 422s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 422s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 19%] 422s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 19%] 422s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 19%] 422s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 19%] 423s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 19%] 423s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 19%] 423s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_base_integrity PASSED [ 19%] 424s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calculated_against_csv PASSED [ 19%] 424s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_start_end PASSED [ 19%] 424s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_invalid_input PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_min PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_max PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sanity_check_session_lengths PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_specification PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_daylight_savings PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[both] PASSED [ 19%] 426s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[both] PASSED [ 19%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[both] PASSED [ 19%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[both] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-next] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-next] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[left] PASSED [ 20%] 427s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[left] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[left] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-next] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[right] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[neither] PASSED [ 20%] 428s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_has_break PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_regular_holidays_sample PASSED [ 20%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_sample PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_holidays_sample PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens_sample PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample_time PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays_time PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample_time PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_open_close_break_start_end PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_has_break PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_next_prev_session PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_offset PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_session PASSED [ 21%] 429s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_date_to_session PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_open_close PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_in_range PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_has_break PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_window PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_distance PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_trading_index PASSED [ 21%] 430s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_deprecated PASSED [ 21%] 430s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 21%] 432s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 21%] 432s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 21%] 433s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 21%] 434s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 21%] 435s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 21%] 437s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 21%] 439s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 21%] 441s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 22%] 443s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 22%] 444s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 22%] 444s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 22%] 446s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 22%] 446s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 22%] 449s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 22%] 449s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 22%] 449s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 22%] 451s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 452s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 23%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 23%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 23%] 454s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 23%] 455s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 23%] 456s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 23%] 457s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 23%] 458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 23%] 459s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 24%] 461s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 24%] 462s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 24%] 464s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 24%] 464s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 24%] 464s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 24%] 464s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 24%] 464s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 24%] 465s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 24%] 465s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 24%] 465s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 24%] 468s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 24%] 468s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 24%] 468s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 24%] 470s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 24%] 471s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 24%] 472s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 24%] 472s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 24%] 472s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 24%] 473s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 24%] 474s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 24%] 474s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 24%] 474s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 24%] 474s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 474s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 475s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 476s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 477s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 479s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 480s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 482s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 482s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 485s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 485s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 486s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 487s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 488s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 489s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 490s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 491s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 26%] 492s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 26%] 493s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 494s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 495s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 496s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 497s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 497s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 497s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 497s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 27%] 499s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 27%] 499s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 502s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 502s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 503s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 504s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 505s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 506s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 507s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 508s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 509s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 510s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 511s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 512s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 27%] 513s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 27%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 514s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 515s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 517s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 517s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 520s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 520s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 520s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 28%] 527s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 28%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 28%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 28%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 528s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 530s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 29%] 532s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 29%] 533s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 29%] 533s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 29%] 533s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 29%] 533s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 29%] 536s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 29%] 536s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_base_integrity PASSED [ 29%] 538s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calculated_against_csv PASSED [ 29%] 538s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_start_end PASSED [ 30%] 538s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_invalid_input PASSED [ 30%] 540s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_min PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_max PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sanity_check_session_lengths PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_specification PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_daylight_savings PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[both] PASSED [ 30%] 541s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[both] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[both] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-next] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-next] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[left] PASSED [ 30%] 542s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[left] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[left] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-next] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[right] PASSED [ 30%] 543s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[right] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[right] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 30%] 544s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[left] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[left] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[left] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 30%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_has_break PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_regular_holidays_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_holidays_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample_time PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays_time PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample_time PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_open_close_break_start_end PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_has_break PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_next_prev_session PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_offset PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_session PASSED [ 31%] 545s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_date_to_session PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_open_close PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_in_range PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_has_break PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_window PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_distance PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_trading_index PASSED [ 31%] 546s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_deprecated PASSED [ 31%] 546s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 31%] 549s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 31%] 549s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 31%] 549s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 31%] 551s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 31%] 552s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 31%] 553s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 31%] 554s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 31%] 555s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 31%] 555s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 31%] 555s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 31%] 555s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 31%] 555s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 556s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 32%] 558s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 560s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 561s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 561s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 561s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 563s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 563s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 566s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 566s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 566s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 568s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 33%] 569s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 33%] 571s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 33%] 572s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 33%] 573s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 33%] 574s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 576s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 577s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 34%] 579s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 34%] 580s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 34%] 582s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 34%] 582s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 34%] 582s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 34%] 582s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 34%] 582s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 34%] 583s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 34%] 583s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 34%] 583s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 34%] 585s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 34%] 585s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 34%] 585s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 587s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 588s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 590s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 591s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 592s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 593s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 35%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 35%] 595s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 35%] 596s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 597s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 598s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 599s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 601s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 601s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 601s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 601s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 601s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 602s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 602s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 602s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 604s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 604s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 604s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 606s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 607s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 609s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 611s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 612s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 613s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 614s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 36%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 616s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 617s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 617s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 619s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 619s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 619s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 619s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 619s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 620s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 620s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 620s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 622s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 622s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 622s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 624s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 625s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 627s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 628s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 629s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 37%] 630s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 37%] 632s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 633s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 634s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 38%] 635s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 38%] 638s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 38%] 638s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 38%] 641s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 38%] 641s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 38%] 641s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 38%] 643s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 38%] 644s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 38%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 646s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 647s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 648s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 649s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 651s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 39%] 652s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 39%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 654s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 655s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 655s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 658s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 658s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 660s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 660s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 661s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 662s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 40%] 663s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 40%] 664s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 40%] 665s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 40%] 667s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 40%] 668s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 40%] 669s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 670s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 40%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 41%] 671s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 41%] 672s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 41%] 674s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 41%] 674s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 41%] 674s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 41%] 674s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 41%] 674s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 41%] 675s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 41%] 675s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 41%] 675s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 41%] 678s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 41%] 678s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 41%] 678s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 680s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 41%] 682s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 41%] 685s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 41%] 686s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 41%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 41%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 42%] 689s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 42%] 690s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 42%] 691s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 42%] 694s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 42%] 695s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 42%] 698s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 42%] 698s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 42%] 698s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 42%] 698s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 42%] 698s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 42%] 699s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 42%] 700s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 42%] 700s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 42%] 700s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 42%] 700s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 43%] 703s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 43%] 703s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 43%] 704s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 43%] 705s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 43%] 705s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 43%] 707s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 43%] 708s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 43%] 709s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 44%] 710s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 44%] 711s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 44%] 712s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 44%] 712s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 44%] 712s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 44%] 714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 44%] 714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 44%] 714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 44%] 717s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 44%] 718s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 44%] 718s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 44%] 718s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 44%] 719s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 44%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 45%] 721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 45%] 723s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 45%] 724s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 45%] 725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 45%] 726s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 45%] 726s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 45%] 726s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 45%] 726s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 45%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 46%] 729s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 46%] 729s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 46%] 731s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 46%] 731s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 46%] 731s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 733s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 46%] 734s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 46%] 736s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 46%] 738s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 46%] 740s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 741s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 46%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 47%] 742s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 47%] 743s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 47%] 743s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 47%] 743s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 47%] 743s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 47%] 743s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 47%] 745s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 47%] 745s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 47%] 745s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 47%] 745s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 47%] 745s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 47%] 746s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 47%] 746s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 47%] 746s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 47%] 748s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 47%] 748s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 47%] 748s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 47%] 750s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 47%] 751s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 47%] 753s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 47%] 754s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 47%] 754s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 47%] 754s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 47%] 754s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 47%] 754s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 47%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 48%] 755s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 48%] 756s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 48%] 757s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 48%] 758s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 48%] 759s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 48%] 762s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 48%] 762s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 48%] 764s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 48%] 764s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 766s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 49%] 767s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 49%] 769s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 49%] 771s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 49%] 772s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 49%] 773s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 49%] 774s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 50%] 776s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 50%] 777s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 50%] 779s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 50%] 779s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 50%] 779s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 50%] 779s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 50%] 780s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 50%] 780s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 50%] 780s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 50%] 780s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 50%] 780s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 50%] 782s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 50%] 782s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 50%] 782s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 50%] 784s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 50%] 785s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 50%] 787s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 50%] 788s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 789s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 50%] 790s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 50%] 791s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 50%] 791s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 50%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 51%] 792s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 51%] 794s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 51%] 795s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 51%] 795s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 51%] 795s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 51%] 795s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 51%] 798s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 51%] 798s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 51%] 817s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 51%] 821s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 51%] 822s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 51%] 829s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 51%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 52%] 833s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 52%] 834s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 52%] 835s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 52%] 838s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 52%] 839s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 52%] 842s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 52%] 843s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 52%] 843s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 52%] 843s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 52%] 843s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 52%] 844s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 52%] 846s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 52%] 847s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 848s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 52%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 53%] 851s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 53%] 852s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 53%] 856s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 53%] 857s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 53%] 858s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 53%] 858s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 53%] 861s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 53%] 861s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 53%] 861s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 863s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 53%] 864s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 53%] 866s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 868s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 53%] 869s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 53%] 870s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 871s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 54%] 873s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 54%] 874s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 54%] 874s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 54%] 874s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 54%] 874s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 54%] 877s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 54%] 877s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 54%] 879s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 54%] 879s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 54%] 879s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 54%] 881s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 54%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 55%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 55%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 55%] 882s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 55%] 884s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 55%] 886s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 888s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 55%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 56%] 890s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 56%] 891s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 56%] 891s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 56%] 893s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 56%] 893s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_base_integrity PASSED [ 56%] 894s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calculated_against_csv PASSED [ 56%] 895s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_start_end PASSED [ 56%] 895s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_invalid_input PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_min PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_max PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sanity_check_session_lengths PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_specification PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_daylight_savings PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[both] PASSED [ 56%] 897s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[both] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[both] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[left] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[right] PASSED [ 56%] 898s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[right] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[right] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[right] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[neither] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[neither] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[neither] PASSED [ 56%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[left] PASSED [ 57%] 899s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_has_break PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_regular_holidays_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_holidays_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample_time PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays_time PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample_time PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_open_close_break_start_end PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_has_break PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_next_prev_session PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_offset PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_session PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_date_to_session PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_open_close PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_in_range PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_has_break PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_window PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_distance PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_trading_index PASSED [ 57%] 900s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_deprecated PASSED [ 57%] 900s tests/test_xlju_calendar.py::TestXLJUCalendar::test_base_integrity PASSED [ 57%] 902s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calculated_against_csv PASSED [ 57%] 902s tests/test_xlju_calendar.py::TestXLJUCalendar::test_start_end PASSED [ 57%] 902s tests/test_xlju_calendar.py::TestXLJUCalendar::test_invalid_input PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_min PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_max PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sanity_check_session_lengths PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_specification PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_daylight_savings PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_opens_closes_break_starts_ends PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[both] PASSED [ 57%] 904s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[both] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[both] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[both] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-next] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-next] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 57%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[left] PASSED [ 58%] 905s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[left] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[left] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-next] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[right] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-next] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[neither] PASSED [ 58%] 906s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[neither] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[right] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[left] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_has_break PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_regular_holidays_sample PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_sample PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_holidays_sample PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens_sample PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample_time PASSED [ 58%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays_time PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample_time PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_open_close_break_start_end PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_has_break PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_next_prev_session PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_offset PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_session PASSED [ 59%] 907s tests/test_xlju_calendar.py::TestXLJUCalendar::test_date_to_session PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_open_close PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_in_range PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_has_break PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_window PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_distance PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_trading_index PASSED [ 59%] 908s tests/test_xlju_calendar.py::TestXLJUCalendar::test_deprecated PASSED [ 59%] 908s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 59%] 911s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 59%] 911s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 59%] 911s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 59%] 913s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 59%] 914s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 59%] 916s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 59%] 918s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 59%] 919s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 920s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 921s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 59%] 922s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 59%] 922s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 60%] 923s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 60%] 924s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 60%] 926s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 60%] 926s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 60%] 926s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 60%] 926s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 60%] 926s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 60%] 927s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 60%] 927s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 60%] 927s tests/test_xlux_calendar.py::TestXLUXCalendar::test_base_integrity PASSED [ 60%] 928s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calculated_against_csv PASSED [ 60%] 929s tests/test_xlux_calendar.py::TestXLUXCalendar::test_start_end PASSED [ 60%] 929s tests/test_xlux_calendar.py::TestXLUXCalendar::test_invalid_input PASSED [ 60%] 930s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_min PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_max PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sanity_check_session_lengths PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_specification PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_daylight_savings PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[both] PASSED [ 60%] 931s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[both] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[both] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-next] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-next] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 932s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[left] PASSED [ 60%] 933s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[left] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[left] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-next] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 61%] 934s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[right] PASSED [ 61%] 935s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[right] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[right] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-previous] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-next] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[neither] PASSED [ 61%] 936s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[neither] PASSED [ 61%] 937s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_has_break PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_regular_holidays_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_holidays_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample_time PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays_time PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample_time PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_open_close_break_start_end PASSED [ 61%] 938s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_has_break PASSED [ 61%] 939s tests/test_xlux_calendar.py::TestXLUXCalendar::test_next_prev_session PASSED [ 62%] 939s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_offset PASSED [ 62%] 939s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_session PASSED [ 62%] 939s tests/test_xlux_calendar.py::TestXLUXCalendar::test_date_to_session PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_open_close PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_in_range PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_has_break PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_window PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_distance PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_trading_index PASSED [ 62%] 941s tests/test_xlux_calendar.py::TestXLUXCalendar::test_deprecated PASSED [ 62%] 941s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 62%] 944s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 62%] 944s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 62%] 944s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 62%] 945s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 62%] 946s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 947s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 948s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 949s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 951s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 952s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 953s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 954s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 956s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 957s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 957s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 957s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 957s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 960s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 960s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 962s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 963s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 963s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 964s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 965s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 967s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 63%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 969s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 971s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 64%] 973s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 64%] 974s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 64%] 974s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 64%] 974s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 64%] 974s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 64%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 976s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 976s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 979s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 979s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 979s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 980s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 981s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 982s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 983s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 984s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 985s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 986s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 65%] 987s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 65%] 988s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 65%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 989s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 990s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 990s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 990s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 990s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 990s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 992s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 993s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 993s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 66%] 993s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 66%] 1009s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 66%] 1013s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 66%] 1014s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 66%] 1025s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 66%] 1028s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 66%] 1029s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 66%] 1030s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 66%] 1031s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 66%] 1033s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 66%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 1034s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 1035s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 1036s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 67%] 1037s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 67%] 1038s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 67%] 1039s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 67%] 1041s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 67%] 1041s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 67%] 1041s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 67%] 1041s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 67%] 1041s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 67%] 1042s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 67%] 1042s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 67%] 1042s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 67%] 1044s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 67%] 1045s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 67%] 1045s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 67%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 67%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 67%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 1047s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 1048s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 68%] 1049s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 68%] 1050s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 68%] 1051s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 68%] 1051s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 68%] 1051s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 68%] 1051s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 68%] 1051s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 68%] 1052s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 68%] 1054s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 69%] 1056s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 69%] 1057s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 69%] 1057s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 69%] 1057s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 69%] 1057s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 69%] 1060s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 69%] 1060s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 69%] 1062s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 69%] 1063s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 69%] 1063s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 69%] 1064s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 69%] 1065s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 69%] 1066s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 1067s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 69%] 1068s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 1069s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 69%] 1070s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 70%] 1072s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 70%] 1074s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 70%] 1075s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 70%] 1075s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 70%] 1075s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 70%] 1075s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 70%] 1077s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 70%] 1077s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 70%] 1077s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 70%] 1077s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 70%] 1077s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 70%] 1078s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 70%] 1078s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 70%] 1078s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 70%] 1080s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 70%] 1080s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 70%] 1081s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 70%] 1082s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 70%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 71%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 71%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 71%] 1083s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 71%] 1084s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 71%] 1085s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 71%] 1087s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 71%] 1089s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 71%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 72%] 1091s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 72%] 1092s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 72%] 1092s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 72%] 1092s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 72%] 1092s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 72%] 1094s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 72%] 1094s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 72%] 1096s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 72%] 1097s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 72%] 1097s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 72%] 1098s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 72%] 1099s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 72%] 1100s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 72%] 1101s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 72%] 1102s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 72%] 1103s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 72%] 1104s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 72%] 1105s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 72%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 72%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 72%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 73%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 73%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 73%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 73%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 1106s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 73%] 1107s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 73%] 1108s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 73%] 1110s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 73%] 1110s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 73%] 1110s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 73%] 1110s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 73%] 1110s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 73%] 1111s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 73%] 1111s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 73%] 1111s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 73%] 1113s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 73%] 1114s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 73%] 1114s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 73%] 1116s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 73%] 1117s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 73%] 1117s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 73%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 73%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 73%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 73%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 74%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 1118s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 74%] 1119s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 74%] 1120s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 74%] 1120s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 1120s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 1120s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 1120s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 74%] 1121s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 74%] 1123s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 1124s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 74%] 1125s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 74%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 75%] 1126s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 75%] 1129s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 75%] 1129s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 75%] 1132s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 75%] 1132s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 75%] 1132s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 1134s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 75%] 1135s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 1136s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 75%] 1137s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 75%] 1138s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 75%] 1139s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 75%] 1140s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 75%] 1141s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 75%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 75%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 75%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 76%] 1142s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 76%] 1143s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 76%] 1146s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 76%] 1146s tests/test_xris_calendar.py::TestXRISCalendar::test_base_integrity PASSED [ 76%] 1147s tests/test_xris_calendar.py::TestXRISCalendar::test_calculated_against_csv PASSED [ 76%] 1147s tests/test_xris_calendar.py::TestXRISCalendar::test_start_end PASSED [ 76%] 1147s tests/test_xris_calendar.py::TestXRISCalendar::test_invalid_input PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_min PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_max PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_sanity_check_session_lengths PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_specification PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_daylight_savings PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_opens_closes_break_starts_ends PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[both] PASSED [ 76%] 1149s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[both] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[both] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[both] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-next] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-next] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[left] PASSED [ 76%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[left] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[left] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[left] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-previous] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-previous] PASSED [ 77%] 1150s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-previous] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-next] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[right] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-previous] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-next] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[neither] PASSED [ 77%] 1151s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[neither] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[right] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[left] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_has_break PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_regular_holidays_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_non_holidays_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample_time PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays_time PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample_time PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_session_open_close_break_start_end PASSED [ 77%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_session_has_break PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_next_prev_session PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_session_offset PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_is_session PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_date_to_session PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_open_close PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_in_range PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_has_break PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_window PASSED [ 78%] 1152s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_distance PASSED [ 78%] 1153s tests/test_xris_calendar.py::TestXRISCalendar::test_trading_index PASSED [ 78%] 1153s tests/test_xris_calendar.py::TestXRISCalendar::test_deprecated PASSED [ 78%] 1153s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 78%] 1153s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 78%] 1153s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 78%] 1153s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 78%] 1153s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 78%] 1154s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 78%] 1155s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 79%] 1157s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 79%] 1158s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 79%] 1158s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 79%] 1160s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 79%] 1161s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 80%] 1166s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 80%] 1167s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 80%] 1168s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 1169s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 80%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 81%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 81%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 81%] 1176s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 81%] 1176s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 81%] 1179s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 81%] 1179s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 81%] 1179s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 81%] 1181s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 81%] 1181s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 81%] 1181s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 81%] 1181s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 81%] 1182s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 81%] 1184s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 81%] 1185s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 1186s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 81%] 1187s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 81%] 1189s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 1190s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 81%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 82%] 1191s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 82%] 1192s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 82%] 1195s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 82%] 1195s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 82%] 1198s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 82%] 1199s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 82%] 1200s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 82%] 1203s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 82%] 1204s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 82%] 1207s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 83%] 1208s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 83%] 1208s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 83%] 1208s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 83%] 1208s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 83%] 1211s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 83%] 1212s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 1213s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 83%] 1216s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 83%] 1217s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 83%] 1217s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 83%] 1217s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 83%] 1217s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 83%] 1220s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 83%] 1220s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 83%] 1222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 83%] 1223s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 83%] 1223s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 1225s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 84%] 1226s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 1227s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 84%] 1228s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 1229s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 84%] 1230s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 84%] 1231s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 84%] 1232s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 84%] 1233s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 84%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 85%] 1234s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 85%] 1237s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 85%] 1237s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 85%] 1239s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 85%] 1239s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 85%] 1240s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 85%] 1241s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 85%] 1242s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 85%] 1244s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 85%] 1246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 85%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 85%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 85%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 85%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 86%] 1248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 86%] 1249s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 86%] 1250s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 86%] 1251s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 86%] 1251s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 86%] 1251s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 86%] 1251s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 86%] 1253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 86%] 1253s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 86%] 1258s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 86%] 1260s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 86%] 1260s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 86%] 1270s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 87%] 1272s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 87%] 1273s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 87%] 1274s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 87%] 1275s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 87%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 88%] 1276s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 88%] 1277s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_base_integrity PASSED [ 88%] 1282s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calculated_against_csv PASSED [ 88%] 1285s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_start_end PASSED [ 88%] 1285s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_invalid_input PASSED [ 88%] 1293s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_max PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sanity_check_session_lengths PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_specification PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_daylight_savings PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_opens_closes_break_starts_ends PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[both] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-next] PASSED [ 88%] 1296s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-next] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-next] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-next] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[left] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-next] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-next] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[right] PASSED [ 88%] 1297s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[right] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[right] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[right] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-previous] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-next] PASSED [ 88%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-next] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[neither] PASSED [ 89%] 1298s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[neither] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[right] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[left] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[both] PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_has_break PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_regular_holidays_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_holidays_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample_time PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays_time PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample_time PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_open_close_break_start_end PASSED [ 89%] 1299s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_has_break PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_next_prev_session PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_offset PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_session PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_date_to_session PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_open_close PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_in_range PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_has_break PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_window PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_distance PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_trading_index PASSED [ 89%] 1300s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_deprecated PASSED [ 89%] 1300s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 89%] 1308s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 89%] 1308s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 89%] 1309s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 89%] 1310s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 1311s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 89%] 1312s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 89%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 90%] 1318s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 90%] 1319s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 90%] 1319s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 90%] 1319s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 90%] 1324s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 90%] 1324s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 90%] 1324s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 1324s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 90%] 1324s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 90%] 1325s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 90%] 1326s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 90%] 1331s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 90%] 1332s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 90%] 1333s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 90%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 91%] 1338s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 91%] 1339s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 91%] 1339s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 91%] 1339s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 91%] 1339s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 91%] 1340s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 91%] 1340s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 91%] 1340s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 91%] 1341s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 91%] 1351s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 91%] 1351s tests/test_xtal_calendar.py::TestXTALCalendar::test_base_integrity PASSED [ 91%] 1352s tests/test_xtal_calendar.py::TestXTALCalendar::test_calculated_against_csv PASSED [ 91%] 1352s tests/test_xtal_calendar.py::TestXTALCalendar::test_start_end PASSED [ 91%] 1352s tests/test_xtal_calendar.py::TestXTALCalendar::test_invalid_input PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_min PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_max PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_sanity_check_session_lengths PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_specification PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_daylight_savings PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[both] PASSED [ 91%] 1354s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[both] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[both] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[left] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[right] PASSED [ 91%] 1355s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[right] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[right] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[right] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-previous] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-next] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[neither] PASSED [ 91%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[right] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[right] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[right] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[right] PASSED [ 92%] 1356s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[right] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[right] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[right] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[right] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[right] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[left] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[both] PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_has_break PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_regular_holidays_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_holidays_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample_time PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays_time PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample_time PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_open_close_break_start_end PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_has_break PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_next_prev_session PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_offset PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_session PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_date_to_session PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_open_close PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_in_range PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_has_break PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_window PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_distance PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_trading_index PASSED [ 92%] 1357s tests/test_xtal_calendar.py::TestXTALCalendar::test_deprecated PASSED [ 92%] 1357s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 92%] 1360s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 92%] 1361s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 92%] 1361s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 92%] 1362s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 92%] 1363s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 92%] 1365s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 92%] 1365s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 92%] 1365s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 92%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 1366s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 1369s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 1370s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 1372s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 1373s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 93%] 1375s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 93%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 1376s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 1378s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 1378s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 1378s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 1378s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 1378s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 1379s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 1379s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 1379s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 1379s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 1379s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 1381s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 1381s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 1381s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 1383s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 94%] 1384s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 94%] 1386s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 94%] 1388s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 94%] 1389s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 94%] 1390s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 94%] 1391s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 94%] 1391s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 94%] 1391s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 94%] 1391s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 94%] 1391s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 95%] 1392s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 95%] 1393s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 95%] 1393s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 95%] 1393s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 95%] 1393s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 95%] 1395s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 95%] 1395s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 95%] 1398s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 95%] 1398s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 95%] 1398s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 95%] 1399s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 95%] 1400s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 95%] 1401s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 95%] 1402s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 95%] 1402s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 95%] 1402s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 95%] 1403s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 95%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 95%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 96%] 1404s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 96%] 1405s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 96%] 1406s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 96%] 1407s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 96%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 97%] 1409s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 97%] 1412s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 97%] 1412s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 97%] 1414s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 97%] 1415s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 97%] 1415s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 97%] 1416s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 97%] 1417s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 97%] 1418s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 97%] 1419s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 97%] 1420s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 97%] 1421s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 97%] 1421s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 97%] 1421s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 97%] 1421s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 1421s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 97%] 1422s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 97%] 1424s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 1425s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 97%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 98%] 1426s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 98%] 1427s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 98%] 1430s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [ 98%] 1430s tests/test_xzag_calendar.py::TestXZAGCalendar::test_base_integrity PASSED [ 98%] 1431s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calculated_against_csv PASSED [ 98%] 1432s tests/test_xzag_calendar.py::TestXZAGCalendar::test_start_end PASSED [ 98%] 1432s tests/test_xzag_calendar.py::TestXZAGCalendar::test_invalid_input PASSED [ 98%] 1433s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_min PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_max PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sanity_check_session_lengths PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_specification PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_daylight_savings PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[both] PASSED [ 98%] 1434s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[both] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[both] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[left] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[right] PASSED [ 98%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[right] PASSED [ 99%] 1435s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[right] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[right] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[right] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 1436s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_has_break PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_regular_holidays_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_holidays_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample_time PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays_time PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample_time PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_open_close_break_start_end PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_has_break PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_next_prev_session PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_offset PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_session PASSED [ 99%] 1437s tests/test_xzag_calendar.py::TestXZAGCalendar::test_date_to_session PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_open_close PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_in_range PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_has_break PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_window PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_distance PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_trading_index PASSED [ 99%] 1438s tests/test_xzag_calendar.py::TestXZAGCalendar::test_deprecated PASSED [100%] 1438s 1438s ============================= slowest 15 durations ============================= 1438s 36.44s call tests/test_exchange_calendar.py::test_default_calendars 1438s 19.08s setup tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv 1438s 16.57s setup tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv 1438s 10.26s call tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min 1438s 9.54s call tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min 1438s 9.50s call tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min 1438s 9.27s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close 1438s 8.28s setup tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv 1438s 7.47s setup tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv 1438s 7.15s call tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min 1438s 5.22s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] 1438s 5.22s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] 1438s 5.21s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] 1438s 5.17s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] 1438s 4.91s setup tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv 1438s ========= 9684 passed, 74 deselected, 1 xfailed in 1284.19s (0:21:24) ========== 1439s I: pybuild base:384: cd /tmp/autopkgtest.w9ju3j/autopkgtest_tmp/build; python3.13 -m pytest -k "not test_testbase_integrity and not exchange_calendars.utils.pandas_utils.indexes_union and not test_indices_fuzz" 1439s ============================= test session starts ============================== 1439s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 1439s cachedir: .pytest_cache 1439s hypothesis profile 'default' 1439s rootdir: /tmp/autopkgtest.w9ju3j/autopkgtest_tmp/build 1439s configfile: pyproject.toml 1439s testpaths: tests, exchange_calendars/utils/pandas_utils.py 1439s plugins: hypothesis-6.150.0, typeguard-4.4.4 1442s collecting ... collected 9759 items / 74 deselected / 9685 selected 1442s 1442s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 1443s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 1444s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 1444s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 1444s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 1445s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 1446s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 0%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 1447s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 1448s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 1448s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 1448s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 1448s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 1448s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 1%] 1450s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 1%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 1451s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 1451s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 1453s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 1454s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 1454s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 1455s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 2%] 1456s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 2%] 1458s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 2%] 1460s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 2%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 1462s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 1463s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 3%] 1464s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 3%] 1465s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 3%] 1467s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 3%] 1467s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 3%] 1470s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 3%] 1470s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 3%] 1471s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 3%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 1473s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 1474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 4%] 1475s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 4%] 1476s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 4%] 1478s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 4%] 1479s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 4%] 1480s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 4%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 5%] 1482s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 5%] 1483s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 5%] 1483s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 5%] 1483s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 5%] 1483s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 5%] 1486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 5%] 1486s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 5%] 1486s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 5%] 1486s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 5%] 1487s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 5%] 1487s tests/test_calendar_helpers.py::test_constants PASSED [ 5%] 1487s tests/test_calendar_helpers.py::test_is_date PASSED [ 5%] 1487s tests/test_calendar_helpers.py::test_is_utc PASSED [ 5%] 1488s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 5%] 1488s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 5%] 1489s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 5%] 1489s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 5%] 1490s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-True] PASSED [ 5%] 1490s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-False] PASSED [ 5%] 1491s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-True] PASSED [ 5%] 1491s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-False] PASSED [ 5%] 1492s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 5%] 1492s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 5%] 1493s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 5%] 1493s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 5%] 1494s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 5%] 1495s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 5%] 1495s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 5%] 1496s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 5%] 1496s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 5%] 1497s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 5%] 1497s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 5%] 1498s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 5%] 1498s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 5%] 1498s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 5%] 1499s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult2] PASSED [ 5%] 1499s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult3] PASSED [ 5%] 1500s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 5%] 1500s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 5%] 1501s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 5%] 1501s tests/test_calendar_helpers.py::test_parse_date[date_mult2] PASSED [ 5%] 1502s tests/test_calendar_helpers.py::test_parse_date[date_mult3] PASSED [ 5%] 1502s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 5%] 1503s tests/test_calendar_helpers.py::test_parse_session PASSED [ 5%] 1503s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 5%] 1510s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 5%] 1510s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 5%] 1516s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 5%] 1516s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 5%] 1518s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 5%] 1519s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 5%] 1524s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 5%] 1524s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 5%] 1525s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 5%] 1526s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 5%] 1526s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 5%] 1527s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 5%] 1527s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 5%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 5%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 6%] 1528s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 6%] 1530s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 6%] 1530s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 6%] 1532s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 6%] 1532s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 6%] 1532s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 6%] 1532s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 6%] 1533s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 6%] 1533s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 6%] 1534s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 6%] 1535s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 6%] 1536s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 6%] 1537s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 6%] 1537s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 6%] 1537s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 6%] 1538s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 6%] 1538s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 6%] 1538s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 6%] 1539s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 6%] 1540s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 6%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 7%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 7%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 7%] 1541s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 7%] 1542s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 7%] 1542s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 7%] 1542s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 7%] 1542s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 7%] 1542s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 7%] 1543s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 7%] 1543s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 7%] 1543s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 7%] 1543s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 7%] 1543s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 7%] 1544s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 7%] 1579s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 7%] 1579s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 7%] 1579s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 7%] 1579s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 7%] 1579s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 7%] 1579s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 7%] 1580s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 7%] 1580s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 7%] 1580s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 1582s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 7%] 1583s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 7%] 1584s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 7%] 1585s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 7%] 1586s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 1587s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 7%] 1588s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 7%] 1589s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 7%] 1590s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 7%] 1591s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 7%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 7%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 7%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 7%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 8%] 1592s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 8%] 1593s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 8%] 1593s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 8%] 1595s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 8%] 1595s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 8%] 1595s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 8%] 1595s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 8%] 1595s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 8%] 1596s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 8%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 9%] 1597s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 9%] 1598s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 9%] 1598s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 9%] 1598s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 9%] 1598s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 9%] 1598s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 9%] 1599s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 9%] 1600s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 9%] 1600s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 9%] 1601s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 9%] 1602s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 9%] 1604s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 10%] 1606s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 10%] 1608s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 10%] 1610s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 10%] 1611s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 10%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 10%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 10%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 11%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 11%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 11%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 11%] 1613s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 11%] 1613s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 11%] 1615s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 11%] 1616s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 11%] 1616s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 11%] 1617s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 11%] 1618s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 11%] 1619s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 11%] 1620s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 11%] 1621s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 1622s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 11%] 1623s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 11%] 1624s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 11%] 1625s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 11%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 12%] 1627s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 12%] 1628s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 12%] 1630s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 12%] 1630s tests/test_xbda_calendar.py::TestXBDACalendar::test_base_integrity PASSED [ 12%] 1632s tests/test_xbda_calendar.py::TestXBDACalendar::test_calculated_against_csv PASSED [ 12%] 1632s tests/test_xbda_calendar.py::TestXBDACalendar::test_start_end PASSED [ 12%] 1632s tests/test_xbda_calendar.py::TestXBDACalendar::test_invalid_input PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_min PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_max PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_sanity_check_session_lengths PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_specification PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_daylight_savings PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_opens_closes_break_starts_ends PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[both] PASSED [ 12%] 1634s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[both] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[both] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[both] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-next] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-next] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-next] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-next] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[left] PASSED [ 12%] 1635s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[left] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[left] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-next] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-next] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[right] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[right] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[right] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[right] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[right] PASSED [ 12%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[right] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[right] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[right] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[right] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[right] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-next] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 1636s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[neither] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[right] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[left] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[both] PASSED [ 13%] 1637s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[both] PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[both] PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_has_break PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_regular_holidays_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_holidays_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample_time PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays_time PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample_time PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_open_close_break_start_end PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_has_break PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_next_prev_session PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_offset PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_session PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_date_to_session PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_open_close PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_in_range PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_has_break PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_window PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_distance PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_trading_index PASSED [ 13%] 1638s tests/test_xbda_calendar.py::TestXBDACalendar::test_deprecated PASSED [ 13%] 1638s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_base_integrity PASSED [ 13%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calculated_against_csv PASSED [ 13%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_start_end PASSED [ 13%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_invalid_input PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_min PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_max PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sanity_check_session_lengths PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_specification PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_daylight_savings PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[both] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[left] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[right] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[neither] PASSED [ 14%] 1643s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[left] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[left] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[left] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[left] PASSED [ 14%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[left] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[left] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[left] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_has_break PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_regular_holidays_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_holidays_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample_time PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays_time PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample_time PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_open_close_break_start_end PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_has_break PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_next_prev_session PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_offset PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_session PASSED [ 15%] 1644s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_date_to_session PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_open_close PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_in_range PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_has_break PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_window PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_distance PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_trading_index PASSED [ 15%] 1645s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_deprecated PASSED [ 15%] 1645s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 15%] 1648s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 15%] 1648s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 15%] 1648s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 1650s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 1651s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 1652s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 1653s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 1654s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 1655s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 16%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 16%] 1656s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 16%] 1657s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 1659s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 1660s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 1662s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 1662s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 1665s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 1666s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 1666s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 1667s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 17%] 1668s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 17%] 1669s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 17%] 1670s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 1671s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 1672s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 1674s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 1675s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 1675s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 1675s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 1675s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 1676s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 1677s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 1679s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 1679s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 1687s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 1687s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 1687s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 1689s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 1691s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 1692s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 1693s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 18%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 1694s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 1695s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 1696s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 1697s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 19%] 1699s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 19%] 1699s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_base_integrity PASSED [ 19%] 1700s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calculated_against_csv PASSED [ 19%] 1700s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_start_end PASSED [ 19%] 1700s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_invalid_input PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_min PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_max PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sanity_check_session_lengths PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_specification PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_daylight_savings PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 19%] 1702s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[both] PASSED [ 19%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[both] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-next] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-next] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[left] PASSED [ 20%] 1703s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[left] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[left] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-next] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[right] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[neither] PASSED [ 20%] 1704s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_has_break PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_regular_holidays_sample PASSED [ 20%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_sample PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_holidays_sample PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens_sample PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample_time PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays_time PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample_time PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_open_close_break_start_end PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_has_break PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_next_prev_session PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_offset PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_session PASSED [ 21%] 1705s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_date_to_session PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_open_close PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_in_range PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_has_break PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_window PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_distance PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_trading_index PASSED [ 21%] 1706s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_deprecated PASSED [ 21%] 1706s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 21%] 1709s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 21%] 1709s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 21%] 1709s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 1710s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 21%] 1711s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 21%] 1712s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 21%] 1713s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 21%] 1715s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 21%] 1716s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 21%] 1717s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 22%] 1718s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 22%] 1719s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 22%] 1721s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 22%] 1721s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 22%] 1721s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 22%] 1721s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 22%] 1721s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 22%] 1722s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 22%] 1722s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 22%] 1722s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 22%] 1724s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 22%] 1724s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 22%] 1724s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 22%] 1726s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 1727s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 23%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 23%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 23%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 23%] 1729s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 23%] 1731s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 23%] 1732s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 23%] 1733s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 23%] 1734s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 1735s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 24%] 1736s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 24%] 1739s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 24%] 1739s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 24%] 1742s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 24%] 1742s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 24%] 1742s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 24%] 1744s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 24%] 1744s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 24%] 1744s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 24%] 1744s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 24%] 1745s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 24%] 1746s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 24%] 1746s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 24%] 1746s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 24%] 1747s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 24%] 1748s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 24%] 1748s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 24%] 1748s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 24%] 1748s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 1748s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 1749s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 1751s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 25%] 1752s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 1753s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 1756s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 1756s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 1758s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 1759s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 1759s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 1761s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 1762s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 1763s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 1764s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 26%] 1765s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 26%] 1766s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 1767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 1768s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 1769s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 1770s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 1770s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 1770s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 1770s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 27%] 1772s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 27%] 1772s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 1775s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 1775s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 1775s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 1777s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 1778s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 1779s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 1780s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 1781s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 1781s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 1781s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 1781s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 1781s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 1782s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 1783s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 1783s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 1783s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 1783s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 1783s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 1784s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 27%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 1786s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 1787s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 1789s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 1789s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 1792s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 1792s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 1792s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 1794s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 1795s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 28%] 1797s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 28%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 1799s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 1800s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 1801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 1802s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 29%] 1803s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 29%] 1804s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 29%] 1807s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 29%] 1807s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_base_integrity PASSED [ 29%] 1809s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calculated_against_csv PASSED [ 29%] 1809s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_start_end PASSED [ 30%] 1809s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_invalid_input PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_min PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_max PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sanity_check_session_lengths PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_specification PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_daylight_savings PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 1811s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[both] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-next] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-next] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[left] PASSED [ 30%] 1812s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[left] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[left] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[left] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-next] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[right] PASSED [ 30%] 1813s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[right] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[right] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[right] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[neither] PASSED [ 30%] 1814s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[left] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[left] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[left] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 30%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[both] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[both] PASSED [ 31%] 1815s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_has_break PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_regular_holidays_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_holidays_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample_time PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays_time PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample_time PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_open_close_break_start_end PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_has_break PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_next_prev_session PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_offset PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_session PASSED [ 31%] 1816s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_date_to_session PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_open_close PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_in_range PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_has_break PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_window PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_distance PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_trading_index PASSED [ 31%] 1817s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_deprecated PASSED [ 31%] 1817s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 31%] 1819s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 31%] 1819s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 31%] 1819s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 31%] 1821s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 31%] 1822s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 31%] 1824s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 31%] 1825s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 31%] 1825s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 31%] 1825s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 31%] 1825s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 31%] 1825s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 1826s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 32%] 1828s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 1830s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 1831s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 1833s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 1833s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 1835s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 1836s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 1836s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 1837s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 33%] 1838s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 33%] 1839s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 33%] 1840s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 33%] 1841s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 33%] 1842s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 33%] 1842s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 33%] 1842s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 33%] 1842s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 33%] 1842s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 33%] 1843s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 33%] 1844s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 1845s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 1846s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 1847s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 1847s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 1847s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 34%] 1848s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 34%] 1849s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 34%] 1851s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 34%] 1851s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 34%] 1853s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 34%] 1854s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 34%] 1854s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 34%] 1855s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 1856s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 1857s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 1858s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 1859s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 1860s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 1860s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 1860s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 1860s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 1860s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 1861s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 35%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 35%] 1863s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 35%] 1864s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 1865s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 1866s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 1869s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 1869s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 1871s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 1872s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 1872s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 1873s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 1874s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 1876s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 1877s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 1878s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 1879s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 1880s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 1881s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 1882s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 36%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 1883s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 1886s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 1886s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 1888s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 1889s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 1889s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 1890s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 1891s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 1893s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 1894s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 1895s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 37%] 1896s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 37%] 1897s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 37%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 1898s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 1899s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 1899s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 1899s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 38%] 1900s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 38%] 1901s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 38%] 1903s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 38%] 1903s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 38%] 1906s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 38%] 1906s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 38%] 1906s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 38%] 1907s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 38%] 1908s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 38%] 1909s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 38%] 1910s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 38%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 38%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 38%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 1911s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 1913s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 1914s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 1914s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 1914s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 1915s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 39%] 1916s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 39%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 1918s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 1919s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 1919s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 1919s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 1919s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 1921s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 1921s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 1921s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 1921s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 1921s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 1922s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 1922s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 1922s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 1924s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 1924s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 1924s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 40%] 1926s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 40%] 1927s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 40%] 1928s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 40%] 1929s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 40%] 1930s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 40%] 1931s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 40%] 1932s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 1933s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 40%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 41%] 1934s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 41%] 1935s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 41%] 1935s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 41%] 1935s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 41%] 1935s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 41%] 1937s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 41%] 1937s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 41%] 1940s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 41%] 1941s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 41%] 1941s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 1942s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 41%] 1943s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 41%] 1944s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 41%] 1947s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 41%] 1948s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 41%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 41%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 42%] 1951s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 42%] 1952s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 42%] 1955s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 42%] 1956s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 42%] 1957s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 42%] 1960s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 42%] 1961s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 43%] 1964s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 43%] 1964s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 43%] 1965s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 43%] 1966s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 43%] 1966s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 43%] 1967s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 43%] 1968s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 43%] 1969s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 43%] 1970s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 44%] 1971s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 44%] 1972s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 44%] 1972s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 44%] 1974s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 44%] 1974s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 44%] 1974s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 1976s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 44%] 1977s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 1978s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 44%] 1979s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 44%] 1980s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 44%] 1980s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 44%] 1980s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 1980s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 44%] 1980s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 44%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 45%] 1981s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 45%] 1983s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 45%] 1985s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 45%] 1986s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 45%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 46%] 1988s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 46%] 1988s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 46%] 1990s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 46%] 1991s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 46%] 1991s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 46%] 1992s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 46%] 1993s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 46%] 1995s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 46%] 1996s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 46%] 1996s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 1996s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 1996s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 1996s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 46%] 1997s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 1999s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 46%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 47%] 2001s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 47%] 2002s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 47%] 2004s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 47%] 2004s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 47%] 2006s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 47%] 2007s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 47%] 2007s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 47%] 2008s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 47%] 2009s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 47%] 2011s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 47%] 2012s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 47%] 2012s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 47%] 2012s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 47%] 2012s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 47%] 2012s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 47%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 48%] 2013s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 2014s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 48%] 2015s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 48%] 2016s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 48%] 2017s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 48%] 2019s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 48%] 2019s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 48%] 2022s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 48%] 2022s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 49%] 2022s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 49%] 2023s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 49%] 2024s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 49%] 2026s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 49%] 2027s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 49%] 2028s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 49%] 2029s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 49%] 2030s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 49%] 2031s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 49%] 2032s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 50%] 2033s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 50%] 2034s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 50%] 2036s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 50%] 2036s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 50%] 2039s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 50%] 2039s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 50%] 2039s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 50%] 2040s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 50%] 2041s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 50%] 2042s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 50%] 2043s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 50%] 2044s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 2045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 50%] 2046s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 50%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 50%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 50%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 51%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 51%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 51%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 51%] 2047s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 51%] 2048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 51%] 2050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 51%] 2051s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 51%] 2051s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 51%] 2053s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 51%] 2053s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 51%] 2053s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 51%] 2053s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 51%] 2053s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 51%] 2054s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 51%] 2054s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 51%] 2054s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 51%] 2073s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 51%] 2077s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 51%] 2079s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 51%] 2086s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 51%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 52%] 2090s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 52%] 2091s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 52%] 2094s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 52%] 2096s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 52%] 2098s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 52%] 2099s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 52%] 2100s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 2102s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 52%] 2103s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 2104s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 52%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 53%] 2107s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 53%] 2108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 53%] 2108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 53%] 2108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 53%] 2108s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 53%] 2111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 53%] 2111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 53%] 2111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 53%] 2111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 53%] 2111s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 53%] 2112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 53%] 2112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 53%] 2112s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 53%] 2113s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 53%] 2114s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 53%] 2114s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 53%] 2121s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 53%] 2122s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 2123s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 53%] 2124s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 53%] 2125s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 2126s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 54%] 2128s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 54%] 2129s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 54%] 2131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 54%] 2131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 54%] 2131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 54%] 2131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 54%] 2131s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 54%] 2132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 54%] 2132s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 54%] 2132s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 54%] 2134s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 54%] 2134s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 54%] 2134s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 54%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 55%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 55%] 2136s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 55%] 2137s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 55%] 2138s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 55%] 2139s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 55%] 2140s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 55%] 2141s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 55%] 2142s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 2143s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 55%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 56%] 2144s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 56%] 2145s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 56%] 2147s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 56%] 2147s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_base_integrity PASSED [ 56%] 2148s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calculated_against_csv PASSED [ 56%] 2148s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_start_end PASSED [ 56%] 2149s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_invalid_input PASSED [ 56%] 2150s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_min PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_max PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sanity_check_session_lengths PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_specification PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_daylight_savings PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[both] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-next] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-next] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[left] PASSED [ 56%] 2151s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[left] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[left] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-next] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[right] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[neither] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[neither] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[neither] PASSED [ 56%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[neither] PASSED [ 57%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[neither] PASSED [ 57%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[neither] PASSED [ 57%] 2152s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_has_break PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_regular_holidays_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_holidays_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample_time PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays_time PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample_time PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_open_close_break_start_end PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_has_break PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_next_prev_session PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_offset PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_session PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_date_to_session PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_open_close PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_in_range PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_has_break PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_window PASSED [ 57%] 2153s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_distance PASSED [ 57%] 2154s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_trading_index PASSED [ 57%] 2154s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_deprecated PASSED [ 57%] 2154s tests/test_xlju_calendar.py::TestXLJUCalendar::test_base_integrity PASSED [ 57%] 2155s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calculated_against_csv PASSED [ 57%] 2155s tests/test_xlju_calendar.py::TestXLJUCalendar::test_start_end PASSED [ 57%] 2155s tests/test_xlju_calendar.py::TestXLJUCalendar::test_invalid_input PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_min PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_max PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sanity_check_session_lengths PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_specification PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_daylight_savings PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_opens_closes_break_starts_ends PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[both] PASSED [ 57%] 2157s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[both] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[both] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[both] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-next] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-next] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 57%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[left] PASSED [ 58%] 2158s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[left] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[left] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-next] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[right] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-next] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[neither] PASSED [ 58%] 2159s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[neither] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[right] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[left] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_has_break PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_regular_holidays_sample PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_sample PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_holidays_sample PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens_sample PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample_time PASSED [ 58%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays_time PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample_time PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_open_close_break_start_end PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_has_break PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_next_prev_session PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_offset PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_session PASSED [ 59%] 2160s tests/test_xlju_calendar.py::TestXLJUCalendar::test_date_to_session PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_open_close PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_in_range PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_has_break PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_window PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_distance PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_trading_index PASSED [ 59%] 2161s tests/test_xlju_calendar.py::TestXLJUCalendar::test_deprecated PASSED [ 59%] 2161s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 59%] 2163s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 59%] 2164s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 59%] 2164s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 59%] 2166s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 59%] 2167s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 59%] 2168s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 59%] 2169s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 59%] 2170s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 59%] 2171s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 59%] 2172s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 2173s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 59%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 59%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 60%] 2175s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 60%] 2176s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 60%] 2176s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 60%] 2176s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 60%] 2176s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 60%] 2178s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 60%] 2178s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 60%] 2178s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 60%] 2178s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 60%] 2178s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 60%] 2179s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 60%] 2179s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 60%] 2179s tests/test_xlux_calendar.py::TestXLUXCalendar::test_base_integrity PASSED [ 60%] 2180s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calculated_against_csv PASSED [ 60%] 2180s tests/test_xlux_calendar.py::TestXLUXCalendar::test_start_end PASSED [ 60%] 2180s tests/test_xlux_calendar.py::TestXLUXCalendar::test_invalid_input PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_min PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_max PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sanity_check_session_lengths PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_specification PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_daylight_savings PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 2182s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[both] PASSED [ 60%] 2183s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[both] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[both] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-next] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-next] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[left] PASSED [ 60%] 2184s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[left] PASSED [ 60%] 2185s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[left] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[left] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-next] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[right] PASSED [ 61%] 2186s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[right] PASSED [ 61%] 2187s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[right] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[right] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-previous] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-next] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[neither] PASSED [ 61%] 2188s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[right] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[right] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[right] PASSED [ 61%] 2189s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_has_break PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_regular_holidays_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_holidays_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample_time PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays_time PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample_time PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_open_close_break_start_end PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_has_break PASSED [ 61%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_next_prev_session PASSED [ 62%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_offset PASSED [ 62%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_session PASSED [ 62%] 2190s tests/test_xlux_calendar.py::TestXLUXCalendar::test_date_to_session PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_open_close PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_in_range PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_has_break PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_window PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_distance PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_trading_index PASSED [ 62%] 2192s tests/test_xlux_calendar.py::TestXLUXCalendar::test_deprecated PASSED [ 62%] 2192s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 62%] 2195s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 62%] 2195s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 62%] 2195s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 2198s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 2199s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 2200s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 2202s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 2203s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 2204s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 2205s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 2206s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 2206s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 2206s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 2206s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 2207s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 2208s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 2210s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 2210s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 2213s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 2213s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 2213s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 2215s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 2216s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 2217s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 2218s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 63%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 2219s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 2221s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 64%] 2223s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 64%] 2224s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 64%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 2226s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 2226s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 2228s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 2228s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 2229s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 2230s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 2231s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 2232s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 2233s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 2234s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 2235s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 65%] 2236s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 65%] 2237s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 65%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 2238s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 2239s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 2241s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 2241s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 2241s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 2241s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 2241s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 2242s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 2242s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 66%] 2242s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 66%] 2257s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 66%] 2260s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 66%] 2262s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 66%] 2272s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 66%] 2275s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 66%] 2276s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 66%] 2277s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 66%] 2278s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 66%] 2279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 66%] 2279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 66%] 2279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 66%] 2279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 66%] 2279s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 66%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 2280s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 2282s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 2283s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 67%] 2284s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 67%] 2285s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 67%] 2285s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 67%] 2285s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 67%] 2285s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 67%] 2285s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 67%] 2288s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 67%] 2288s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 67%] 2291s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 67%] 2291s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 67%] 2291s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 67%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 67%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 67%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 2293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 2294s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 68%] 2295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 68%] 2296s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 68%] 2297s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 68%] 2297s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 68%] 2297s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 68%] 2297s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 68%] 2297s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 68%] 2298s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 68%] 2299s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 68%] 2299s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 68%] 2299s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 68%] 2299s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 68%] 2299s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 68%] 2300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 69%] 2302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 69%] 2303s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 69%] 2305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 69%] 2305s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 69%] 2308s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 69%] 2308s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 69%] 2308s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 69%] 2310s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 69%] 2311s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 2312s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 69%] 2313s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 69%] 2314s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 69%] 2314s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 69%] 2314s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 2314s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 69%] 2314s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 69%] 2315s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 70%] 2317s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 70%] 2319s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 70%] 2320s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 70%] 2320s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 70%] 2322s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 70%] 2322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 70%] 2322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 70%] 2322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 70%] 2322s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 70%] 2323s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 70%] 2323s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 70%] 2323s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 70%] 2325s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 70%] 2325s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 70%] 2325s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 2327s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 70%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 70%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 70%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 71%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 71%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 71%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 71%] 2328s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 71%] 2329s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 71%] 2330s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 71%] 2331s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 71%] 2332s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 71%] 2333s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 71%] 2334s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 71%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 72%] 2335s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 72%] 2336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 72%] 2336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 72%] 2336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 72%] 2336s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 72%] 2338s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 72%] 2338s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 72%] 2340s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 72%] 2341s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 72%] 2341s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 72%] 2342s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 72%] 2343s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 72%] 2345s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 72%] 2346s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 72%] 2346s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 2346s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 2346s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 2346s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 72%] 2347s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 72%] 2348s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 72%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 73%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 73%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 73%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 73%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 2349s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 73%] 2350s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 73%] 2350s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 2350s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 2350s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 73%] 2351s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 73%] 2352s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 73%] 2354s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 73%] 2354s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 73%] 2356s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 73%] 2357s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 73%] 2357s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 73%] 2358s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 73%] 2359s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 73%] 2360s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 73%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 73%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 73%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 73%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 74%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 2361s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 74%] 2362s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 2363s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 74%] 2364s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 74%] 2365s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 74%] 2365s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 74%] 2365s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 2365s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 74%] 2365s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 2366s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 74%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 75%] 2368s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 75%] 2369s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 75%] 2369s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 75%] 2371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 75%] 2371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 75%] 2371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 75%] 2371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 75%] 2371s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 75%] 2372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 75%] 2372s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 75%] 2372s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 75%] 2374s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 75%] 2374s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 75%] 2374s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 75%] 2376s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 75%] 2377s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 2378s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 75%] 2379s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 75%] 2380s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 75%] 2381s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 75%] 2382s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 75%] 2383s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 75%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 75%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 75%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 76%] 2384s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 76%] 2385s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 76%] 2388s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 76%] 2388s tests/test_xris_calendar.py::TestXRISCalendar::test_base_integrity PASSED [ 76%] 2389s tests/test_xris_calendar.py::TestXRISCalendar::test_calculated_against_csv PASSED [ 76%] 2389s tests/test_xris_calendar.py::TestXRISCalendar::test_start_end PASSED [ 76%] 2389s tests/test_xris_calendar.py::TestXRISCalendar::test_invalid_input PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_min PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_max PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_sanity_check_session_lengths PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_specification PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_daylight_savings PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_opens_closes_break_starts_ends PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[both] PASSED [ 76%] 2391s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[both] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[both] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-next] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-next] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[left] PASSED [ 76%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[left] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[left] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[left] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-next] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[right] PASSED [ 77%] 2392s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-previous] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-next] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[neither] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[right] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[left] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[both] PASSED [ 77%] 2393s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_has_break PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_regular_holidays_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_non_holidays_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample_time PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays_time PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample_time PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_session_open_close_break_start_end PASSED [ 77%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_session_has_break PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_next_prev_session PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_session_offset PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_is_session PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_date_to_session PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_open_close PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_in_range PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_has_break PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_window PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_distance PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_trading_index PASSED [ 78%] 2394s tests/test_xris_calendar.py::TestXRISCalendar::test_deprecated PASSED [ 78%] 2394s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 78%] 2395s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 78%] 2396s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 78%] 2397s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 79%] 2398s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 79%] 2399s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 79%] 2399s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 79%] 2401s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 79%] 2401s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 79%] 2401s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 79%] 2402s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 79%] 2403s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 2404s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 79%] 2405s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 80%] 2407s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 80%] 2408s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 80%] 2409s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 2410s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 80%] 2412s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 80%] 2413s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 80%] 2413s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 80%] 2413s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 80%] 2413s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 80%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 80%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 80%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 80%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 81%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 81%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 81%] 2416s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 81%] 2416s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 81%] 2419s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 81%] 2419s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 81%] 2420s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 81%] 2421s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 81%] 2422s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 81%] 2423s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 81%] 2424s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 81%] 2425s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 2426s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 81%] 2427s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 81%] 2429s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 2430s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 81%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 82%] 2431s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 82%] 2432s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 82%] 2435s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 82%] 2435s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 82%] 2437s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 82%] 2437s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 82%] 2437s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 82%] 2438s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 82%] 2439s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 82%] 2439s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 82%] 2439s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 82%] 2439s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 2442s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 82%] 2443s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 82%] 2443s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 82%] 2443s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 82%] 2443s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 82%] 2443s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 82%] 2446s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 82%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 82%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 82%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 82%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 83%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 83%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 83%] 2447s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 83%] 2448s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 83%] 2450s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 83%] 2451s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 2452s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 83%] 2454s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 83%] 2454s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 83%] 2455s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 83%] 2456s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 83%] 2458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 83%] 2458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 83%] 2458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 83%] 2458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 83%] 2458s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 83%] 2459s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 83%] 2459s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 83%] 2459s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 83%] 2461s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 83%] 2461s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 83%] 2462s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 84%] 2463s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 84%] 2464s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 84%] 2466s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 84%] 2467s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 84%] 2467s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 2467s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 2467s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 2467s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 84%] 2468s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 84%] 2469s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 84%] 2470s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 84%] 2471s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 84%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 85%] 2472s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 85%] 2475s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 85%] 2475s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 85%] 2477s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 85%] 2477s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 85%] 2477s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 85%] 2479s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 85%] 2479s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 85%] 2480s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 85%] 2481s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 85%] 2482s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 85%] 2483s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 85%] 2484s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 85%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 85%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 85%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 85%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 2485s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 86%] 2486s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 86%] 2487s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 86%] 2488s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 86%] 2490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 86%] 2490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 86%] 2490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 86%] 2490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 86%] 2490s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 86%] 2491s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 86%] 2491s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 86%] 2491s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 86%] 2495s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 86%] 2497s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 86%] 2497s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 86%] 2506s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 2508s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 87%] 2509s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 87%] 2510s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 87%] 2511s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 87%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 88%] 2512s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 88%] 2513s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_base_integrity PASSED [ 88%] 2518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calculated_against_csv PASSED [ 88%] 2519s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_start_end PASSED [ 88%] 2520s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_invalid_input PASSED [ 88%] 2529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_max PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sanity_check_session_lengths PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_specification PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_daylight_savings PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_opens_closes_break_starts_ends PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[both] PASSED [ 88%] 2531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[both] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[both] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-next] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-next] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-next] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-next] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[left] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-previous] PASSED [ 88%] 2532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-next] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-next] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[right] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-next] PASSED [ 88%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-next] PASSED [ 89%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[neither] PASSED [ 89%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[neither] PASSED [ 89%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[neither] PASSED [ 89%] 2533s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[neither] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[right] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[left] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[both] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[both] PASSED [ 89%] 2534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[both] PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_has_break PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_regular_holidays_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_holidays_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample_time PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays_time PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample_time PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_open_close_break_start_end PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_has_break PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_next_prev_session PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_offset PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_session PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_date_to_session PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_open_close PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_in_range PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_has_break PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_window PASSED [ 89%] 2535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_distance PASSED [ 89%] 2536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_trading_index PASSED [ 89%] 2536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_deprecated PASSED [ 89%] 2536s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 89%] 2543s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 89%] 2543s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 89%] 2543s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 89%] 2545s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 2546s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 89%] 2547s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 89%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 90%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 90%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 90%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 90%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 90%] 2552s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 90%] 2553s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 90%] 2558s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 90%] 2558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 90%] 2558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 2558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 90%] 2558s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 90%] 2559s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 90%] 2560s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 2565s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 90%] 2566s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 90%] 2571s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 90%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 91%] 2572s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 91%] 2573s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 91%] 2573s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 91%] 2573s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 91%] 2574s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 91%] 2583s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 91%] 2583s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 91%] 2583s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 91%] 2583s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 91%] 2583s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 91%] 2584s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 91%] 2584s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 91%] 2584s tests/test_xtal_calendar.py::TestXTALCalendar::test_base_integrity PASSED [ 91%] 2584s tests/test_xtal_calendar.py::TestXTALCalendar::test_calculated_against_csv PASSED [ 91%] 2585s tests/test_xtal_calendar.py::TestXTALCalendar::test_start_end PASSED [ 91%] 2585s tests/test_xtal_calendar.py::TestXTALCalendar::test_invalid_input PASSED [ 91%] 2586s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_min PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_max PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_sanity_check_session_lengths PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_specification PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_daylight_savings PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[both] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-next] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-next] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[left] PASSED [ 91%] 2587s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[left] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[left] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[left] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-next] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[right] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-next] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 91%] 2588s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[neither] PASSED [ 91%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[right] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[left] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[both] PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_has_break PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_regular_holidays_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_holidays_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample_time PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays_time PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample_time PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_open_close_break_start_end PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_has_break PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_next_prev_session PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_offset PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_session PASSED [ 92%] 2589s tests/test_xtal_calendar.py::TestXTALCalendar::test_date_to_session PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_open_close PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_in_range PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_has_break PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_window PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_distance PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_trading_index PASSED [ 92%] 2590s tests/test_xtal_calendar.py::TestXTALCalendar::test_deprecated PASSED [ 92%] 2590s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 92%] 2593s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 92%] 2593s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 92%] 2593s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 92%] 2594s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 92%] 2597s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 92%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 2598s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 2599s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 2601s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 2602s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 2604s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 2606s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 93%] 2607s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 93%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 2608s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 2610s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 2610s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 2613s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 2613s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 2613s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 2615s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 94%] 2616s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 94%] 2617s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 94%] 2618s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 94%] 2619s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 94%] 2620s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 94%] 2621s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 95%] 2623s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 95%] 2624s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 95%] 2626s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 95%] 2626s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 95%] 2628s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 95%] 2629s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 95%] 2629s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 95%] 2630s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 95%] 2631s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 95%] 2633s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 95%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 95%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 96%] 2635s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 96%] 2637s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 96%] 2639s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 97%] 2640s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 97%] 2642s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 97%] 2642s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 97%] 2645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 97%] 2645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 97%] 2645s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 97%] 2647s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 97%] 2648s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 97%] 2649s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 97%] 2650s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 97%] 2651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 97%] 2651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 97%] 2651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 97%] 2651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 2651s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 97%] 2652s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 97%] 2654s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 2655s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 97%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 98%] 2656s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 98%] 2657s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 98%] 2657s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 98%] 2657s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 98%] 2657s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 98%] 2660s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [ 98%] 2660s tests/test_xzag_calendar.py::TestXZAGCalendar::test_base_integrity PASSED [ 98%] 2661s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calculated_against_csv PASSED [ 98%] 2661s tests/test_xzag_calendar.py::TestXZAGCalendar::test_start_end PASSED [ 98%] 2661s tests/test_xzag_calendar.py::TestXZAGCalendar::test_invalid_input PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_min PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_max PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sanity_check_session_lengths PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_specification PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_daylight_savings PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[both] PASSED [ 98%] 2663s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[both] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[both] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[both] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-next] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-next] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[left] PASSED [ 98%] 2664s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[left] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[left] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-next] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[right] PASSED [ 98%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[right] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[neither] PASSED [ 99%] 2665s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_has_break PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_regular_holidays_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_holidays_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample_time PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays_time PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample_time PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_open_close_break_start_end PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_has_break PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_next_prev_session PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_offset PASSED [ 99%] 2666s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_session PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_date_to_session PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_open_close PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_in_range PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_has_break PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_window PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_distance PASSED [ 99%] 2667s tests/test_xzag_calendar.py::TestXZAGCalendar::test_trading_index PASSED [ 99%] 2668s tests/test_xzag_calendar.py::TestXZAGCalendar::test_deprecated PASSED [100%] 2668s 2668s ============================= slowest 15 durations ============================= 2668s 34.96s call tests/test_exchange_calendar.py::test_default_calendars 2668s 19.32s setup tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv 2668s 15.57s setup tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv 2668s 9.66s call tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min 2668s 9.03s call tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min 2668s 8.99s call tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min 2668s 8.92s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close 2668s 7.82s setup tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv 2668s 7.05s call tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min 2668s 7.03s setup tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv 2668s 5.70s call tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] 2668s 5.56s call tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] 2668s 4.96s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] 2668s 4.95s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] 2668s 4.95s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] 2668s ========= 9684 passed, 74 deselected, 1 xfailed in 1228.09s (0:20:28) ========== 2668s autopkgtest [23:14:02]: test pybuild-autopkgtest: -----------------------] 2669s autopkgtest [23:14:03]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 2669s pybuild-autopkgtest PASS 2669s autopkgtest [23:14:03]: @@@@@@@@@@@@@@@@@@@@ summary 2669s pybuild-autopkgtest PASS