diff options
Diffstat (limited to 'tests_notebook.ipynb')
-rw-r--r-- | tests_notebook.ipynb | 515 |
1 files changed, 515 insertions, 0 deletions
diff --git a/tests_notebook.ipynb b/tests_notebook.ipynb new file mode 100644 index 0000000..1eec5ca --- /dev/null +++ b/tests_notebook.ipynb @@ -0,0 +1,515 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This file is part of the [test suite](./tests) and will be moved there when [nbval#116](https://github.com/computationalmodelling/nbval/issues/116#issuecomment-793148404) is fixed.\n", + "\n", + "See [DEMO.ipynb](DEMO.ipynb) instead for notebook examples." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from functools import partial\n", + "from time import sleep\n", + "\n", + "from tqdm.notebook import tqdm_notebook\n", + "from tqdm.notebook import tnrange\n", + "\n", + "# avoid displaying widgets by default (pollutes output cells)\n", + "tqdm = partial(tqdm_notebook, display=False)\n", + "trange = partial(tnrange, display=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on function display in module tqdm.notebook:\n", + "\n", + "display(self, msg=None, pos=None, close=False, bar_style=None, check_delay=True)\n", + " Use `self.sp` to display `msg` in the specified `pos`.\n", + " \n", + " Consider overloading this function when inheriting to use e.g.:\n", + " `self.some_frontend(**self.format_dict)` instead of `self.sp`.\n", + " \n", + " Parameters\n", + " ----------\n", + " msg : str, optional. What to display (default: `repr(self)`).\n", + " pos : int, optional. Position to `moveto`\n", + " (default: `abs(self.pos)`).\n", + "\n" + ] + } + ], + "source": [ + "help(tqdm_notebook.display)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7c18c038bf964b55941e228503292506", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/9 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "6\n", + "7\n", + "8\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e29668be41ca4e40b16fb98572b333a5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/9 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# NBVAL_TEST_NAME: basic use\n", + "with tqdm_notebook(range(9)) as t:\n", + " for i in t:\n", + " print(i)\n", + "assert t.container.children[1].bar_style == 'success'\n", + "\n", + "t = tqdm_notebook(total=9)\n", + "t.update()\n", + "t.refresh()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 11%|█ | 1/9 [00:00<00:00, 17.73it/s]\n", + " 20%|██ | 1/5 [00:00<00:00, 341.50it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: reset\n", + "print(t)\n", + "t.reset(total=5)\n", + "t.update(1)\n", + "print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_TEST_NAME: bar_style\n", + "assert t.container.children[1].bar_style != 'danger'\n", + "t.close()\n", + "assert t.container.children[1].bar_style == 'danger'" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%| | 0/8 [00:00<?, ?it/s]\n", + " 0%| | 0/8 [00:00<?, ?it/s]\n", + "1\n", + " 0%| | 0/8 [00:00<?, ?it/s]\n", + " 0%| | 0/8 [00:00<?, ?it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: repr\n", + "with trange(1, 9) as t:\n", + " print(t)\n", + " print(t.container)\n", + " it = iter(t)\n", + " print(next(it))\n", + " print(t)\n", + " print(t.container)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "t = trange(9)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%| | 0/9 [00:00<?, ?it/s]\n", + " 0%| | 0/9 [00:00<?, ?it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: display pre\n", + "print(t)\n", + "print(t.container)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "for i in t:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "100%|██████████| 9/9 [00:00<00:00, 132.23it/s]\n", + "100%|##########| 9/9 [00:00<00:00, 131.02it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: display post\n", + "print(t)\n", + "print(t.container)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no total: 0it [00:00, ?it/s]\n", + "no total: 1it [00:00, 47.83it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: no total\n", + "with tqdm(desc=\"no total\") as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%| | 0/9 [00:00<?, ?it/s]\n", + " 11%|███▍ | 1/9 [00:00<00:00, 45.06it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: ncols\n", + "with trange(9, ncols=66) as t:\n", + " print(t)\n", + " for i in t:\n", + " if i == 1:\n", + " break\n", + " print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%| | 0/1 [00:00<?, ?it/s]\n", + "100%|██████████| 1/1 [00:00<00:00, 54.60it/s]\n", + " 0%| | 0/9 [00:00<?, ?it/s]\n", + " 11%|█ | 1/9 [00:00<00:00, 57.43it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: leave\n", + "def is_hidden(widget):\n", + " return ('hidden', False, None) == (\n", + " getattr(getattr(widget, \"layout\", None), \"visibility\", 'visible'), # ipyw>=8\n", + " getattr(widget, \"visible\", False), getattr(widget, \"_ipython_display_\", None)) # ipyw<8\n", + "\n", + "assert not is_hidden(t.container)\n", + "for total in (1, 9):\n", + " with tqdm(total=total, leave=False) as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + " assert total != 1 or is_hidden(t.container)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0it [00:00, ?it/s]\n", + "1it [00:00, 47.87it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: no total\n", + "with tqdm() as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "disable: None\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n", + "100%|██████████| 1/1 [00:00<00:00, 53.24it/s]\n", + " 0%| | 0/9 [00:00<?, ?it/s]\n", + " 11%|█ | 1/9 [00:00<00:00, 1752.01it/s]\n", + "0it [00:00, ?it/s]\n", + "1it [00:00, 35.88it/s]\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n", + "100%|██████████| 1/1 [00:00<00:00, 1880.85it/s]\n", + "disable: True\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n", + " 0%| | 0/9 [00:00<?, ?it/s]\n", + " 0%| | 0/9 [00:00<?, ?it/s]\n", + "0it [00:00, ?it/s]\n", + "0it [00:00, ?it/s]\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n", + " 0%| | 0/1 [00:00<?, ?it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: reset and disable\n", + "for disable in (None, True):\n", + " print(\"disable:\", disable)\n", + " with tqdm(total=1, disable=disable) as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + "\n", + " t.reset(total=9)\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + " with tqdm(disable=disable) as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + "\n", + " t.reset(total=1)\n", + " print(t)\n", + " t.update()\n", + " print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%|| 0/1 [00:00<?, ?it/s]\n", + "100%|| 1/1 [00:00<00:00, 32.57it/s]\n", + " 0%| \n", + "100%|██████████\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: bar_format\n", + "with tqdm(total=1, bar_format='{l_bar}{r_bar}') as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + "\n", + "with tqdm(total=1, bar_format='{l_bar}{bar}') as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0%|\u001b[33m \u001b[0m| 0/1 [00:00<?, ?it/s]\n", + "100%|\u001b[33m██████████\u001b[0m| 1/1 [00:00<00:00, 47.14it/s]\n" + ] + } + ], + "source": [ + "# NBVAL_TEST_NAME: colour\n", + "assert t.colour != 'yellow'\n", + "with tqdm(total=1, colour='yellow') as t:\n", + " print(t)\n", + " t.update()\n", + " print(t)\n", + " assert t.colour == 'yellow'" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_TEST_NAME: delay no trigger\n", + "with tqdm_notebook(total=1, delay=10) as t:\n", + " t.update()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe102eedbb4f437783fbd0cff32f6613", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "100%|##########| 1/1 [00:00<00:00, 7.68it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# NBVAL_TEST_NAME: delay trigger\n", + "with tqdm_notebook(total=1, delay=0.1) as t:\n", + " sleep(0.1)\n", + " t.update()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:tqdm]", + "language": "python", + "name": "conda-env-tqdm-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython" + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} |