Source code for pyamr.tests.test_scripts

# Libraries
import os
import pytest
import pathlib
import runpy

from mock import patch

# .. note: When using <runpy>, the patch works so that we avoid
#          running the pyplot.show method but the code run does
#          not count for coverage. When using <os> the opposite
#          happens.

# Find the examples folder
examples = pathlib.Path(__file__, '../../../', 'examples').resolve()
pyamr_core = pathlib.Path(__file__, '../../', 'core').resolve()
pyamr_stats = pathlib.Path(__file__, '../../', 'core/stats').resolve()

# Find all the scripts
scripts_tutorial = (examples / 'tutorial').glob('**/*.py')
scripts_visualisation = (examples / 'visualisation').glob('**/*.py')
scripts_stats = list((pyamr_core / 'stats').glob('**/*.py'))
scripts_core = (pyamr_core / 'stats').glob('*.py')
scripts_metrics = (pyamr_core / 'stats').glob('*.py')

pyamr = pathlib.Path(__file__, '../../').resolve()

# --------------------------------------
# Run scripts
# --------------------------------------
"""
@patch('matplotlib.pyplot.show')
def test_script_run_pyamr(self):
    for f in (pyamr).glob('**/*.py'):
        runpy.run_path(str(f))
"""


[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_metrics(self): for f in (pyamr / 'metrics').glob('**/*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f))
[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_graphics(self): for f in (pyamr / 'graphics').glob('**/*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f))
[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_core(self): for f in (pyamr / 'core').glob('*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f))
[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_core_regression(self): for f in (pyamr / 'core' / 'regression').glob('**/*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f))
[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_core_stats(self): for f in (pyamr / 'core' / 'stats').glob('**/*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f))
[docs]@patch('matplotlib.pyplot.show') def test_script_run_pyamr_core_table(self): for f in (pyamr / 'core' / 'table').glob('**/*.py'): os.system('{} {}'.format('python', str(f)))
#runpy.run_path(str(f)) """ @patch('matplotlib.pyplot.show') def test_script_run_core(self): for f in [pyamr_core / 'sari.py', pyamr_core / 'asai.py', pyamr_core / 'sart.py', pyamr_core / 'mari.py']: runpy.run_path(str(f)) """ """ def test_script_run_stats(self): #for f in [pyamr_stats / 'adfuller.py', # pyamr_stats / 'correlation.py', # pyamr_stats / 'kendall.py', # pyamr_stats / 'kpss.py', # pyamr_stats / 'stationarity.py']: # print(f) # #runpy.run_path(str(f)) # assert 4 == 5 aux = pathlib.Path(__file__, '../../', 'core/stats').resolve() print(aux) assert 4==5 """ """ def test_script_execution_core_stats(): f = pathlib.Path(__file__, '../../', 'core/stats').resolve() print(f / 'adfuller.py') runpy.run_path(str(f / 'adfuller.py')) """ """ @pytest.mark.parametrize('script', scripts_stats) def test_script_execution_core_stats(script): runpy.run_path(str(script)) @pytest.mark.parametrize('script', scripts_core) def test_script_execution_core(script): runpy.run_path(str(script)) """ """ @pytest.mark.parametrize('script', scripts_tutorial) def test_script_execution_widgets(script): runpy.run_path(str(script)) """ """ @patch('matplotlib.pyplot.show') def test_script_run_visualisation_no_show(self): for f in scripts_visualisation: runpy.run_path(str(f)) """ """ @patch('matplotlib.pyplot.show') def test_script_run_examples_no_show(self): for f in examples.glob('**/*.py'): runpy.run_path(str(f)) """ """ @patch('matplotlib.pyplot.show') def test_script_run_examples_tutorials_no_show(self): for f in (examples / 'tutorials').glob('**/*.py'): runpy.run_path(str(f)) """ """ # .. note: For some reason, I have not managed to combine # parametrize and mock together into one single # method. @patch('matplotlib.pyplot.show') def test_script_run_examples_tutorials_no_show(self): for f in (examples / 'tutorials').glob('**/*.py'): runpy.run_path(str(f)) """ """ @patch('matplotlib.pyplot.show') def test_script_run_examples_indexes_no_show(self): for f in (examples / 'indexes').glob('**/*.py'): runpy.run_path(str(f)) @patch('matplotlib.pyplot.show') def test_script_run_examples_forecasting_no_show(self): for f in (examples / 'forecasting').glob('**/*.py'): runpy.run_path(str(f)) @patch('matplotlib.pyplot.show') def test_script_run_examples_indexes_no_show(self): for f in (examples / 'indexes').glob('**/*.py'): runpy.run_path(str(f)) @patch('matplotlib.pyplot.show') def test_script_run_examples_visualization_no_show(self): for f in (examples / 'visualization').glob('**/*.py'): runpy.run_path(str(f)) """