DynamicsAndNeuralSystems / pyspi

Comparative analysis of pairwise interactions in multivariate time series.
https://time-series-features.gitbook.io/pyspi/
GNU General Public License v3.0
198 stars 26 forks source link

Add basic unit testing #49

Closed jmoo2880 closed 7 months ago

jmoo2880 commented 7 months ago
  1. I've added a GitHub workflows folder with a Git Actions .yaml which will create a virtual Linux environment in which to test pyspi via. pytest unit tests. The tests currently run in a an Ubuntu environment with python 3.8. Caching of the pip dependencies was also used to speed up testing. Some minor changes were made to the dependencies pulled from the requirements.txt file to overcome the commonly encountered pandas issue on Linux. In particular, we modify the pandas and numpy versions to 1.3.3 and 1.22.0, respectively. The motivation here was to find a workaround without having to modify the original requirements.txt file which may have unintended ramifications for Windows/Mac users. This seems to resolves the pandas error for Linux systems.
  2. Added a standard normal dataset to the 'data' folder in preparation for SPI unit testing (next step).
  3. A tests folder which will contain all of the unit test code, including unit basic unit tests for the calculator and data objects (e.g., does instantiate?). Next step will be to incorporate SPI unit tests, however this may require a bit more nuance (particularly with stochastic SPIs/inconsistent outputs, skipping tests for SPIs that don't compute for whatever reason, etc).