Skip to content

Commit

Permalink
Add unit testing and example (#29)
Browse files Browse the repository at this point in the history
* push initial unit testing workflow

* config example unit testing
  • Loading branch information
rxng8 authored Jun 27, 2024
1 parent 32c9490 commit 7d016ed
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/python-package-conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Python Package using Conda

on: [push]

jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: '3.10'
- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
- name: Install current library and dependencies
run: |
pip install -e .
# - name: Lint with flake8
# run: |
# conda install flake8
# # stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
conda install pytest
pytest
6 changes: 6 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# content of pytest.ini
[pytest]
python_files = *_test.py
python_classes = *Test
python_functions = test_* *_test
testpaths = tests
22 changes: 22 additions & 0 deletions tests/compartment_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

import pathlib
import sys

# NOTE: VN: Since we have installed using `pip install -e .` in the workflow file, we
# might not need to manually add to the path
sys.path.append(str(pathlib.Path(__file__).parent.parent))

# import ngcsimlib

class CompartmentTest:

def test_import(self):
success = False
try:
from ngcsimlib.compartment import Compartment
success = True
except:
success = False
assert success, "Import failed!"


0 comments on commit 7d016ed

Please sign in to comment.