diff --git a/github/workflow/github-actions.yml b/github/workflow/github-actions.yml new file mode 100644 index 0000000..990a31b --- /dev/null +++ b/github/workflow/github-actions.yml @@ -0,0 +1,29 @@ +# copy this file to .github/workflows/github-actions.yml in this repository +name: learn-github-actions +on: [push] +jobs: + test-my-python-code: + # select the os-image these jobs should run on + runs-on: ubuntu-latest + + # define the Python versions that should be used + strategy: + matrix: + python-version: [2.7, 3.8] + + steps: + # step to check out the repository + - uses: actions/checkout@v2 + + # step to create the Python environment + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + # step to install the dependencies + - name: Install dependencies + run: "pip install -r requirements.txt" + + # step to run tests + - run: pytest -v diff --git a/test_mean.py b/test_mean.py new file mode 100644 index 0000000..edad333 --- /dev/null +++ b/test_mean.py @@ -0,0 +1,37 @@ +from mean import * + +def test_ints(): + ""intigers"" + num_list = [1,2,3,4,5] + obs = mean(num_list) + exp = 3 + assert obs == exp + +def test_zero(): + ""integers"" + num_list=[0,2,4,6] + obs = mean(num_list) + exp = 3 + assert obs == exp + +def test_double(): + # This one will fail in Python 2 + num_list=[1,2,3,4] + obs = mean(num_list) + exp = 2.5 + assert obs == exp + +def test_long(): + big = 100000000 + obs = mean(range(1,big)) + exp = big/2.0 + assert obs == exp + +def test_complex(): + # given that complex numbers are an unordered field + # the arithmetic mean of complex numbers is meaningless + num_list = [2 + 3j, 3 + 4j, -32 - 2j] + obs = mean(num_list) + exp = NotImplemented + assert obs == exp +